From 4ea5ef45dd9d3c30da74b98af77c0bab1616e1ee Mon Sep 17 00:00:00 2001 From: Christopher Di Bella Date: Tue, 11 Aug 2026 22:39:30 +0000 Subject: [PATCH] Skip `ImplWitnessTable::elements_id` when generating fingerprints (#7629) Implementing interface modifiers causes an infinite loop when generating fingerprints because the witness value generates a fingerprint that's dependent on something dependent on the witness value. We've debugged this to the witness table's `elements_id` field. This hack is a workaround for creating a new block type whose value is not codependent with its identity. Co-authored-by: Richard Smith Co-authored-by: Richard Smith --- .../check/testdata/alias/export_name.carbon | 12 +- toolchain/check/testdata/alias/import.carbon | 24 +- toolchain/check/testdata/array/basics.carbon | 18 +- .../check/testdata/array/bound_values.carbon | 30 +- toolchain/check/testdata/array/import.carbon | 12 +- .../testdata/array/index_not_literal.carbon | 42 +- .../array/init_dependent_bound.carbon | 24 +- .../testdata/as/adapter_conversion.carbon | 26 +- toolchain/check/testdata/as/basics.carbon | 10 +- toolchain/check/testdata/as/var_init.carbon | 6 +- .../testdata/basics/include_in_dumps.carbon | 30 +- toolchain/check/testdata/basics/parens.carbon | 14 +- .../check/testdata/builtins/bool/eq.carbon | 6 +- .../check/testdata/builtins/bool/neq.carbon | 6 +- .../testdata/builtins/float/convert.carbon | 52 +- .../builtins/float/convert_checked.carbon | 70 +- .../builtins/float/convert_int.carbon | 30 +- .../builtins/int/convert_char_literal.carbon | 24 +- .../builtins/int/convert_checked.carbon | 16 +- .../builtins/int/convert_float.carbon | 16 +- .../check/testdata/builtins/print/char.carbon | 14 +- .../check/testdata/builtins/print/int.carbon | 14 +- toolchain/check/testdata/choice/basic.carbon | 36 +- .../class/access/access_modifers.carbon | 66 +- .../class/access/inheritance_access.carbon | 68 +- .../testdata/class/adapter/adapt_copy.carbon | 94 +- .../testdata/class/adapter/init_adapt.carbon | 28 +- toolchain/check/testdata/class/basic.carbon | 26 +- .../class/complete_in_member_fn.carbon | 12 +- .../class/field/compound_field.carbon | 28 +- .../testdata/class/field/field_access.carbon | 36 +- .../class/field/field_access_in_value.carbon | 36 +- .../class/field/field_initializer.carbon | 12 +- .../check/testdata/class/field/static.carbon | 22 +- .../testdata/class/forward_declared.carbon | 12 +- .../check/testdata/class/generic/adapt.carbon | 50 +- .../class/generic/base_is_generic.carbon | 24 +- .../check/testdata/class/generic/call.carbon | 32 +- .../generic/complete_in_conversion.carbon | 12 +- .../check/testdata/class/generic/field.carbon | 12 +- .../testdata/class/generic/import.carbon | 36 +- .../check/testdata/class/generic/init.carbon | 32 +- .../class/generic/member_access.carbon | 138 +- .../testdata/class/generic/member_type.carbon | 224 +- .../testdata/class/generic/stringify.carbon | 46 +- toolchain/check/testdata/class/import.carbon | 34 +- .../testdata/class/import_indirect.carbon | 72 +- .../testdata/class/import_member_cycle.carbon | 8 +- .../testdata/class/import_struct_cycle.carbon | 20 +- .../testdata/class/inheritance/base.carbon | 28 +- .../class/inheritance/base_field.carbon | 12 +- .../class/inheritance/base_method.carbon | 12 +- .../class/inheritance/derived_to_base.carbon | 42 +- .../class/inheritance/import_base.carbon | 16 +- .../class/inheritance/self_conversion.carbon | 24 +- toolchain/check/testdata/class/init.carbon | 28 +- toolchain/check/testdata/class/init_as.carbon | 30 +- toolchain/check/testdata/class/local.carbon | 24 +- .../method/call_without_method_syntax.carbon | 14 +- .../check/testdata/class/method/method.carbon | 32 +- .../class/method/static_method.carbon | 8 +- .../testdata/class/method/virtual.carbon | 34 +- toolchain/check/testdata/class/nested.carbon | 64 +- .../check/testdata/class/nested_name.carbon | 20 +- toolchain/check/testdata/class/reorder.carbon | 12 +- .../testdata/class/reorder_qualified.carbon | 18 +- toolchain/check/testdata/class/scope.carbon | 14 +- .../check/testdata/class/self/raw_self.carbon | 16 +- .../testdata/class/self/raw_self_type.carbon | 20 +- .../check/testdata/class/self/self.carbon | 14 +- .../testdata/class/self/self_type.carbon | 20 +- .../class/syntactic_merge_literal.carbon | 28 +- toolchain/check/testdata/const/basics.carbon | 56 +- toolchain/check/testdata/const/import.carbon | 14 +- toolchain/check/testdata/deduce/array.carbon | 60 +- .../check/testdata/deduce/conversion.carbon | 12 +- .../check/testdata/deduce/generic_type.carbon | 24 +- .../check/testdata/deduce/int_float.carbon | 24 +- toolchain/check/testdata/deduce/tuple.carbon | 26 +- .../value_with_type_through_access.carbon | 36 +- .../check/testdata/eval/aggregates.carbon | 76 +- toolchain/check/testdata/eval/binding.carbon | 30 +- toolchain/check/testdata/eval/call.carbon | 16 +- toolchain/check/testdata/eval/symbolic.carbon | 12 +- .../facet/call_combined_impl_witness.carbon | 56 +- ...t_class_type_to_generic_facet_value.carbon | 22 +- ..._value_to_generic_facet_value_value.carbon | 48 +- ...t_value_as_type_knows_original_type.carbon | 8 +- .../convert_facet_value_to_itself.carbon | 4 +- ..._facet_value_to_narrowed_facet_type.carbon | 38 +- ...t_facet_value_value_to_blanket_impl.carbon | 16 +- ..._value_to_generic_facet_value_value.carbon | 38 +- ...convert_facet_value_value_to_itself.carbon | 4 +- ...t_class_type_to_generic_facet_value.carbon | 8 +- ...uction_uses_runtime_type_conversion.carbon | 6 +- toolchain/check/testdata/for/actual.carbon | 70 +- toolchain/check/testdata/for/basic.carbon | 52 +- toolchain/check/testdata/for/pattern.carbon | 420 +-- .../testdata/function/builtin/call.carbon | 34 +- .../builtin/call_from_operator.carbon | 154 +- .../function/builtin/fail_redefined.carbon | 14 +- .../testdata/function/builtin/method.carbon | 56 +- .../call/fail_return_type_mismatch.carbon | 12 +- .../check/testdata/function/call/form.carbon | 48 +- .../check/testdata/function/call/i32.carbon | 24 +- .../function/call/more_param_ir.carbon | 14 +- .../testdata/function/call/params_one.carbon | 12 +- .../function/call/params_one_comma.carbon | 14 +- .../testdata/function/call/params_two.carbon | 14 +- .../function/call/params_two_comma.carbon | 18 +- .../call/prefer_unqualified_lookup.carbon | 12 +- .../check/testdata/function/call/ref.carbon | 20 +- .../function/declaration/import.carbon | 70 +- .../function/definition/import.carbon | 28 +- .../testdata/function/generic/call.carbon | 68 +- .../call_method_on_generic_facet.carbon | 22 +- .../testdata/function/generic/deduce.carbon | 94 +- .../generic/deduce_nested_facet_value.carbon | 52 +- .../function/generic/param_in_type.carbon | 12 +- .../function/generic/resolve_used.carbon | 18 +- .../testdata/generic/dependent_param.carbon | 90 +- .../generic/dot_self_symbolic_type.carbon | 8 +- toolchain/check/testdata/generic/local.carbon | 12 +- .../testdata/generic/template/convert.carbon | 50 +- .../generic/template/member_access.carbon | 36 +- .../check/testdata/generic/var_param.carbon | 12 +- toolchain/check/testdata/global/basics.carbon | 8 +- toolchain/check/testdata/if/basics.carbon | 14 +- toolchain/check/testdata/if_expr/basic.carbon | 24 +- .../if_expr/constant_condition.carbon | 50 +- .../testdata/if_expr/control_flow.carbon | 26 +- .../check/testdata/if_expr/nested.carbon | 30 +- .../check/testdata/if_expr/struct.carbon | 14 +- .../testdata/impl/assoc_const_self.carbon | 44 +- toolchain/check/testdata/impl/compound.carbon | 50 +- .../check/testdata/impl/error_recovery.carbon | 6 +- .../testdata/impl/extend_impl_generic.carbon | 46 +- .../testdata/impl/fail_call_invalid.carbon | 12 +- .../impl/fail_extend_impl_scope.carbon | 12 +- .../impl/fail_extend_impl_type_as.carbon | 6 +- .../testdata/impl/fail_impl_as_scope.carbon | 32 +- .../impl/fail_impl_bad_assoc_fn.carbon | 374 +-- .../impl/fail_self_type_mismatch.carbon | 112 +- .../check/testdata/impl/forward_decls.carbon | 56 +- .../impl/generic_redeclaration.carbon | 64 +- toolchain/check/testdata/impl/impl_as.carbon | 8 +- .../impl/impl_assoc_const_with_prelude.carbon | 48 +- .../check/testdata/impl/impl_forall.carbon | 8 +- .../check/testdata/impl/impl_thunk.carbon | 36 +- .../impl/impl_thunk_min_prelude.carbon | 28 +- .../testdata/impl/import_compound.carbon | 54 +- .../testdata/impl/import_extend_impl.carbon | 26 +- .../check/testdata/impl/import_generic.carbon | 110 +- .../impl/import_interface_assoc_const.carbon | 26 +- .../check/testdata/impl/import_self.carbon | 12 +- .../testdata/impl/import_self_specific.carbon | 104 +- .../check/testdata/impl/import_thunk.carbon | 50 +- .../testdata/impl/import_use_generic.carbon | 38 +- .../check/testdata/impl/interface_args.carbon | 80 +- .../check/testdata/impl/lookup/alias.carbon | 14 +- .../impl/lookup/canonical_query_self.carbon | 70 +- .../lookup/fail_todo_undefined_impl.carbon | 42 +- .../check/testdata/impl/lookup/generic.carbon | 218 +- .../testdata/impl/lookup/impl_forall.carbon | 42 +- .../check/testdata/impl/lookup/import.carbon | 228 +- .../impl/lookup/instance_method.carbon | 12 +- ...g_generic_inside_rewrite_constraint.carbon | 182 +- ...pecialization_with_symbolic_rewrite.carbon | 120 +- .../testdata/impl/lookup/specific_args.carbon | 48 +- .../testdata/impl/lookup/transitive.carbon | 24 +- .../testdata/impl/multiple_extend.carbon | 82 +- .../check/testdata/impl/self_in_class.carbon | 8 +- .../testdata/impl/self_in_signature.carbon | 88 +- .../impl/todo_impl_with_unrelated_fn.carbon | 8 +- .../testdata/impl/use_assoc_entity.carbon | 128 +- .../index/array_element_access.carbon | 32 +- .../check/testdata/index/expr_category.carbon | 46 +- .../index/fail_array_large_index.carbon | 30 +- .../index/fail_array_non_int_indexing.carbon | 24 +- .../fail_array_out_of_bound_access.carbon | 26 +- .../testdata/index/fail_expr_category.carbon | 36 +- .../index/fail_negative_indexing.carbon | 34 +- .../interface/compound_member_access.carbon | 48 +- .../testdata/interface/default_fn.carbon | 12 +- .../fail_todo_assoc_const_default.carbon | 12 +- .../check/testdata/interface/final.carbon | 100 +- .../check/testdata/interface/generic.carbon | 8 +- .../testdata/interface/generic_import.carbon | 8 +- .../testdata/interface/generic_method.carbon | 184 +- .../interface/generic_vs_params.carbon | 16 +- .../check/testdata/interface/import.carbon | 20 +- .../check/testdata/interface/local.carbon | 12 +- .../testdata/interface/member_lookup.carbon | 12 +- .../check/testdata/interface/observe.carbon | 6 +- .../interface/todo_define_not_default.carbon | 12 +- .../interop/cpp/basics/import/import.carbon | 12 +- .../interop/cpp/basics/import/indirect.carbon | 48 +- .../interop/cpp/class/import/base.carbon | 26 +- .../cpp/class/import/constructor.carbon | 130 +- .../interop/cpp/class/import/field.carbon | 76 +- .../interop/cpp/class/import/template.carbon | 38 +- .../testdata/interop/cpp/enum/convert.carbon | 12 +- .../cpp/function/export/generic.carbon | 112 +- .../import/arithmetic_types_bridged.carbon | 384 +-- .../import/arithmetic_types_direct.carbon | 146 +- .../interop/cpp/function/import/class.carbon | 16 +- .../cpp/function/import/constexpr.carbon | 24 +- .../cpp/function/import/decayed_param.carbon | 162 +- .../cpp/function/import/default_arg.carbon | 68 +- .../cpp/function/import/extern_c.carbon | 24 +- .../cpp/function/import/full_semir.carbon | 36 +- .../cpp/function/import/function.carbon | 14 +- .../cpp/function/import/in_template.carbon | 12 +- .../interop/cpp/function/import/inline.carbon | 40 +- .../cpp/function/import/pointer.carbon | 396 +-- .../function/import/qualified_param.carbon | 12 +- .../cpp/function/import/reference.carbon | 58 +- .../interop/cpp/function/import/struct.carbon | 16 +- .../interop/cpp/function/import/union.carbon | 16 +- .../cpp/function/import/variadic.carbon | 22 +- .../cpp/function/import/void_pointer.carbon | 132 +- .../testdata/interop/cpp/impls/copy.carbon | 12 +- .../interop/cpp/impls/implicit_as.carbon | 40 +- .../testdata/interop/cpp/macros/macros.carbon | 104 +- .../cpp/operators/arithmetic_operators.carbon | 16 +- .../interop/cpp/operators/operators.carbon | 20 +- .../cpp/primitive_types/arithmetic.carbon | 104 +- .../long_and_long_long.darwin.carbon | 2250 +++++++-------- .../long_and_long_long.llp64.carbon | 2482 ++++++++--------- .../long_and_long_long.lp64.carbon | 2384 ++++++++-------- .../cpp/primitive_types/void_pointer.carbon | 100 +- .../testdata/interop/cpp/range_for.carbon | 1564 +++++------ .../cpp/stdlib/initializer_list.carbon | 28 +- .../cpp/template/argument_count.carbon | 42 +- .../template/template_template_param.carbon | 8 +- .../interop/cpp/template/type_param.carbon | 16 +- .../interop/cpp/type_alias/import.carbon | 38 +- .../testdata/let/compile_time_bindings.carbon | 12 +- .../testdata/let/fail_duplicate_decl.carbon | 14 +- .../check/testdata/let/fail_modifiers.carbon | 26 +- toolchain/check/testdata/let/global.carbon | 24 +- toolchain/check/testdata/let/local.carbon | 12 +- .../check/testdata/let/shadowed_decl.carbon | 24 +- .../check/testdata/main_run/return_i32.carbon | 24 +- .../testdata/named_constraint/convert.carbon | 6 +- .../named_constraint/import_type_and.carbon | 10 +- .../testdata/namespace/add_to_import.carbon | 12 +- .../check/testdata/namespace/alias.carbon | 12 +- .../namespace/fail_decl_in_alias.carbon | 12 +- .../merging_with_indirections.carbon | 8 +- .../check/testdata/namespace/shadow.carbon | 26 +- .../testdata/operators/builtin/and.carbon | 18 +- .../operators/builtin/assignment.carbon | 46 +- .../fail_and_or_not_in_function.carbon | 20 +- .../fail_assignment_to_non_assignable.carbon | 66 +- .../fail_redundant_compound_access.carbon | 26 +- .../fail_type_mismatch_assignment.carbon | 12 +- .../testdata/operators/builtin/or.carbon | 24 +- .../operators/builtin/unary_op.carbon | 14 +- .../testdata/operators/overloaded/add.carbon | 12 +- .../operators/overloaded/bit_and.carbon | 12 +- .../overloaded/bit_complement.carbon | 6 +- .../operators/overloaded/bit_or.carbon | 12 +- .../operators/overloaded/bit_xor.carbon | 12 +- .../testdata/operators/overloaded/dec.carbon | 6 +- .../testdata/operators/overloaded/div.carbon | 12 +- .../testdata/operators/overloaded/eq.carbon | 12 +- .../overloaded/fail_assign_non_ref.carbon | 12 +- .../operators/overloaded/implicit_as.carbon | 38 +- .../testdata/operators/overloaded/inc.carbon | 6 +- .../operators/overloaded/index.carbon | 8 +- .../overloaded/index_with_prelude.carbon | 12 +- .../operators/overloaded/left_shift.carbon | 12 +- .../testdata/operators/overloaded/mod.carbon | 12 +- .../testdata/operators/overloaded/mul.carbon | 12 +- .../operators/overloaded/negate.carbon | 6 +- .../operators/overloaded/ordered.carbon | 24 +- .../operators/overloaded/right_shift.carbon | 12 +- .../overloaded/string_indexing.carbon | 34 +- .../testdata/operators/overloaded/sub.carbon | 12 +- .../check/testdata/package_expr/syntax.carbon | 50 +- .../fail_conflict_no_namespaces.carbon | 8 +- .../packages/implicit_imports_prelude.carbon | 24 +- .../check/testdata/packages/raw_core.carbon | 24 +- .../testdata/pointer/address_of_deref.carbon | 24 +- .../testdata/pointer/address_of_lvalue.carbon | 46 +- toolchain/check/testdata/pointer/basic.carbon | 36 +- .../check/testdata/pointer/import.carbon | 36 +- .../testdata/pointer/nested_const.carbon | 34 +- toolchain/check/testdata/pointer/types.carbon | 22 +- .../primitives/import_symbolic.carbon | 96 +- .../testdata/primitives/type_literals.carbon | 120 +- .../return/code_after_return_value.carbon | 12 +- .../testdata/return/fail_call_in_type.carbon | 12 +- .../fail_return_with_returned_var.carbon | 16 +- .../return/fail_returned_var_shadow.carbon | 22 +- .../return/fail_returned_var_type.carbon | 10 +- .../testdata/return/fail_var_in_type.carbon | 12 +- .../return/import_convert_function.carbon | 216 +- .../check/testdata/return/returned_var.carbon | 16 +- .../testdata/return/returned_var_scope.carbon | 20 +- toolchain/check/testdata/return/struct.carbon | 12 +- toolchain/check/testdata/return/tuple.carbon | 14 +- toolchain/check/testdata/return/value.carbon | 12 +- .../struct/fail_field_name_mismatch.carbon | 24 +- .../struct/fail_member_access_type.carbon | 10 +- .../struct/fail_non_member_access.carbon | 12 +- .../struct/fail_too_few_values.carbon | 12 +- toolchain/check/testdata/struct/import.carbon | 44 +- .../struct/literal_member_access.carbon | 12 +- .../testdata/struct/member_access.carbon | 38 +- .../check/testdata/struct/one_entry.carbon | 24 +- .../testdata/struct/partially_const.carbon | 26 +- .../testdata/struct/reorder_fields.carbon | 24 +- .../testdata/struct/tuple_as_element.carbon | 28 +- .../check/testdata/struct/two_entries.carbon | 32 +- .../testdata/tuple/element_access.carbon | 66 +- toolchain/check/testdata/tuple/import.carbon | 46 +- .../testdata/tuple/in_place_tuple_init.carbon | 26 +- .../check/testdata/var/export_name.carbon | 8 +- toolchain/check/testdata/var/lifetime.carbon | 10 +- .../check/testdata/var/var_pattern.carbon | 12 +- .../compile/optimize/optimize_debug.carbon | 2 +- .../compile/optimize/optimize_default.carbon | 2 +- .../compile/optimize/optimize_none.carbon | 12 +- .../compile/optimize/optimize_size.carbon | 12 +- .../compile/optimize/optimize_speed.carbon | 2 +- toolchain/lower/testdata/array/iterate.carbon | 86 +- toolchain/lower/testdata/class/generic.carbon | 92 +- toolchain/lower/testdata/for/bindings.carbon | 74 +- .../lower/testdata/for/break_continue.carbon | 76 +- toolchain/lower/testdata/for/for.carbon | 74 +- .../function/generic/call_basic.carbon | 78 +- .../function/generic/call_basic_depth.carbon | 12 +- .../function/generic/call_dedup_ptr.carbon | 12 +- .../function/generic/call_deref_ptr.carbon | 46 +- .../call_different_associated_const.carbon | 12 +- .../generic/call_different_impls.carbon | 12 +- .../call_different_impls_with_const.carbon | 12 +- .../generic/call_different_specific.carbon | 46 +- .../generic/call_impl_function.carbon | 6 +- .../function/generic/call_method.carbon | 6 +- .../generic/call_recursive_basic.carbon | 36 +- .../generic/call_recursive_diamond.carbon | 94 +- .../generic/call_recursive_impl.carbon | 16 +- .../generic/call_recursive_mutual.carbon | 46 +- .../generic/call_recursive_sccs_deep.carbon | 154 +- .../generic/call_specific_in_class.carbon | 78 +- ...ross_library_name_collision_private.carbon | 22 +- .../function/generic/local_function.carbon | 12 +- .../generic/type_representation.carbon | 30 +- .../lower/testdata/impl/import_facet.carbon | 16 +- .../lower/testdata/impl/import_thunk.carbon | 12 +- .../lower/testdata/impl/period_self.carbon | 8 +- toolchain/lower/testdata/impl/thunk.carbon | 16 +- .../lower/testdata/interface/where.carbon | 6 +- .../cpp/class/import/destructor.carbon | 18 +- .../cpp/function/export/generic.carbon | 24 +- .../lower/testdata/interop/cpp/nullptr.carbon | 26 +- .../lower/testdata/interop/cpp/pointer.carbon | 78 +- .../lower/testdata/interop/cpp/void.carbon | 78 +- .../lower/testdata/operators/increment.carbon | 12 +- .../lower/testdata/primitives/char.carbon | 303 +- .../testdata/primitives/char_literals.carbon | 38 +- .../testdata/primitives/int_types.carbon | 48 +- .../lower/testdata/primitives/optional.carbon | 226 +- .../testdata/var/destroy_control_flow.carbon | 4 +- toolchain/sem_ir/inst_fingerprinter.cpp | 10 +- 368 files changed, 11718 insertions(+), 11723 deletions(-) diff --git a/toolchain/check/testdata/alias/export_name.carbon b/toolchain/check/testdata/alias/export_name.carbon index a848ca7594c7..005ace4560ea 100644 --- a/toolchain/check/testdata/alias/export_name.carbon +++ b/toolchain/check/testdata/alias/export_name.carbon @@ -297,12 +297,12 @@ var d: D* = &c; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b22: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.c19: %ptr.as.Copy.impl.Op.type.b22 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c6a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c6a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.439: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.03d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.439, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c19 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c19, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -320,7 +320,7 @@ var d: D* = &c; // CHECK:STDOUT: %Main.import_ref.0a8 = import_ref Main//export_orig, inst{{[0-9A-F]+}} [indirect], unloaded // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -367,7 +367,7 @@ var d: D* = &c; // CHECK:STDOUT: assign file.%c.var, %.loc7_1 // CHECK:STDOUT: %c.ref: ref %C = name_ref c, file.%c [concrete = file.%c.var] // CHECK:STDOUT: %addr: %ptr.6b6 = addr_of %c.ref [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0: %.a68 = impl_witness_access constants.%Copy.impl_witness.65f, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] +// CHECK:STDOUT: %impl.elem0: %.03d = impl_witness_access constants.%Copy.impl_witness.1ba, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %addr, %impl.elem0 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%C) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.2: = bound_method %addr, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/alias/import.carbon b/toolchain/check/testdata/alias/import.carbon index a94c65740051..4055e8b34eb0 100644 --- a/toolchain/check/testdata/alias/import.carbon +++ b/toolchain/check/testdata/alias/import.carbon @@ -79,10 +79,10 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.b96: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e9d: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.19b: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.876: %T.as.DefaultOrUnformed.impl.Op.type.19b = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.b96) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.e9d) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.876, @T.as.DefaultOrUnformed.impl.Op(%ptr) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -94,7 +94,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -130,7 +130,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr, (constants.%DefaultOrUnformed.impl_witness.b96) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr, (constants.%DefaultOrUnformed.impl_witness.e9d) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc8_10.1: %DefaultOrUnformed.type = converted constants.%ptr, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc8_10.1 [concrete = constants.%ptr] // CHECK:STDOUT: %.loc8_10.2: type = converted %.loc8_10.1, %as_type [concrete = constants.%ptr] @@ -154,10 +154,10 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.c92: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.75f, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e9d: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.19b: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.876: %T.as.DefaultOrUnformed.impl.Op.type.19b = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.c92) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.e9d) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.876, @T.as.DefaultOrUnformed.impl.Op(%ptr) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -174,7 +174,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %Main.import_ref.e47 = import_ref Main//class1, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Main.import_ref.c41: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Main//class1, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.75f = impl_witness_table (%Main.import_ref.c41), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Main.import_ref.c41), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -211,7 +211,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr, (constants.%DefaultOrUnformed.impl_witness.c92) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr, (constants.%DefaultOrUnformed.impl_witness.e9d) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc8_16.1: %DefaultOrUnformed.type = converted constants.%ptr, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc8_16.1 [concrete = constants.%ptr] // CHECK:STDOUT: %.loc8_16.2: type = converted %.loc8_16.1, %as_type [concrete = constants.%ptr] @@ -235,10 +235,10 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.b96: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e9d: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.19b: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.876: %T.as.DefaultOrUnformed.impl.Op.type.19b = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.b96) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.e9d) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.876, @T.as.DefaultOrUnformed.impl.Op(%ptr) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -254,7 +254,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %Main.import_ref.0a8 = import_ref Main//class2, inst{{[0-9A-F]+}} [indirect], unloaded // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -287,7 +287,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr, (constants.%DefaultOrUnformed.impl_witness.b96) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr, (constants.%DefaultOrUnformed.impl_witness.e9d) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc6_22.1: %DefaultOrUnformed.type = converted constants.%ptr, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc6_22.1 [concrete = constants.%ptr] // CHECK:STDOUT: %.loc6_22.2: type = converted %.loc6_22.1, %as_type [concrete = constants.%ptr] diff --git a/toolchain/check/testdata/array/basics.carbon b/toolchain/check/testdata/array/basics.carbon index bfaca68854e8..628316971bdd 100644 --- a/toolchain/check/testdata/array/basics.carbon +++ b/toolchain/check/testdata/array/basics.carbon @@ -260,15 +260,15 @@ var a: array(1, 1); // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.3c6: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%array_type) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.b2c: %DefaultOrUnformed.type = facet_value %array_type, (%DefaultOrUnformed.impl_witness.3c6) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.cd3: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%array_type) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.20f: %DefaultOrUnformed.type = facet_value %array_type, (%DefaultOrUnformed.impl_witness.cd3) [concrete] // CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type, %empty_tuple.type) [concrete] // CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%empty_tuple, %empty_tuple, %empty_tuple) [concrete] // CHECK:STDOUT: %pattern_type.8c1: type = pattern_type %tuple.type [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.8c1 = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.8c1 = var_pattern %b.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.762: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%tuple.type) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.38b: %DefaultOrUnformed.type = facet_value %tuple.type, (%DefaultOrUnformed.impl_witness.762) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.b33: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%tuple.type) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.f59: %DefaultOrUnformed.type = facet_value %tuple.type, (%DefaultOrUnformed.impl_witness.b33) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc8_3.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc7 [concrete] @@ -277,14 +277,14 @@ var a: array(1, 1); // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%array_type, (constants.%DefaultOrUnformed.impl_witness.3c6) [concrete = constants.%DefaultOrUnformed.facet.b2c] -// CHECK:STDOUT: %.loc7_29.1: %DefaultOrUnformed.type = converted constants.%array_type, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.b2c] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%array_type, (constants.%DefaultOrUnformed.impl_witness.cd3) [concrete = constants.%DefaultOrUnformed.facet.20f] +// CHECK:STDOUT: %.loc7_29.1: %DefaultOrUnformed.type = converted constants.%array_type, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.20f] // CHECK:STDOUT: %as_type.loc7: type = facet_access_type %.loc7_29.1 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc7_29.2: type = converted %.loc7_29.1, %as_type.loc7 [concrete = constants.%array_type] // CHECK:STDOUT: @@ -303,8 +303,8 @@ var a: array(1, 1); // CHECK:STDOUT: %a.var_patt: %pattern_type.035 = var_pattern %a.patt [concrete = constants.%a.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %tuple.type = var_storage %b.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%tuple.type, (constants.%DefaultOrUnformed.impl_witness.762) [concrete = constants.%DefaultOrUnformed.facet.38b] -// CHECK:STDOUT: %.loc8_29.1: %DefaultOrUnformed.type = converted constants.%tuple.type, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.38b] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%tuple.type, (constants.%DefaultOrUnformed.impl_witness.b33) [concrete = constants.%DefaultOrUnformed.facet.f59] +// CHECK:STDOUT: %.loc8_29.1: %DefaultOrUnformed.type = converted constants.%tuple.type, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.f59] // CHECK:STDOUT: %as_type.loc8: type = facet_access_type %.loc8_29.1 [concrete = constants.%tuple.type] // CHECK:STDOUT: %.loc8_29.2: type = converted %.loc8_29.1, %as_type.loc8 [concrete = constants.%tuple.type] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/array/bound_values.carbon b/toolchain/check/testdata/array/bound_values.carbon index b0aea2bb8235..5e72461df1f4 100644 --- a/toolchain/check/testdata/array/bound_values.carbon +++ b/toolchain/check/testdata/array/bound_values.carbon @@ -75,8 +75,8 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %AddWith.type.832: type = facet_type <@AddWith, @AddWith(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %AddWith.impl_witness: = impl_witness imports.%AddWith.impl_witness_table [concrete] // CHECK:STDOUT: %AddWith.facet: %AddWith.type.832 = facet_value Core.IntLiteral, (%AddWith.impl_witness) [concrete] -// CHECK:STDOUT: %AddWith.WithSelf.Op.type.8da: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(Core.IntLiteral, %AddWith.facet) [concrete] -// CHECK:STDOUT: %.cef: type = fn_type_with_self_type %AddWith.WithSelf.Op.type.8da, %AddWith.facet [concrete] +// CHECK:STDOUT: %AddWith.WithSelf.Op.type.a21: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(Core.IntLiteral, %AddWith.facet) [concrete] +// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %AddWith.WithSelf.Op.type.a21, %AddWith.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.AddWith.impl.Op.type: type = fn_type @Core.IntLiteral.as.AddWith.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.AddWith.impl.Op: %Core.IntLiteral.as.AddWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.AddWith.impl.Op.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.AddWith.impl.Op [concrete] @@ -95,7 +95,7 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem1: %.cef = impl_witness_access constants.%AddWith.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.AddWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.fbc = impl_witness_access constants.%AddWith.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.AddWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %int_1, %impl.elem1 [concrete = constants.%Core.IntLiteral.as.AddWith.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.AddWith.impl.Op.call: init Core.IntLiteral = call %bound_method(%int_1, %int_2) [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc6_18.1: Core.IntLiteral = value_of_initializer %Core.IntLiteral.as.AddWith.impl.Op.call [concrete = constants.%int_3.1ba] @@ -121,12 +121,12 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.fb3: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.e51(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.f86: %Core.IntLiteral.as.As.impl.Convert.type.fb3 = struct_value () [symbolic] // CHECK:STDOUT: %From.fe9: Core.IntLiteral = symbolic_binding From, 0 [symbolic] -// CHECK:STDOUT: %As.impl_witness.384: = impl_witness imports.%As.impl_witness_table.8fa, @Core.IntLiteral.as.As.impl.e51(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.57a: = impl_witness imports.%As.impl_witness_table.637, @Core.IntLiteral.as.As.impl.e51(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.afd: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.e51(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.776: %Core.IntLiteral.as.As.impl.Convert.type.afd = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.8bf = facet_value Core.IntLiteral, (%As.impl_witness.384) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.adb: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u32, %As.facet) [concrete] -// CHECK:STDOUT: %.74e: type = fn_type_with_self_type %As.WithSelf.Convert.type.adb, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.8bf = facet_value Core.IntLiteral, (%As.impl_witness.57a) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.e67: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u32, %As.facet) [concrete] +// CHECK:STDOUT: %.7ed: type = fn_type_with_self_type %As.WithSelf.Convert.type.e67, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_3.1ba, %Core.IntLiteral.as.As.impl.Convert.776 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.776, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.407: = bound_method %int_3.1ba, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -134,12 +134,12 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.3ec: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.3d3(%From.fe9) [symbolic] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.06e: %UInt.as.ImplicitAs.impl.Convert.type.3ec = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.4e9: = impl_witness imports.%ImplicitAs.impl_witness_table.a83, @UInt.as.ImplicitAs.impl.3d3(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.4f8: = impl_witness imports.%ImplicitAs.impl_witness_table.465, @UInt.as.ImplicitAs.impl.3d3(%int_32) [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.7ad: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.3d3(%int_32) [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.364: %UInt.as.ImplicitAs.impl.Convert.type.7ad = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.6c0: %ImplicitAs.type.7cb = facet_value %u32, (%ImplicitAs.impl_witness.4e9) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.74c: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.6c0) [concrete] -// CHECK:STDOUT: %.c85: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.74c, %ImplicitAs.facet.6c0 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.04c: %ImplicitAs.type.7cb = facet_value %u32, (%ImplicitAs.impl_witness.4f8) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7b3: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.04c) [concrete] +// CHECK:STDOUT: %.8bd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7b3, %ImplicitAs.facet.04c [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.543, %UInt.as.ImplicitAs.impl.Convert.364 [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %UInt.as.ImplicitAs.impl.Convert.364, @UInt.as.ImplicitAs.impl.Convert.1(%int_32) [concrete] // CHECK:STDOUT: %bound_method.51a: = bound_method %int_3.543, %UInt.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -148,9 +148,9 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.59a: @Core.IntLiteral.as.As.impl.e51.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.fb3) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.e51.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.f86)] -// CHECK:STDOUT: %As.impl_witness_table.8fa = impl_witness_table (%Core.import_ref.59a), @Core.IntLiteral.as.As.impl.e51 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.637 = impl_witness_table (%Core.import_ref.59a), @Core.IntLiteral.as.As.impl.e51 [concrete] // CHECK:STDOUT: %Core.import_ref.baa: @UInt.as.ImplicitAs.impl.3d3.%UInt.as.ImplicitAs.impl.Convert.type (%UInt.as.ImplicitAs.impl.Convert.type.3ec) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @UInt.as.ImplicitAs.impl.3d3.%UInt.as.ImplicitAs.impl.Convert (constants.%UInt.as.ImplicitAs.impl.Convert.06e)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a83 = impl_witness_table (%Core.import_ref.baa), @UInt.as.ImplicitAs.impl.3d3 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.465 = impl_witness_table (%Core.import_ref.baa), @UInt.as.ImplicitAs.impl.3d3 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -158,14 +158,14 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc6: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %u32: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %impl.elem0.loc6_18.1: %.74e = impl_witness_access constants.%As.impl_witness.384, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.776] +// CHECK:STDOUT: %impl.elem0.loc6_18.1: %.7ed = impl_witness_access constants.%As.impl_witness.57a, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.776] // CHECK:STDOUT: %bound_method.loc6_18.1: = bound_method %int_3.loc6, %impl.elem0.loc6_18.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6_18.1: = specific_function %impl.elem0.loc6_18.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_18.2: = bound_method %int_3.loc6, %specific_fn.loc6_18.1 [concrete = constants.%bound_method.407] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %u32 = call %bound_method.loc6_18.2(%int_3.loc6) [concrete = constants.%int_3.543] // CHECK:STDOUT: %.loc6_18.1: %u32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_3.543] // CHECK:STDOUT: %.loc6_18.2: %u32 = converted %int_3.loc6, %.loc6_18.1 [concrete = constants.%int_3.543] -// CHECK:STDOUT: %impl.elem0.loc6_18.2: %.c85 = impl_witness_access constants.%ImplicitAs.impl_witness.4e9, element0 [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.364] +// CHECK:STDOUT: %impl.elem0.loc6_18.2: %.8bd = impl_witness_access constants.%ImplicitAs.impl_witness.4f8, element0 [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.364] // CHECK:STDOUT: %bound_method.loc6_18.3: = bound_method %.loc6_18.2, %impl.elem0.loc6_18.2 [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6_18.2: = specific_function %impl.elem0.loc6_18.2, @UInt.as.ImplicitAs.impl.Convert.1(constants.%int_32) [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_18.4: = bound_method %.loc6_18.2, %specific_fn.loc6_18.2 [concrete = constants.%bound_method.51a] diff --git a/toolchain/check/testdata/array/import.carbon b/toolchain/check/testdata/array/import.carbon index 387c507d9bbc..d3e20fe55531 100644 --- a/toolchain/check/testdata/array/import.carbon +++ b/toolchain/check/testdata/array/import.carbon @@ -65,12 +65,12 @@ fn F() -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc6_12.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] @@ -79,7 +79,7 @@ fn F() -> i32 { // CHECK:STDOUT: imports { // CHECK:STDOUT: %Main.F: %F.type = import_ref Main//library, F, loaded [concrete = constants.%F] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @G(%n.param: %i32) -> out %return.param: %i32 { @@ -91,7 +91,7 @@ fn F() -> i32 { // CHECK:STDOUT: %.loc6_12.2: ref %array_type = temporary %.loc6_12.1, %F.call // CHECK:STDOUT: %.loc6_15.1: ref %i32 = array_index %.loc6_12.2, %n.ref // CHECK:STDOUT: %.loc6_15.2: %i32 = acquire_value %.loc6_15.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_15.1: = bound_method %.loc6_15.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_15.2: = bound_method %.loc6_15.2, %specific_fn diff --git a/toolchain/check/testdata/array/index_not_literal.carbon b/toolchain/check/testdata/array/index_not_literal.carbon index 8551e9ca560c..afd9e3ca4f6a 100644 --- a/toolchain/check/testdata/array/index_not_literal.carbon +++ b/toolchain/check/testdata/array/index_not_literal.carbon @@ -61,12 +61,12 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] @@ -77,12 +77,12 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -102,9 +102,9 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%arr.param: %array_type, %i.param: %i32) -> out %return.param: %i32 { @@ -114,7 +114,7 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %.loc4_15.1: ref %array_type = value_as_ref %arr.ref // CHECK:STDOUT: %.loc4_15.2: ref %i32 = array_index %.loc4_15.1, %i.ref // CHECK:STDOUT: %.loc4_15.3: %i32 = acquire_value %.loc4_15.2 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc4_15.1: = bound_method %.loc4_15.3, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc4_15.2: = bound_method %.loc4_15.3, %specific_fn @@ -130,7 +130,7 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc10_20.1: %tuple.type.37f = tuple_literal (%int_1.loc10_13, %int_2.loc10_16, %int_3) [concrete = constants.%tuple.2d5] // CHECK:STDOUT: %int_1.loc10_23: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc10_20.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_20.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_20.1: = bound_method %int_1.loc10_13, %impl.elem0.loc10_20.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc10_20.1: = specific_function %impl.elem0.loc10_20.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_20.2: = bound_method %int_1.loc10_13, %specific_fn.loc10_20.1 [concrete = constants.%bound_method.953] @@ -140,7 +140,7 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %.loc10_20.4: ref %i32 = array_index %.loc10_20.3, %int_0 // CHECK:STDOUT: %.loc10_20.5: init %i32 to %.loc10_20.4 = in_place_init %.loc10_20.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc10_20.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_20.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_20.3: = bound_method %int_2.loc10_16, %impl.elem0.loc10_20.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc10_20.2: = specific_function %impl.elem0.loc10_20.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_20.4: = bound_method %int_2.loc10_16, %specific_fn.loc10_20.2 [concrete = constants.%bound_method.3cb] @@ -149,7 +149,7 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %int_1.loc10_20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc10_20.7: ref %i32 = array_index %.loc10_20.3, %int_1.loc10_20 // CHECK:STDOUT: %.loc10_20.8: init %i32 to %.loc10_20.7 = in_place_init %.loc10_20.6 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc10_20.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_20.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_20.5: = bound_method %int_3, %impl.elem0.loc10_20.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc10_20.3: = specific_function %impl.elem0.loc10_20.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_20.6: = bound_method %int_3, %specific_fn.loc10_20.3 [concrete = constants.%bound_method.763] @@ -162,7 +162,7 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %.loc10_20.13: init %array_type = converted %.loc10_20.1, %.loc10_20.12 [concrete = constants.%array] // CHECK:STDOUT: %.loc10_20.14: ref %array_type = temporary %.loc10_20.3, %.loc10_20.13 [concrete = constants.%.981] // CHECK:STDOUT: %.loc10_20.15: %array_type = acquire_value %.loc10_20.14 [concrete = constants.%array] -// CHECK:STDOUT: %impl.elem0.loc10_23: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_23: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_23.1: = bound_method %int_1.loc10_23, %impl.elem0.loc10_23 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc10_23: = specific_function %impl.elem0.loc10_23, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_23.2: = bound_method %int_1.loc10_23, %specific_fn.loc10_23 [concrete = constants.%bound_method.953] @@ -202,12 +202,12 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -216,7 +216,7 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%a.param: %array_type) -> out %return.param: %empty_struct_type { @@ -227,7 +227,7 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %struct: %struct_type.index = struct_value (%int_2) [concrete = constants.%struct] // CHECK:STDOUT: %.loc6_23.2: %struct_type.index = converted %.loc6_23.1, %struct [concrete = constants.%struct] // CHECK:STDOUT: %.loc6_24.1: Core.IntLiteral = struct_access %.loc6_23.2, element0 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_24.1: = bound_method %.loc6_24.1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_24.2: = bound_method %.loc6_24.1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/array/init_dependent_bound.carbon b/toolchain/check/testdata/array/init_dependent_bound.carbon index 6bb9bf4b8b5a..171b00d1efb5 100644 --- a/toolchain/check/testdata/array/init_dependent_bound.carbon +++ b/toolchain/check/testdata/array/init_dependent_bound.carbon @@ -185,31 +185,31 @@ fn H() { G(3); } // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] // CHECK:STDOUT: %int_3.410: %i32 = int_value 3 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.657: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.657) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet.657 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8de: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.8de) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet.8de [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.410, %Int.as.ImplicitAs.impl.Convert.69e [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.545: = bound_method %int_3.410, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %inst.splice_block: = inst_value [concrete] { -// CHECK:STDOUT: %.23f: Core.IntLiteral = splice_block %.49c [concrete = %int_3.1ba] { -// CHECK:STDOUT: %impl.elem0: %.b08 = impl_witness_access %ImplicitAs.impl_witness.416, element0 [concrete = %Int.as.ImplicitAs.impl.Convert.69e] -// CHECK:STDOUT: %bound_method.bd7: = bound_method %int_3.410, %impl.elem0 [concrete = %Int.as.ImplicitAs.impl.Convert.bound] +// CHECK:STDOUT: %.774: Core.IntLiteral = splice_block %.60a [concrete = %int_3.1ba] { +// CHECK:STDOUT: %impl.elem0: %.e3f = impl_witness_access %ImplicitAs.impl_witness.590, element0 [concrete = %Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %bound_method.1cb: = bound_method %int_3.410, %impl.elem0 [concrete = %Int.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete = %Int.as.ImplicitAs.impl.Convert.specific_fn] -// CHECK:STDOUT: %bound_method.4bf: = bound_method %int_3.410, %specific_fn [concrete = %bound_method.545] -// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.call: init Core.IntLiteral = call %bound_method.4bf(%int_3.410) [concrete = %int_3.1ba] -// CHECK:STDOUT: %.382: Core.IntLiteral = value_of_initializer %Int.as.ImplicitAs.impl.Convert.call [concrete = %int_3.1ba] -// CHECK:STDOUT: %.49c: Core.IntLiteral = converted %int_3.410, %.382 [concrete = %int_3.1ba] +// CHECK:STDOUT: %bound_method.ae8: = bound_method %int_3.410, %specific_fn [concrete = %bound_method.545] +// CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.call: init Core.IntLiteral = call %bound_method.ae8(%int_3.410) [concrete = %int_3.1ba] +// CHECK:STDOUT: %.238: Core.IntLiteral = value_of_initializer %Int.as.ImplicitAs.impl.Convert.call [concrete = %int_3.1ba] +// CHECK:STDOUT: %.60a: Core.IntLiteral = converted %int_3.410, %.238 [concrete = %int_3.1ba] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @G(%N.loc5_16.2: %i32) { diff --git a/toolchain/check/testdata/as/adapter_conversion.carbon b/toolchain/check/testdata/as/adapter_conversion.carbon index e2acfafd1a91..6f130c6c6c81 100644 --- a/toolchain/check/testdata/as/adapter_conversion.carbon +++ b/toolchain/check/testdata/as/adapter_conversion.carbon @@ -247,12 +247,12 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.03e: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.e7f: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.e79: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.8a4: %Core.IntLiteral.as.As.impl.Convert.type.e79 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.03e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8ea: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %As.WithSelf.Convert.type.8ea, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.e7f) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.d02: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] +// CHECK:STDOUT: %.453: type = fn_type_with_self_type %As.WithSelf.Convert.type.d02, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.8a4 [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.8a4, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] @@ -264,7 +264,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -284,7 +284,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc9_15.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_15.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -347,12 +347,12 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -367,7 +367,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -386,7 +386,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc14_34.1: %struct_type.x.y.4cf = struct_literal (%int_1, %int_2) [concrete = constants.%struct] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] -// CHECK:STDOUT: %impl.elem0.loc14_34.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc14_34.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_34.1: = bound_method %int_1, %impl.elem0.loc14_34.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc14_34.1: = specific_function %impl.elem0.loc14_34.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_34.2: = bound_method %int_1, %specific_fn.loc14_34.1 [concrete = constants.%bound_method.953] @@ -395,7 +395,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: %.loc14_34.3: ref %A = temporary_storage // CHECK:STDOUT: %.loc14_34.4: ref %i32 = class_element_access %.loc14_34.3, element0 // CHECK:STDOUT: %.loc14_34.5: init %i32 to %.loc14_34.4 = in_place_init %.loc14_34.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc14_34.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc14_34.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_34.3: = bound_method %int_2, %impl.elem0.loc14_34.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc14_34.2: = specific_function %impl.elem0.loc14_34.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_34.4: = bound_method %int_2, %specific_fn.loc14_34.2 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/as/basics.carbon b/toolchain/check/testdata/as/basics.carbon index cf0517179db7..7f9d5ca37d46 100644 --- a/toolchain/check/testdata/as/basics.carbon +++ b/toolchain/check/testdata/as/basics.carbon @@ -389,13 +389,13 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %struct.948: %struct_type.x = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %X.val: %X = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %As.type.f20: type = facet_type <@As, @As(%Y)> [concrete] -// CHECK:STDOUT: %As.impl_witness.915: = impl_witness @X.as.As.impl.%As.impl_witness_table [concrete] +// CHECK:STDOUT: %As.impl_witness.647: = impl_witness @X.as.As.impl.%As.impl_witness_table [concrete] // CHECK:STDOUT: %X.as.As.impl.Convert.type: type = fn_type @X.as.As.impl.Convert [concrete] // CHECK:STDOUT: %X.as.As.impl.Convert: %X.as.As.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %As.facet.9dc: %As.type.f20 = facet_value %X, (%As.impl_witness.915) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.f49: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Y, %As.facet.9dc) [concrete] +// CHECK:STDOUT: %As.facet.9fd: %As.type.f20 = facet_value %X, (%As.impl_witness.647) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.373: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Y, %As.facet.9fd) [concrete] // CHECK:STDOUT: %n.patt: %pattern_type.7ab = value_binding_pattern n [concrete] -// CHECK:STDOUT: %.db2: type = fn_type_with_self_type %As.WithSelf.Convert.type.f49, %As.facet.9dc [concrete] +// CHECK:STDOUT: %.926: type = fn_type_with_self_type %As.WithSelf.Convert.type.373, %As.facet.9fd [concrete] // CHECK:STDOUT: %X.as.As.impl.Convert.bound: = bound_method %X.val, %X.as.As.impl.Convert [concrete] // CHECK:STDOUT: %.650: ref %X = temporary invalid, %X.val [concrete] // CHECK:STDOUT: } @@ -423,7 +423,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %.loc19_21.6: init %X to %.loc19_21.2 = class_init (%.loc19_21.5) [concrete = constants.%X.val] // CHECK:STDOUT: %.loc19_23.1: init %X = converted %.loc19_21.1, %.loc19_21.6 [concrete = constants.%X.val] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y] -// CHECK:STDOUT: %impl.elem0: %.db2 = impl_witness_access constants.%As.impl_witness.915, element0 [concrete = constants.%X.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0: %.926 = impl_witness_access constants.%As.impl_witness.647, element0 [concrete = constants.%X.as.As.impl.Convert] // CHECK:STDOUT: %bound_method: = bound_method %.loc19_23.1, %impl.elem0 [concrete = constants.%X.as.As.impl.Convert.bound] // CHECK:STDOUT: %.loc19_29.1: ref %Y = temporary_storage // CHECK:STDOUT: %.loc19_23.2: ref %X = temporary %.loc19_21.2, %.loc19_23.1 [concrete = constants.%.650] diff --git a/toolchain/check/testdata/as/var_init.carbon b/toolchain/check/testdata/as/var_init.carbon index a8537ad5dcf1..1fe90300a1be 100644 --- a/toolchain/check/testdata/as/var_init.carbon +++ b/toolchain/check/testdata/as/var_init.carbon @@ -39,11 +39,11 @@ fn Convert(unused t: ()) { // CHECK:STDOUT: %empty_tuple.type.as.ImplicitAs.impl.Convert.type: type = fn_type @empty_tuple.type.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %empty_tuple.type.as.ImplicitAs.impl.Convert: %empty_tuple.type.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7cc = facet_value %empty_tuple.type, (%ImplicitAs.impl_witness) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8de: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%X, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dd7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%X, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.6cb = ref_binding_pattern x [concrete] // CHECK:STDOUT: %x.var_patt: %pattern_type.6cb = var_pattern %x.patt [concrete] -// CHECK:STDOUT: %.ce8: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8de, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %.b8c: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dd7, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %empty_tuple.type.as.ImplicitAs.impl.Convert.bound: = bound_method %empty_tuple, %empty_tuple.type.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc12_3.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] @@ -53,7 +53,7 @@ fn Convert(unused t: ()) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %x.var: ref %X = var_storage %x.var_patt // CHECK:STDOUT: %.loc12_22.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %impl.elem0: %.ce8 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%empty_tuple.type.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0: %.b8c = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%empty_tuple.type.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method: = bound_method %.loc12_22.1, %impl.elem0 [concrete = constants.%empty_tuple.type.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %.loc12_3.1: ref %X = splice_block %x.var {} // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] diff --git a/toolchain/check/testdata/basics/include_in_dumps.carbon b/toolchain/check/testdata/basics/include_in_dumps.carbon index f4e4eefecdd4..b932ff4a21ae 100644 --- a/toolchain/check/testdata/basics/include_in_dumps.carbon +++ b/toolchain/check/testdata/basics/include_in_dumps.carbon @@ -135,8 +135,8 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: %self.param_patt.303: %pattern_type.98b = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.49a: %pattern_type.98b = at_binding_pattern self, %self.param_patt.303 [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.Op.type.194: type = fn_type @I.WithSelf.Op, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.Op.95d: %I.WithSelf.Op.type.194 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.Op.type.28d: type = fn_type @I.WithSelf.Op, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.Op.204: %I.WithSelf.Op.type.28d = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -198,8 +198,8 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.Op.type => constants.%I.WithSelf.Op.type.194 -// CHECK:STDOUT: %I.WithSelf.Op => constants.%I.WithSelf.Op.95d +// CHECK:STDOUT: %I.WithSelf.Op.type => constants.%I.WithSelf.Op.type.28d +// CHECK:STDOUT: %I.WithSelf.Op => constants.%I.WithSelf.Op.204 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.Op(constants.%I.facet) { @@ -234,9 +234,9 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.421 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.Op.type.06d: type = fn_type @I.WithSelf.Op, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.Op.c74: %I.WithSelf.Op.type.06d = struct_value () [concrete] -// CHECK:STDOUT: %.536: type = fn_type_with_self_type %I.WithSelf.Op.type.06d, %I.facet [concrete] +// CHECK:STDOUT: %I.WithSelf.Op.type.08e: type = fn_type @I.WithSelf.Op, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.Op.864: %I.WithSelf.Op.type.08e = struct_value () [concrete] +// CHECK:STDOUT: %.983: type = fn_type_with_self_type %I.WithSelf.Op.type.08e, %I.facet [concrete] // CHECK:STDOUT: %C.as.I.impl.Op.type: type = fn_type @C.as.I.impl.Op [concrete] // CHECK:STDOUT: %C.as.I.impl.Op: %C.as.I.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -255,7 +255,7 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: %Main.import_ref.e59c42.2: %I.type = import_ref Main//included_with_range, loc7_13, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %Main.import_ref.223 = import_ref Main//included_with_range, loc7_13, unloaded // CHECK:STDOUT: %Main.import_ref.421: @I.WithSelf.%I.WithSelf.Op.type (%I.WithSelf.Op.type.351) = import_ref Main//included_with_range, loc8_14, loaded [symbolic = @I.WithSelf.%I.WithSelf.Op (constants.%I.WithSelf.Op.fcf)] -// CHECK:STDOUT: %Main.import_ref.b48: = import_ref Main//included_with_range, loc13_15, loaded [concrete = constants.%I.impl_witness] +// CHECK:STDOUT: %Main.import_ref.62f: = import_ref Main//included_with_range, loc13_15, loaded [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %Main.import_ref.335: type = import_ref Main//included_with_range, loc13_8, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.c3f: type = import_ref Main//included_with_range, loc13_13, loaded [concrete = constants.%I.type] // CHECK:STDOUT: %Main.import_ref.341: %C.as.I.impl.Op.type = import_ref Main//included_with_range, loc14_24, loaded [concrete = constants.%C.as.I.impl.Op] @@ -292,7 +292,7 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.I.impl: imports.%Main.import_ref.335 as imports.%Main.import_ref.c3f [from "exclude/included_with_range.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.b48 +// CHECK:STDOUT: witness = imports.%Main.import_ref.62f // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C [from "exclude/included_with_range.carbon"] { @@ -307,7 +307,7 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: %c.ref: %C = name_ref c, %c // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %Op.ref: %I.assoc_type = name_ref Op, imports.%Main.import_ref.ddc [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.536 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.983 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %C.as.I.impl.Op.call: init %empty_tuple.type = call %bound_method(%c.ref) // CHECK:STDOUT: return @@ -343,8 +343,8 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.Op.type => constants.%I.WithSelf.Op.type.06d -// CHECK:STDOUT: %I.WithSelf.Op => constants.%I.WithSelf.Op.c74 +// CHECK:STDOUT: %I.WithSelf.Op.type => constants.%I.WithSelf.Op.type.08e +// CHECK:STDOUT: %I.WithSelf.Op => constants.%I.WithSelf.Op.864 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- import_excluded.carbon @@ -365,8 +365,8 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.421 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.Op.type.06d: type = fn_type @I.WithSelf.Op, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %.536: type = fn_type_with_self_type %I.WithSelf.Op.type.06d, %I.facet [concrete] +// CHECK:STDOUT: %I.WithSelf.Op.type.08e: type = fn_type @I.WithSelf.Op, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %.983: type = fn_type_with_self_type %I.WithSelf.Op.type.08e, %I.facet [concrete] // CHECK:STDOUT: %C.as.I.impl.Op.type: type = fn_type @C.as.I.impl.Op [concrete] // CHECK:STDOUT: %C.as.I.impl.Op: %C.as.I.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -408,7 +408,7 @@ fn F(c: C) { c.(I.Op)(); } // CHECK:STDOUT: %c.ref: %C = name_ref c, %c // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %Op.ref: %I.assoc_type = name_ref Op, imports.%Main.import_ref.ddc [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.536 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.983 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %C.as.I.impl.Op.call: init %empty_tuple.type = call %bound_method(%c.ref) // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/basics/parens.carbon b/toolchain/check/testdata/basics/parens.carbon index c73e73191773..e7b13e23f1fd 100644 --- a/toolchain/check/testdata/basics/parens.carbon +++ b/toolchain/check/testdata/basics/parens.carbon @@ -31,12 +31,12 @@ var b: i32 = ((2)); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -59,7 +59,7 @@ var b: i32 = ((2)); // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -88,7 +88,7 @@ var b: i32 = ((2)); // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc14: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc14: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_1.1: = bound_method %int_1, %impl.elem0.loc14 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_1.2: = bound_method %int_1, %specific_fn.loc14 [concrete = constants.%bound_method.953] @@ -96,7 +96,7 @@ var b: i32 = ((2)); // CHECK:STDOUT: %.loc14: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc14 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: assign file.%a.var, %.loc14 // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_1.1: = bound_method %int_2, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_1.2: = bound_method %int_2, %specific_fn.loc15 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/builtins/bool/eq.carbon b/toolchain/check/testdata/builtins/bool/eq.carbon index 71709f16706a..0e0456babe62 100644 --- a/toolchain/check/testdata/builtins/bool/eq.carbon +++ b/toolchain/check/testdata/builtins/bool/eq.carbon @@ -101,8 +101,8 @@ var d: C(false == false) = True(); // CHECK:STDOUT: %EqWith.type.539: type = facet_type <@EqWith, @EqWith(bool)> [concrete] // CHECK:STDOUT: %EqWith.impl_witness: = impl_witness imports.%EqWith.impl_witness_table [concrete] // CHECK:STDOUT: %EqWith.facet: %EqWith.type.539 = facet_value bool, (%EqWith.impl_witness) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.f32: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(bool, %EqWith.facet) [concrete] -// CHECK:STDOUT: %.670: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.f32, %EqWith.facet [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.f71: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(bool, %EqWith.facet) [concrete] +// CHECK:STDOUT: %.4ef: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.f71, %EqWith.facet [concrete] // CHECK:STDOUT: %bool.as.EqWith.impl.Equal.type: type = fn_type @bool.as.EqWith.impl.Equal [concrete] // CHECK:STDOUT: %bool.as.EqWith.impl.Equal: %bool.as.EqWith.impl.Equal.type = struct_value () [concrete] // CHECK:STDOUT: %bool.as.EqWith.impl.Equal.bound.e7c: = bound_method %true, %bool.as.EqWith.impl.Equal [concrete] @@ -122,7 +122,7 @@ var d: C(false == false) = True(); // CHECK:STDOUT: %C.ref.loc10: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %true.loc10_10: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: %true.loc10_18: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0.loc10: %.670 = impl_witness_access constants.%EqWith.impl_witness, element0 [concrete = constants.%bool.as.EqWith.impl.Equal] +// CHECK:STDOUT: %impl.elem0.loc10: %.4ef = impl_witness_access constants.%EqWith.impl_witness, element0 [concrete = constants.%bool.as.EqWith.impl.Equal] // CHECK:STDOUT: %bound_method.loc10: = bound_method %true.loc10_10, %impl.elem0.loc10 [concrete = constants.%bool.as.EqWith.impl.Equal.bound.e7c] // CHECK:STDOUT: %bool.as.EqWith.impl.Equal.call.loc10: init bool = call %bound_method.loc10(%true.loc10_10, %true.loc10_18) [concrete = constants.%true] // CHECK:STDOUT: %.loc10_22.2: bool = value_of_initializer %bool.as.EqWith.impl.Equal.call.loc10 [concrete = constants.%true] diff --git a/toolchain/check/testdata/builtins/bool/neq.carbon b/toolchain/check/testdata/builtins/bool/neq.carbon index d84eac11ff72..5e96b97150c8 100644 --- a/toolchain/check/testdata/builtins/bool/neq.carbon +++ b/toolchain/check/testdata/builtins/bool/neq.carbon @@ -103,8 +103,8 @@ var d: C(false != false) = False(); // CHECK:STDOUT: %EqWith.type.539: type = facet_type <@EqWith, @EqWith(bool)> [concrete] // CHECK:STDOUT: %EqWith.impl_witness: = impl_witness imports.%EqWith.impl_witness_table [concrete] // CHECK:STDOUT: %EqWith.facet: %EqWith.type.539 = facet_value bool, (%EqWith.impl_witness) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.e09: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(bool, %EqWith.facet) [concrete] -// CHECK:STDOUT: %.72d: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.e09, %EqWith.facet [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.779: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(bool, %EqWith.facet) [concrete] +// CHECK:STDOUT: %.db4: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.779, %EqWith.facet [concrete] // CHECK:STDOUT: %bool.as.EqWith.impl.NotEqual.type: type = fn_type @bool.as.EqWith.impl.NotEqual [concrete] // CHECK:STDOUT: %bool.as.EqWith.impl.NotEqual: %bool.as.EqWith.impl.NotEqual.type = struct_value () [concrete] // CHECK:STDOUT: %bool.as.EqWith.impl.NotEqual.bound.598: = bound_method %true, %bool.as.EqWith.impl.NotEqual [concrete] @@ -124,7 +124,7 @@ var d: C(false != false) = False(); // CHECK:STDOUT: %C.ref.loc10: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %true.loc10_10: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: %true.loc10_18: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem1.loc10: %.72d = impl_witness_access constants.%EqWith.impl_witness, element1 [concrete = constants.%bool.as.EqWith.impl.NotEqual] +// CHECK:STDOUT: %impl.elem1.loc10: %.db4 = impl_witness_access constants.%EqWith.impl_witness, element1 [concrete = constants.%bool.as.EqWith.impl.NotEqual] // CHECK:STDOUT: %bound_method.loc10: = bound_method %true.loc10_10, %impl.elem1.loc10 [concrete = constants.%bool.as.EqWith.impl.NotEqual.bound.598] // CHECK:STDOUT: %bool.as.EqWith.impl.NotEqual.call.loc10: init bool = call %bound_method.loc10(%true.loc10_10, %true.loc10_18) [concrete = constants.%false] // CHECK:STDOUT: %.loc10_22.2: bool = value_of_initializer %bool.as.EqWith.impl.NotEqual.call.loc10 [concrete = constants.%false] diff --git a/toolchain/check/testdata/builtins/float/convert.carbon b/toolchain/check/testdata/builtins/float/convert.carbon index d9c2e5d1b0e5..501b78737839 100644 --- a/toolchain/check/testdata/builtins/float/convert.carbon +++ b/toolchain/check/testdata/builtins/float/convert.carbon @@ -314,12 +314,12 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.af3: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.819: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -370,7 +370,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Float64ToFloat64.ref.loc6: %Float64ToFloat64.type = name_ref Float64ToFloat64, imports.%Main.Float64ToFloat64 [concrete = constants.%Float64ToFloat64] // CHECK:STDOUT: %float.loc6: Core.FloatLiteral = float_literal_value 0e-1 [concrete = constants.%float.1f7] -// CHECK:STDOUT: %impl.elem0.loc6: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc6: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc6_31.1: = bound_method %float.loc6, %impl.elem0.loc6 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.af3] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_31.2: = bound_method %float.loc6, %specific_fn.loc6 [concrete = constants.%bound_method.819] @@ -380,7 +380,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Float64ToFloat64.call.loc6: init %f64.dc1 = call %Float64ToFloat64.ref.loc6(%.loc6_31.2) [concrete = constants.%float.895] // CHECK:STDOUT: %Float64ToFloat64.ref.loc7: %Float64ToFloat64.type = name_ref Float64ToFloat64, imports.%Main.Float64ToFloat64 [concrete = constants.%Float64ToFloat64] // CHECK:STDOUT: %float.loc7: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0.loc7: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc7: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc7_31.1: = bound_method %float.loc7, %impl.elem0.loc7 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.757] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_31.2: = bound_method %float.loc7, %specific_fn.loc7 [concrete = constants.%bound_method.143] @@ -390,7 +390,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Float64ToFloat64.call.loc7: init %f64.dc1 = call %Float64ToFloat64.ref.loc7(%.loc7_31.2) [concrete = constants.%float.3b9] // CHECK:STDOUT: %Float64ToFloat64.ref.loc8: %Float64ToFloat64.type = name_ref Float64ToFloat64, imports.%Main.Float64ToFloat64 [concrete = constants.%Float64ToFloat64] // CHECK:STDOUT: %float.loc8: Core.FloatLiteral = float_literal_value 10e307 [concrete = constants.%float.12a] -// CHECK:STDOUT: %impl.elem0.loc8: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc8: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc8_31.1: = bound_method %float.loc8, %impl.elem0.loc8 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.2af] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_31.2: = bound_method %float.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.18f] @@ -415,12 +415,12 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.2b0: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.ff6: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -471,7 +471,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Float32ToFloat32.ref.loc6: %Float32ToFloat32.type = name_ref Float32ToFloat32, imports.%Main.Float32ToFloat32 [concrete = constants.%Float32ToFloat32] // CHECK:STDOUT: %float.loc6: Core.FloatLiteral = float_literal_value 0e-1 [concrete = constants.%float.1f7] -// CHECK:STDOUT: %impl.elem0.loc6: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc6: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc6_31.1: = bound_method %float.loc6, %impl.elem0.loc6 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.2b0] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_31.2: = bound_method %float.loc6, %specific_fn.loc6 [concrete = constants.%bound_method.ff6] @@ -481,7 +481,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Float32ToFloat32.call.loc6: init %f32.c73 = call %Float32ToFloat32.ref.loc6(%.loc6_31.2) [concrete = constants.%float.5cd] // CHECK:STDOUT: %Float32ToFloat32.ref.loc7: %Float32ToFloat32.type = name_ref Float32ToFloat32, imports.%Main.Float32ToFloat32 [concrete = constants.%Float32ToFloat32] // CHECK:STDOUT: %float.loc7: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0.loc7: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc7: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc7_31.1: = bound_method %float.loc7, %impl.elem0.loc7 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.565] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_31.2: = bound_method %float.loc7, %specific_fn.loc7 [concrete = constants.%bound_method.3e4] @@ -491,7 +491,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Float32ToFloat32.call.loc7: init %f32.c73 = call %Float32ToFloat32.ref.loc7(%.loc7_31.2) [concrete = constants.%float.943] // CHECK:STDOUT: %Float32ToFloat32.ref.loc8: %Float32ToFloat32.type = name_ref Float32ToFloat32, imports.%Main.Float32ToFloat32 [concrete = constants.%Float32ToFloat32] // CHECK:STDOUT: %float.loc8: Core.FloatLiteral = float_literal_value 10e37 [concrete = constants.%float.8d2] -// CHECK:STDOUT: %impl.elem0.loc8: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc8: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc8_31.1: = bound_method %float.loc8, %impl.elem0.loc8 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.b87] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_31.2: = bound_method %float.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.4fc] @@ -518,12 +518,12 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.757: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.143: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -564,7 +564,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Float64ToFloat32.ref.loc7: %Float64ToFloat32.type = name_ref Float64ToFloat32, imports.%Main.Float64ToFloat32 [concrete = constants.%Float64ToFloat32] // CHECK:STDOUT: %float.loc7: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0.loc7: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc7: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc7_31.1: = bound_method %float.loc7, %impl.elem0.loc7 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.757] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_31.2: = bound_method %float.loc7, %specific_fn.loc7 [concrete = constants.%bound_method.143] @@ -574,7 +574,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Float64ToFloat32.call.loc7: init %f32.c73 = call %Float64ToFloat32.ref.loc7(%.loc7_31.2) [concrete = constants.%float.943] // CHECK:STDOUT: %Float64ToFloat32.ref.loc9: %Float64ToFloat32.type = name_ref Float64ToFloat32, imports.%Main.Float64ToFloat32 [concrete = constants.%Float64ToFloat32] // CHECK:STDOUT: %float.loc9: Core.FloatLiteral = float_literal_value 10e38 [concrete = constants.%float.cfc] -// CHECK:STDOUT: %impl.elem0.loc9: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc9: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc9_31.1: = bound_method %float.loc9, %impl.elem0.loc9 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.b1e] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_31.2: = bound_method %float.loc9, %specific_fn.loc9 [concrete = constants.%bound_method.ac6] @@ -601,12 +601,12 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.565: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -647,7 +647,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Float32ToFloat64.ref.loc7: %Float32ToFloat64.type = name_ref Float32ToFloat64, imports.%Main.Float32ToFloat64 [concrete = constants.%Float32ToFloat64] // CHECK:STDOUT: %float.loc7: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0.loc7: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc7: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc7_31.1: = bound_method %float.loc7, %impl.elem0.loc7 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.565] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_31.2: = bound_method %float.loc7, %specific_fn.loc7 [concrete = constants.%bound_method.3e4] @@ -657,7 +657,7 @@ let b: f64 = Float32ToFloat64(1.0e30); // CHECK:STDOUT: %Float32ToFloat64.call.loc7: init %f64.dc1 = call %Float32ToFloat64.ref.loc7(%.loc7_31.2) [concrete = constants.%float.3b9] // CHECK:STDOUT: %Float32ToFloat64.ref.loc8: %Float32ToFloat64.type = name_ref Float32ToFloat64, imports.%Main.Float32ToFloat64 [concrete = constants.%Float32ToFloat64] // CHECK:STDOUT: %float.loc8: Core.FloatLiteral = float_literal_value 10e29 [concrete = constants.%float.c02] -// CHECK:STDOUT: %impl.elem0.loc8: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc8: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc8_31.1: = bound_method %float.loc8, %impl.elem0.loc8 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.fc1] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_31.2: = bound_method %float.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.1c7] diff --git a/toolchain/check/testdata/builtins/float/convert_checked.carbon b/toolchain/check/testdata/builtins/float/convert_checked.carbon index bcef3b7a8e88..e4076d6e8fbb 100644 --- a/toolchain/check/testdata/builtins/float/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/float/convert_checked.carbon @@ -324,12 +324,12 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.af3: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.819: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -380,7 +380,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Float64ToFloat64.ref.loc6: %Float64ToFloat64.type = name_ref Float64ToFloat64, imports.%Main.Float64ToFloat64 [concrete = constants.%Float64ToFloat64] // CHECK:STDOUT: %float.loc6: Core.FloatLiteral = float_literal_value 0e-1 [concrete = constants.%float.1f7] -// CHECK:STDOUT: %impl.elem0.loc6: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc6: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc6_31.1: = bound_method %float.loc6, %impl.elem0.loc6 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.af3] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_31.2: = bound_method %float.loc6, %specific_fn.loc6 [concrete = constants.%bound_method.819] @@ -390,7 +390,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Float64ToFloat64.call.loc6: init %f64.dc1 = call %Float64ToFloat64.ref.loc6(%.loc6_31.2) [concrete = constants.%float.895] // CHECK:STDOUT: %Float64ToFloat64.ref.loc7: %Float64ToFloat64.type = name_ref Float64ToFloat64, imports.%Main.Float64ToFloat64 [concrete = constants.%Float64ToFloat64] // CHECK:STDOUT: %float.loc7: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0.loc7: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc7: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc7_31.1: = bound_method %float.loc7, %impl.elem0.loc7 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.757] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_31.2: = bound_method %float.loc7, %specific_fn.loc7 [concrete = constants.%bound_method.143] @@ -400,7 +400,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Float64ToFloat64.call.loc7: init %f64.dc1 = call %Float64ToFloat64.ref.loc7(%.loc7_31.2) [concrete = constants.%float.3b9] // CHECK:STDOUT: %Float64ToFloat64.ref.loc8: %Float64ToFloat64.type = name_ref Float64ToFloat64, imports.%Main.Float64ToFloat64 [concrete = constants.%Float64ToFloat64] // CHECK:STDOUT: %float.loc8: Core.FloatLiteral = float_literal_value 10e307 [concrete = constants.%float.12a] -// CHECK:STDOUT: %impl.elem0.loc8: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc8: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc8_31.1: = bound_method %float.loc8, %impl.elem0.loc8 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.2af] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_31.2: = bound_method %float.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.18f] @@ -425,12 +425,12 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.2b0: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.ff6: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -481,7 +481,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Float32ToFloat32.ref.loc6: %Float32ToFloat32.type = name_ref Float32ToFloat32, imports.%Main.Float32ToFloat32 [concrete = constants.%Float32ToFloat32] // CHECK:STDOUT: %float.loc6: Core.FloatLiteral = float_literal_value 0e-1 [concrete = constants.%float.1f7] -// CHECK:STDOUT: %impl.elem0.loc6: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc6: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc6_31.1: = bound_method %float.loc6, %impl.elem0.loc6 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.2b0] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_31.2: = bound_method %float.loc6, %specific_fn.loc6 [concrete = constants.%bound_method.ff6] @@ -491,7 +491,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Float32ToFloat32.call.loc6: init %f32.c73 = call %Float32ToFloat32.ref.loc6(%.loc6_31.2) [concrete = constants.%float.5cd] // CHECK:STDOUT: %Float32ToFloat32.ref.loc7: %Float32ToFloat32.type = name_ref Float32ToFloat32, imports.%Main.Float32ToFloat32 [concrete = constants.%Float32ToFloat32] // CHECK:STDOUT: %float.loc7: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0.loc7: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc7: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc7_31.1: = bound_method %float.loc7, %impl.elem0.loc7 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.565] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_31.2: = bound_method %float.loc7, %specific_fn.loc7 [concrete = constants.%bound_method.3e4] @@ -501,7 +501,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Float32ToFloat32.call.loc7: init %f32.c73 = call %Float32ToFloat32.ref.loc7(%.loc7_31.2) [concrete = constants.%float.943] // CHECK:STDOUT: %Float32ToFloat32.ref.loc8: %Float32ToFloat32.type = name_ref Float32ToFloat32, imports.%Main.Float32ToFloat32 [concrete = constants.%Float32ToFloat32] // CHECK:STDOUT: %float.loc8: Core.FloatLiteral = float_literal_value 10e37 [concrete = constants.%float.8d2] -// CHECK:STDOUT: %impl.elem0.loc8: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc8: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc8_31.1: = bound_method %float.loc8, %impl.elem0.loc8 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.b87] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_31.2: = bound_method %float.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.4fc] @@ -528,12 +528,12 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -561,7 +561,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Float64ToFloat32.ref: %Float64ToFloat32.type = name_ref Float64ToFloat32, imports.%Main.Float64ToFloat32 [concrete = constants.%Float64ToFloat32] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc6_31.1: = bound_method %float, %impl.elem0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_31.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] @@ -589,12 +589,12 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.cfcfd2.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.cfcfd2.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -645,7 +645,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Float64ToFloat32.ref: %Float64ToFloat32.type = name_ref Float64ToFloat32, imports.%Main.Float64ToFloat32 [concrete = constants.%Float64ToFloat32] // CHECK:STDOUT: %float.loc11: Core.FloatLiteral = float_literal_value 10e38 [concrete = constants.%float.cfcfd2.1] -// CHECK:STDOUT: %impl.elem0: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc11_31.1: = bound_method %float.loc11, %impl.elem0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_31.2: = bound_method %float.loc11, %specific_fn [concrete = constants.%bound_method] @@ -678,12 +678,12 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.565: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -724,7 +724,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Float32ToFloat64.ref.loc6: %Float32ToFloat64.type = name_ref Float32ToFloat64, imports.%Main.Float32ToFloat64 [concrete = constants.%Float32ToFloat64] // CHECK:STDOUT: %float.loc6: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0.loc6: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc6: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc6_31.1: = bound_method %float.loc6, %impl.elem0.loc6 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.565] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_31.2: = bound_method %float.loc6, %specific_fn.loc6 [concrete = constants.%bound_method.3e4] @@ -734,7 +734,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %Float32ToFloat64.call.loc6: init %f64.dc1 = call %Float32ToFloat64.ref.loc6(%.loc6_31.2) [concrete = constants.%float.3b9] // CHECK:STDOUT: %Float32ToFloat64.ref.loc7: %Float32ToFloat64.type = name_ref Float32ToFloat64, imports.%Main.Float32ToFloat64 [concrete = constants.%Float32ToFloat64] // CHECK:STDOUT: %float.loc7: Core.FloatLiteral = float_literal_value 10e29 [concrete = constants.%float.c02] -// CHECK:STDOUT: %impl.elem0.loc7: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc7: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc7_31.1: = bound_method %float.loc7, %impl.elem0.loc7 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.fc1] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_31.2: = bound_method %float.loc7, %specific_fn.loc7 [concrete = constants.%bound_method.1c7] @@ -757,12 +757,12 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -779,7 +779,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { -// CHECK:STDOUT: %impl.elem0: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc6_28.1: = bound_method @__global_init.%float, %impl.elem0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_28.2: = bound_method @__global_init.%float, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/builtins/float/convert_int.carbon b/toolchain/check/testdata/builtins/float/convert_int.carbon index 7d321ff7bd13..23f4faacfa5b 100644 --- a/toolchain/check/testdata/builtins/float/convert_int.carbon +++ b/toolchain/check/testdata/builtins/float/convert_int.carbon @@ -237,12 +237,12 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.d5f: = bound_method %float.bab60c.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.a8b: = bound_method %float.bab60c.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -440,7 +440,7 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %ConvertF64ToI32.ref.loc9: %ConvertF64ToI32.type = name_ref ConvertF64ToI32, imports.%Main.ConvertF64ToI32 [concrete = constants.%ConvertF64ToI32] // CHECK:STDOUT: %float.loc9: Core.FloatLiteral = float_literal_value 21474836480e-1 [concrete = constants.%float.bab60c.1] -// CHECK:STDOUT: %impl.elem0.loc9: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc9: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc9_37.1: = bound_method %float.loc9, %impl.elem0.loc9 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.d5f] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_37.2: = bound_method %float.loc9, %specific_fn.loc9 [concrete = constants.%bound_method.a8b] @@ -451,7 +451,7 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: %ConvertF64ToI32.ref.loc15: %ConvertF64ToI32.type = name_ref ConvertF64ToI32, imports.%Main.ConvertF64ToI32 [concrete = constants.%ConvertF64ToI32] // CHECK:STDOUT: %Negate.ref.loc15: %Negate.type = name_ref Negate, imports.%Main.Negate [concrete = constants.%Negate] // CHECK:STDOUT: %float.loc15: Core.FloatLiteral = float_literal_value 21474836490e-1 [concrete = constants.%float.449] -// CHECK:STDOUT: %impl.elem0.loc15: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc15: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc15_45.1: = bound_method %float.loc15, %impl.elem0.loc15 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.92c] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_45.2: = bound_method %float.loc15, %specific_fn.loc15 [concrete = constants.%bound_method.af3] @@ -465,7 +465,7 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: %ConvertF64ToU32.ref: %ConvertF64ToU32.type = name_ref ConvertF64ToU32, imports.%Main.ConvertF64ToU32 [concrete = constants.%ConvertF64ToU32] // CHECK:STDOUT: %Negate.ref.loc21: %Negate.type = name_ref Negate, imports.%Main.Negate [concrete = constants.%Negate] // CHECK:STDOUT: %float.loc21: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0.loc21: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc21: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc21_48.1: = bound_method %float.loc21, %impl.elem0.loc21 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.757] // CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_48.2: = bound_method %float.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.143] @@ -534,12 +534,12 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.af318c.1: = bound_method %float.1f75e4.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.819b88.1: = bound_method %float.1f75e4.1, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -588,14 +588,14 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: %Div.ref.loc9: %Div.type = name_ref Div, imports.%Main.Div [concrete = constants.%Div] // CHECK:STDOUT: %float.loc9_40: Core.FloatLiteral = float_literal_value 0e-1 [concrete = constants.%float.1f75e4.1] // CHECK:STDOUT: %float.loc9_45: Core.FloatLiteral = float_literal_value 0e-1 [concrete = constants.%float.1f75e4.2] -// CHECK:STDOUT: %impl.elem0.loc9_40: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc9_40: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc9_40.1: = bound_method %float.loc9_40, %impl.elem0.loc9_40 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.af318c.1] // CHECK:STDOUT: %specific_fn.loc9_40: = specific_function %impl.elem0.loc9_40, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_40.2: = bound_method %float.loc9_40, %specific_fn.loc9_40 [concrete = constants.%bound_method.819b88.1] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call.loc9_40: init %f64.dc1 = call %bound_method.loc9_40.2(%float.loc9_40) [concrete = constants.%float.895] // CHECK:STDOUT: %.loc9_40.1: %f64.dc1 = value_of_initializer %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call.loc9_40 [concrete = constants.%float.895] // CHECK:STDOUT: %.loc9_40.2: %f64.dc1 = converted %float.loc9_40, %.loc9_40.1 [concrete = constants.%float.895] -// CHECK:STDOUT: %impl.elem0.loc9_45: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc9_45: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc9_45.1: = bound_method %float.loc9_45, %impl.elem0.loc9_45 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.af318c.2] // CHECK:STDOUT: %specific_fn.loc9_45: = specific_function %impl.elem0.loc9_45, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_45.2: = bound_method %float.loc9_45, %specific_fn.loc9_45 [concrete = constants.%bound_method.819b88.2] @@ -610,14 +610,14 @@ let inf_val: i32 = ConvertF64ToI32(Div(1.0, 0.0)); // CHECK:STDOUT: %Div.ref.loc15: %Div.type = name_ref Div, imports.%Main.Div [concrete = constants.%Div] // CHECK:STDOUT: %float.loc15_40: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %float.loc15_45: Core.FloatLiteral = float_literal_value 0e-1 [concrete = constants.%float.1f75e4.3] -// CHECK:STDOUT: %impl.elem0.loc15_40: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc15_40: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc15_40.1: = bound_method %float.loc15_40, %impl.elem0.loc15_40 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.757] // CHECK:STDOUT: %specific_fn.loc15_40: = specific_function %impl.elem0.loc15_40, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_40.2: = bound_method %float.loc15_40, %specific_fn.loc15_40 [concrete = constants.%bound_method.143] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call.loc15_40: init %f64.dc1 = call %bound_method.loc15_40.2(%float.loc15_40) [concrete = constants.%float.3b9] // CHECK:STDOUT: %.loc15_40.1: %f64.dc1 = value_of_initializer %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call.loc15_40 [concrete = constants.%float.3b9] // CHECK:STDOUT: %.loc15_40.2: %f64.dc1 = converted %float.loc15_40, %.loc15_40.1 [concrete = constants.%float.3b9] -// CHECK:STDOUT: %impl.elem0.loc15_45: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc15_45: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc15_45.1: = bound_method %float.loc15_45, %impl.elem0.loc15_45 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound.af318c.3] // CHECK:STDOUT: %specific_fn.loc15_45: = specific_function %impl.elem0.loc15_45, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_45.2: = bound_method %float.loc15_45, %specific_fn.loc15_45 [concrete = constants.%bound_method.819b88.3] diff --git a/toolchain/check/testdata/builtins/int/convert_char_literal.carbon b/toolchain/check/testdata/builtins/int/convert_char_literal.carbon index 7738283f0c8d..eb4123e55c91 100644 --- a/toolchain/check/testdata/builtins/int/convert_char_literal.carbon +++ b/toolchain/check/testdata/builtins/int/convert_char_literal.carbon @@ -80,12 +80,12 @@ let c: CharLiteral = ConvertFromIntLiteral(0x110000); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.dc1: = bound_method %int_98.fb6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.571: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e9: = bound_method %int_98.fb6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.571 [concrete] @@ -96,12 +96,12 @@ let c: CharLiteral = ConvertFromIntLiteral(0x110000); // CHECK:STDOUT: %ImplicitAs.type.efe: type = facet_type <@ImplicitAs, @ImplicitAs(%u32)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b68(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.170: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.0a1: = impl_witness imports.%ImplicitAs.impl_witness_table.42f, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.231: = impl_witness imports.%ImplicitAs.impl_witness_table.f01, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.957: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.9db: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.957 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.134: %ImplicitAs.type.efe = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.0a1) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.b71: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u32, %ImplicitAs.facet.134) [concrete] -// CHECK:STDOUT: %.22b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.b71, %ImplicitAs.facet.134 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.11a: %ImplicitAs.type.efe = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.231) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.342: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u32, %ImplicitAs.facet.11a) [concrete] +// CHECK:STDOUT: %.c4e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.342, %ImplicitAs.facet.11a [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.62f: = bound_method %int_99.6d1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.9db [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.4ac: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.9db, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.bfd: = bound_method %int_99.6d1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.4ac [concrete] @@ -111,9 +111,9 @@ let c: CharLiteral = ConvertFromIntLiteral(0x110000); // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.aa5: @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199) = import_ref Core//prelude/parts/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.170)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.42f = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f01 = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -147,7 +147,7 @@ let c: CharLiteral = ConvertFromIntLiteral(0x110000); // CHECK:STDOUT: %ConvertFromIntLiteral.call: init Core.CharLiteral = call %ConvertFromIntLiteral.ref(%int_97) [concrete = constants.%.54f] // CHECK:STDOUT: %ConvertFromI32.ref: %ConvertFromI32.type = name_ref ConvertFromI32, file.%ConvertFromI32.decl [concrete = constants.%ConvertFromI32] // CHECK:STDOUT: %int_98: Core.IntLiteral = int_value 98 [concrete = constants.%int_98.fb6] -// CHECK:STDOUT: %impl.elem0.loc15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_37.1: = bound_method %int_98, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.dc1] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.571] // CHECK:STDOUT: %bound_method.loc15_37.2: = bound_method %int_98, %specific_fn.loc15 [concrete = constants.%bound_method.6e9] @@ -157,7 +157,7 @@ let c: CharLiteral = ConvertFromIntLiteral(0x110000); // CHECK:STDOUT: %ConvertFromI32.call: init Core.CharLiteral = call %ConvertFromI32.ref(%.loc15_37.2) [concrete = constants.%.711] // CHECK:STDOUT: %ConvertFromU32.ref: %ConvertFromU32.type = name_ref ConvertFromU32, file.%ConvertFromU32.decl [concrete = constants.%ConvertFromU32] // CHECK:STDOUT: %int_99: Core.IntLiteral = int_value 99 [concrete = constants.%int_99.6d1] -// CHECK:STDOUT: %impl.elem0.loc16: %.22b = impl_witness_access constants.%ImplicitAs.impl_witness.0a1, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.9db] +// CHECK:STDOUT: %impl.elem0.loc16: %.c4e = impl_witness_access constants.%ImplicitAs.impl_witness.231, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.9db] // CHECK:STDOUT: %bound_method.loc16_37.1: = bound_method %int_99, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.62f] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.4ac] // CHECK:STDOUT: %bound_method.loc16_37.2: = bound_method %int_99, %specific_fn.loc16 [concrete = constants.%bound_method.bfd] diff --git a/toolchain/check/testdata/builtins/int/convert_checked.carbon b/toolchain/check/testdata/builtins/int/convert_checked.carbon index 8838a2bba7b7..e96efc0ae52f 100644 --- a/toolchain/check/testdata/builtins/int/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/int/convert_checked.carbon @@ -278,12 +278,12 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -310,7 +310,7 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // 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.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -341,7 +341,7 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Int32ToUint32.ref: %Int32ToUint32.type = name_ref Int32ToUint32, imports.%Main.Int32ToUint32 [concrete = constants.%Int32ToUint32] // CHECK:STDOUT: %int_1.loc6: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc6: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_41.1: = bound_method %int_1.loc6, %impl.elem0.loc6 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_41.2: = bound_method %int_1.loc6, %specific_fn.loc6 [concrete = constants.%bound_method] @@ -351,7 +351,7 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: %Int32ToUint32.call: init %u32 = call %Int32ToUint32.ref(%.loc6_41.2) [concrete = constants.%int_1.92d] // CHECK:STDOUT: %Int32ToInt16.ref: %Int32ToInt16.type = name_ref Int32ToInt16, imports.%Main.Int32ToInt16 [concrete = constants.%Int32ToInt16] // CHECK:STDOUT: %int_1.loc7: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc7: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_35.1: = bound_method %int_1.loc7, %impl.elem0.loc7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_35.2: = bound_method %int_1.loc7, %specific_fn.loc7 [concrete = constants.%bound_method] @@ -361,7 +361,7 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: %Int32ToInt16.call: init %i16 = call %Int32ToInt16.ref(%.loc7_35.2) [concrete = constants.%int_1.d17] // CHECK:STDOUT: %Int32ToInt64.ref: %Int32ToInt64.type = name_ref Int32ToInt64, imports.%Main.Int32ToInt64 [concrete = constants.%Int32ToInt64] // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_34.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_34.2: = bound_method %int_1.loc8, %specific_fn.loc8 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/builtins/int/convert_float.carbon b/toolchain/check/testdata/builtins/int/convert_float.carbon index 54ef5afd299f..6f812f76cb9c 100644 --- a/toolchain/check/testdata/builtins/int/convert_float.carbon +++ b/toolchain/check/testdata/builtins/int/convert_float.carbon @@ -114,8 +114,8 @@ let invalid: f64 = ConvertIntLiteralToFloatLiteral(-1) as f64; // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Negate.impl_witness: = impl_witness imports.%Negate.impl_witness_table [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value Core.IntLiteral, (%Negate.impl_witness) [concrete] -// CHECK:STDOUT: %Negate.WithSelf.Op.type.db1: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] -// CHECK:STDOUT: %.e9b: type = fn_type_with_self_type %Negate.WithSelf.Op.type.db1, %Negate.facet [concrete] +// CHECK:STDOUT: %Negate.WithSelf.Op.type.e85: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] +// CHECK:STDOUT: %.758: type = fn_type_with_self_type %Negate.WithSelf.Op.type.e85, %Negate.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.type: type = fn_type @Core.IntLiteral.as.Negate.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op: %Core.IntLiteral.as.Negate.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.bound: = bound_method %int_1, %Core.IntLiteral.as.Negate.impl.Op [concrete] @@ -124,12 +124,12 @@ let invalid: f64 = ConvertIntLiteralToFloatLiteral(-1) as f64; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.69a: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.829: %Core.FloatLiteral.as.As.impl.Convert.type.69a = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.115: = impl_witness imports.%As.impl_witness_table, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.355: = impl_witness imports.%As.impl_witness_table, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.0cf: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.20d: %Core.FloatLiteral.as.As.impl.Convert.type.0cf = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.0e0 = facet_value Core.FloatLiteral, (%As.impl_witness.115) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.4d9: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.dc1, %As.facet) [concrete] -// CHECK:STDOUT: %.e52: type = fn_type_with_self_type %As.WithSelf.Convert.type.4d9, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.0e0 = facet_value Core.FloatLiteral, (%As.impl_witness.355) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.a43: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.dc1, %As.facet) [concrete] +// CHECK:STDOUT: %.a08: type = fn_type_with_self_type %As.WithSelf.Convert.type.a43, %As.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.20d, @Core.FloatLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -154,14 +154,14 @@ let invalid: f64 = ConvertIntLiteralToFloatLiteral(-1) as f64; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %ConvertIntLiteralToFloatLiteral.ref: %ConvertIntLiteralToFloatLiteral.type = name_ref ConvertIntLiteralToFloatLiteral, imports.%Main.ConvertIntLiteralToFloatLiteral [concrete = constants.%ConvertIntLiteralToFloatLiteral] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %impl.elem1: %.e9b = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.758 = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] // CHECK:STDOUT: %bound_method.loc9_52: = bound_method %int_1, %impl.elem1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.call: init Core.IntLiteral = call %bound_method.loc9_52(%int_1) [concrete = constants.%int_-1] // CHECK:STDOUT: %.loc9_52.1: Core.IntLiteral = value_of_initializer %Core.IntLiteral.as.Negate.impl.Op.call [concrete = constants.%int_-1] // CHECK:STDOUT: %.loc9_52.2: Core.IntLiteral = converted %Core.IntLiteral.as.Negate.impl.Op.call, %.loc9_52.1 [concrete = constants.%int_-1] // CHECK:STDOUT: %ConvertIntLiteralToFloatLiteral.call: init Core.FloatLiteral = call %ConvertIntLiteralToFloatLiteral.ref(%.loc9_52.2) [concrete = ] // CHECK:STDOUT: %f64: type = type_literal constants.%f64.dc1 [concrete = constants.%f64.dc1] -// CHECK:STDOUT: %impl.elem0: %.e52 = impl_witness_access constants.%As.impl_witness.115, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.20d] +// CHECK:STDOUT: %impl.elem0: %.a08 = impl_witness_access constants.%As.impl_witness.355, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.20d] // CHECK:STDOUT: %bound_method.loc9_56.1: = bound_method %ConvertIntLiteralToFloatLiteral.call, %impl.elem0 [concrete = ] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_56.2: = bound_method %ConvertIntLiteralToFloatLiteral.call, %specific_fn [concrete = ] diff --git a/toolchain/check/testdata/builtins/print/char.carbon b/toolchain/check/testdata/builtins/print/char.carbon index 733095e3350a..40529a15c8b7 100644 --- a/toolchain/check/testdata/builtins/print/char.carbon +++ b/toolchain/check/testdata/builtins/print/char.carbon @@ -36,10 +36,10 @@ fn Main() { // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.e81: type = facet_type <@ImplicitAs, @ImplicitAs(%char)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.780: = impl_witness imports.%ImplicitAs.impl_witness_table.8a5 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.e81 = facet_value Core.CharLiteral, (%ImplicitAs.impl_witness.780) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.0c6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%char, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1e6: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.0c6, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.1ff: = impl_witness imports.%ImplicitAs.impl_witness_table.5e3 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.e81 = facet_value Core.CharLiteral, (%ImplicitAs.impl_witness.1ff) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a04: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%char, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.601: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a04, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.CharLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert: %Core.CharLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.bound.17b: = bound_method %.75c, %Core.CharLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -65,7 +65,7 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.06c: %Core.CharLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/char, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.8a5 = impl_witness_table (%Core.import_ref.06c), @Core.CharLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5e3 = impl_witness_table (%Core.import_ref.06c), @Core.CharLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.PrintChar: %PrintChar.type.b3c = import_ref Core//io, PrintChar, loaded [concrete = constants.%PrintChar.063] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -73,7 +73,7 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %PrintChar.ref.loc20: %PrintChar.type.7a7 = name_ref PrintChar, file.%PrintChar.decl [concrete = constants.%PrintChar.772] // CHECK:STDOUT: %.loc20_13.1: Core.CharLiteral = char_value U+0031 [concrete = constants.%.75c] -// CHECK:STDOUT: %impl.elem0.loc20: %.1e6 = impl_witness_access constants.%ImplicitAs.impl_witness.780, element0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc20: %.601 = impl_witness_access constants.%ImplicitAs.impl_witness.1ff, element0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc20: = bound_method %.loc20_13.1, %impl.elem0.loc20 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert.bound.17b] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.call.loc20: init %char = call %bound_method.loc20(%.loc20_13.1) [concrete = constants.%int_49] // CHECK:STDOUT: %.loc20_13.2: %char = value_of_initializer %Core.CharLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_49] @@ -82,7 +82,7 @@ fn Main() { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %PrintChar.ref.loc21: %PrintChar.type.b3c = name_ref PrintChar, imports.%Core.PrintChar [concrete = constants.%PrintChar.063] // CHECK:STDOUT: %.loc21_18.1: Core.CharLiteral = char_value U+0032 [concrete = constants.%.f8d] -// CHECK:STDOUT: %impl.elem0.loc21: %.1e6 = impl_witness_access constants.%ImplicitAs.impl_witness.780, element0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc21: %.601 = impl_witness_access constants.%ImplicitAs.impl_witness.1ff, element0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc21: = bound_method %.loc21_18.1, %impl.elem0.loc21 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert.bound.e67] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.call.loc21: init %char = call %bound_method.loc21(%.loc21_18.1) [concrete = constants.%int_50] // CHECK:STDOUT: %.loc21_18.2: %char = value_of_initializer %Core.CharLiteral.as.ImplicitAs.impl.Convert.call.loc21 [concrete = constants.%int_50] diff --git a/toolchain/check/testdata/builtins/print/int.carbon b/toolchain/check/testdata/builtins/print/int.carbon index 733ad72be824..f6cf50db8448 100644 --- a/toolchain/check/testdata/builtins/print/int.carbon +++ b/toolchain/check/testdata/builtins/print/int.carbon @@ -39,12 +39,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -69,7 +69,7 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.Print: %Print.type.4a7 = import_ref Core//io, Print, loaded [concrete = constants.%Print.d24] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -77,7 +77,7 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Print.ref.loc20: %Print.type.009 = name_ref Print, file.%Print.decl [concrete = constants.%Print.9c5] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc20: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_9.1: = bound_method %int_1, %impl.elem0.loc20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_9.2: = bound_method %int_1, %specific_fn.loc20 [concrete = constants.%bound_method.953] @@ -88,7 +88,7 @@ fn Main() { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Print.ref.loc21: %Print.type.4a7 = name_ref Print, imports.%Core.Print [concrete = constants.%Print.d24] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc21: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc21: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc21_14.1: = bound_method %int_2, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_14.2: = bound_method %int_2, %specific_fn.loc21 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/choice/basic.carbon b/toolchain/check/testdata/choice/basic.carbon index 5b9e6a5a2049..74754fc0ed1c 100644 --- a/toolchain/check/testdata/choice/basic.carbon +++ b/toolchain/check/testdata/choice/basic.carbon @@ -146,12 +146,12 @@ let never: Never = {}; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.170: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e93: = impl_witness imports.%ImplicitAs.impl_witness_table.42f, @Core.IntLiteral.as.ImplicitAs.impl(%int_2.ecc) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2e8: = impl_witness imports.%ImplicitAs.impl_witness_table.f01, @Core.IntLiteral.as.ImplicitAs.impl(%int_2.ecc) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.d95: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_2.ecc) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.409: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.d95 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.452 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e93) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.119: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u2, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.66c: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.119, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.452 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2e8) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dfa: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u2, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.884: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dfa, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.941: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.409 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.409, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_2.ecc) [concrete] // CHECK:STDOUT: %bound_method.6ef: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -160,12 +160,12 @@ let never: Never = {}; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.0c5: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.38a: %UInt.as.Copy.impl.Op.type.0c5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.f92: = impl_witness imports.%Copy.impl_witness_table.fe3, @UInt.as.Copy.impl(%int_2.ecc) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.8d6: = impl_witness imports.%Copy.impl_witness_table.ae7, @UInt.as.Copy.impl(%int_2.ecc) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.d68: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_2.ecc) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.4d1: %UInt.as.Copy.impl.Op.type.d68 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %u2, (%Copy.impl_witness.f92) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.21e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.594: type = fn_type_with_self_type %Copy.WithSelf.Op.type.21e, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %u2, (%Copy.impl_witness.8d6) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.894: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.b0b: type = fn_type_with_self_type %Copy.WithSelf.Op.type.894, %Copy.facet [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.bound.c6b: = bound_method %int_0.336, %UInt.as.Copy.impl.Op.4d1 [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.4d1, @UInt.as.Copy.impl.Op(%int_2.ecc) [concrete] // CHECK:STDOUT: %bound_method.645: = bound_method %int_0.336, %UInt.as.Copy.impl.Op.specific_fn [concrete] @@ -206,9 +206,9 @@ let never: Never = {}; // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.aa5: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199) = import_ref Core//prelude/parts/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.170)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.42f = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f01 = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.791: @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op.type (%UInt.as.Copy.impl.Op.type.0c5) = import_ref Core//prelude/parts/uint, loc{{\d+_\d+}}, loaded [symbolic = @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op (constants.%UInt.as.Copy.impl.Op.38a)] -// CHECK:STDOUT: %Copy.impl_witness_table.fe3 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ae7 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -238,7 +238,7 @@ let never: Never = {}; // CHECK:STDOUT: class @Ordering { // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.discriminant [concrete = constants.%complete_type.b01] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc5_7.1: %.66c = impl_witness_access constants.%ImplicitAs.impl_witness.e93, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.409] +// CHECK:STDOUT: %impl.elem0.loc5_7.1: %.884 = impl_witness_access constants.%ImplicitAs.impl_witness.2e8, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.409] // CHECK:STDOUT: %bound_method.loc5_7.1: = bound_method %int_0, %impl.elem0.loc5_7.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.941] // CHECK:STDOUT: %specific_fn.loc5_7.1: = specific_function %impl.elem0.loc5_7.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_2.ecc) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_7.2: = bound_method %int_0, %specific_fn.loc5_7.1 [concrete = constants.%bound_method.6ef] @@ -246,7 +246,7 @@ let never: Never = {}; // CHECK:STDOUT: %.loc5_7.1: %u2 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc5 [concrete = constants.%int_0.336] // CHECK:STDOUT: %.loc5_7.2: %u2 = converted %int_0, %.loc5_7.1 [concrete = constants.%int_0.336] // CHECK:STDOUT: %.loc5_7.3: %struct_type.discriminant = struct_literal (%.loc5_7.2) [concrete = constants.%struct.b15] -// CHECK:STDOUT: %impl.elem0.loc5_7.2: %.594 = impl_witness_access constants.%Copy.impl_witness.f92, element0 [concrete = constants.%UInt.as.Copy.impl.Op.4d1] +// CHECK:STDOUT: %impl.elem0.loc5_7.2: %.b0b = impl_witness_access constants.%Copy.impl_witness.8d6, element0 [concrete = constants.%UInt.as.Copy.impl.Op.4d1] // CHECK:STDOUT: %bound_method.loc5_7.3: = bound_method %.loc5_7.2, %impl.elem0.loc5_7.2 [concrete = constants.%UInt.as.Copy.impl.Op.bound.c6b] // CHECK:STDOUT: %specific_fn.loc5_7.2: = specific_function %impl.elem0.loc5_7.2, @UInt.as.Copy.impl.Op(constants.%int_2.ecc) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc5_7.4: = bound_method %.loc5_7.2, %specific_fn.loc5_7.2 [concrete = constants.%bound_method.645] @@ -260,7 +260,7 @@ let never: Never = {}; // CHECK:STDOUT: %.loc5_7.10: %Ordering = acquire_value %.loc5_7.9 [concrete = constants.%Ordering.val.236] // CHECK:STDOUT: %Less: %Ordering = wrapper_binding Less, %.loc5_7.10 // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc6_13.1: %.66c = impl_witness_access constants.%ImplicitAs.impl_witness.e93, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.409] +// CHECK:STDOUT: %impl.elem0.loc6_13.1: %.884 = impl_witness_access constants.%ImplicitAs.impl_witness.2e8, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.409] // CHECK:STDOUT: %bound_method.loc6_13.1: = bound_method %int_1, %impl.elem0.loc6_13.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.48e] // CHECK:STDOUT: %specific_fn.loc6_13.1: = specific_function %impl.elem0.loc6_13.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_2.ecc) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_13.2: = bound_method %int_1, %specific_fn.loc6_13.1 [concrete = constants.%bound_method.0f5] @@ -268,7 +268,7 @@ let never: Never = {}; // CHECK:STDOUT: %.loc6_13.1: %u2 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6 [concrete = constants.%int_1.508] // CHECK:STDOUT: %.loc6_13.2: %u2 = converted %int_1, %.loc6_13.1 [concrete = constants.%int_1.508] // CHECK:STDOUT: %.loc6_13.3: %struct_type.discriminant = struct_literal (%.loc6_13.2) [concrete = constants.%struct.2cb] -// CHECK:STDOUT: %impl.elem0.loc6_13.2: %.594 = impl_witness_access constants.%Copy.impl_witness.f92, element0 [concrete = constants.%UInt.as.Copy.impl.Op.4d1] +// CHECK:STDOUT: %impl.elem0.loc6_13.2: %.b0b = impl_witness_access constants.%Copy.impl_witness.8d6, element0 [concrete = constants.%UInt.as.Copy.impl.Op.4d1] // CHECK:STDOUT: %bound_method.loc6_13.3: = bound_method %.loc6_13.2, %impl.elem0.loc6_13.2 [concrete = constants.%UInt.as.Copy.impl.Op.bound.1e1] // CHECK:STDOUT: %specific_fn.loc6_13.2: = specific_function %impl.elem0.loc6_13.2, @UInt.as.Copy.impl.Op(constants.%int_2.ecc) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_13.4: = bound_method %.loc6_13.2, %specific_fn.loc6_13.2 [concrete = constants.%bound_method.373] @@ -282,7 +282,7 @@ let never: Never = {}; // CHECK:STDOUT: %.loc6_13.10: %Ordering = acquire_value %.loc6_13.9 [concrete = constants.%Ordering.val.4d4] // CHECK:STDOUT: %Equivalent: %Ordering = wrapper_binding Equivalent, %.loc6_13.10 // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc7_10.1: %.66c = impl_witness_access constants.%ImplicitAs.impl_witness.e93, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.409] +// CHECK:STDOUT: %impl.elem0.loc7_10.1: %.884 = impl_witness_access constants.%ImplicitAs.impl_witness.2e8, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.409] // CHECK:STDOUT: %bound_method.loc7_10.1: = bound_method %int_2, %impl.elem0.loc7_10.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.6c9] // CHECK:STDOUT: %specific_fn.loc7_10.1: = specific_function %impl.elem0.loc7_10.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_2.ecc) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_10.2: = bound_method %int_2, %specific_fn.loc7_10.1 [concrete = constants.%bound_method.135] @@ -290,7 +290,7 @@ let never: Never = {}; // CHECK:STDOUT: %.loc7_10.1: %u2 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc7 [concrete = constants.%int_2.996] // CHECK:STDOUT: %.loc7_10.2: %u2 = converted %int_2, %.loc7_10.1 [concrete = constants.%int_2.996] // CHECK:STDOUT: %.loc7_10.3: %struct_type.discriminant = struct_literal (%.loc7_10.2) [concrete = constants.%struct.40a] -// CHECK:STDOUT: %impl.elem0.loc7_10.2: %.594 = impl_witness_access constants.%Copy.impl_witness.f92, element0 [concrete = constants.%UInt.as.Copy.impl.Op.4d1] +// CHECK:STDOUT: %impl.elem0.loc7_10.2: %.b0b = impl_witness_access constants.%Copy.impl_witness.8d6, element0 [concrete = constants.%UInt.as.Copy.impl.Op.4d1] // CHECK:STDOUT: %bound_method.loc7_10.3: = bound_method %.loc7_10.2, %impl.elem0.loc7_10.2 [concrete = constants.%UInt.as.Copy.impl.Op.bound.424] // CHECK:STDOUT: %specific_fn.loc7_10.2: = specific_function %impl.elem0.loc7_10.2, @UInt.as.Copy.impl.Op(constants.%int_2.ecc) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_10.4: = bound_method %.loc7_10.2, %specific_fn.loc7_10.2 [concrete = constants.%bound_method.f90] @@ -304,7 +304,7 @@ let never: Never = {}; // CHECK:STDOUT: %.loc7_10.10: %Ordering = acquire_value %.loc7_10.9 [concrete = constants.%Ordering.val.fca] // CHECK:STDOUT: %Greater: %Ordering = wrapper_binding Greater, %.loc7_10.10 // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc9_1.1: %.66c = impl_witness_access constants.%ImplicitAs.impl_witness.e93, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.409] +// CHECK:STDOUT: %impl.elem0.loc9_1.1: %.884 = impl_witness_access constants.%ImplicitAs.impl_witness.2e8, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.409] // CHECK:STDOUT: %bound_method.loc9_1.1: = bound_method %int_3, %impl.elem0.loc9_1.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.0d0] // CHECK:STDOUT: %specific_fn.loc9_1.1: = specific_function %impl.elem0.loc9_1.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_2.ecc) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_1.2: = bound_method %int_3, %specific_fn.loc9_1.1 [concrete = constants.%bound_method.f45] @@ -312,7 +312,7 @@ let never: Never = {}; // CHECK:STDOUT: %.loc9_1.1: %u2 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_3.184] // CHECK:STDOUT: %.loc9_1.2: %u2 = converted %int_3, %.loc9_1.1 [concrete = constants.%int_3.184] // CHECK:STDOUT: %.loc9_1.3: %struct_type.discriminant = struct_literal (%.loc9_1.2) [concrete = constants.%struct.376] -// CHECK:STDOUT: %impl.elem0.loc9_1.2: %.594 = impl_witness_access constants.%Copy.impl_witness.f92, element0 [concrete = constants.%UInt.as.Copy.impl.Op.4d1] +// CHECK:STDOUT: %impl.elem0.loc9_1.2: %.b0b = impl_witness_access constants.%Copy.impl_witness.8d6, element0 [concrete = constants.%UInt.as.Copy.impl.Op.4d1] // CHECK:STDOUT: %bound_method.loc9_1.3: = bound_method %.loc9_1.2, %impl.elem0.loc9_1.2 [concrete = constants.%UInt.as.Copy.impl.Op.bound.f14] // CHECK:STDOUT: %specific_fn.loc9_1.2: = specific_function %impl.elem0.loc9_1.2, @UInt.as.Copy.impl.Op(constants.%int_2.ecc) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_1.4: = bound_method %.loc9_1.2, %specific_fn.loc9_1.2 [concrete = constants.%bound_method.f04] diff --git a/toolchain/check/testdata/class/access/access_modifers.carbon b/toolchain/check/testdata/class/access/access_modifers.carbon index a325b31ee843..bd9dd4cebe4e 100644 --- a/toolchain/check/testdata/class/access/access_modifers.carbon +++ b/toolchain/check/testdata/class/access/access_modifers.carbon @@ -170,12 +170,12 @@ class A { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] @@ -220,7 +220,7 @@ class A { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -238,7 +238,7 @@ class A { // CHECK:STDOUT: class @Circle { // CHECK:STDOUT: %.loc5: %Circle.elem = field_decl radius, element0 [concrete] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_45.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_45.2: = bound_method %int_5, %specific_fn [concrete = constants.%bound_method.c9d] @@ -282,7 +282,7 @@ class A { // CHECK:STDOUT: fn @Circle.SomeInternalFunction() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_13.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_13.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.6e0] @@ -295,7 +295,7 @@ class A { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] // CHECK:STDOUT: %.loc13_24.1: %struct_type.radius.f47 = struct_literal (%int_5) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_24.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_24.2: = bound_method %int_5, %specific_fn [concrete = constants.%bound_method.c9d] @@ -445,12 +445,12 @@ class A { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] @@ -459,12 +459,12 @@ class A { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -482,10 +482,10 @@ class A { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -553,7 +553,7 @@ class A { // CHECK:STDOUT: %radius.ref: %Circle.elem = name_ref radius, @Circle.%.loc5 [concrete = @Circle.%.loc5] // CHECK:STDOUT: %.loc8_16.1: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc8_16.2: %i32 = acquire_value %.loc8_16.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc8_16.1: = bound_method %.loc8_16.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_16.2: = bound_method %.loc8_16.2, %specific_fn @@ -564,7 +564,7 @@ class A { // CHECK:STDOUT: fn @Circle.SomeInternalFunction() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_13.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_13.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] @@ -598,12 +598,12 @@ class A { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -623,7 +623,7 @@ class A { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -643,7 +643,7 @@ class A { // CHECK:STDOUT: // CHECK:STDOUT: class @A { // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_16.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_16.2: = bound_method %int_5, %specific_fn [concrete = constants.%bound_method] @@ -687,12 +687,12 @@ class A { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -714,7 +714,7 @@ class A { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -740,7 +740,7 @@ class A { // CHECK:STDOUT: // CHECK:STDOUT: class @A { // CHECK:STDOUT: %int_5.loc5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0.loc5: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc5: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_26.1: = bound_method %int_5.loc5, %impl.elem0.loc5 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_26.2: = bound_method %int_5.loc5, %specific_fn.loc5 [concrete = constants.%bound_method] @@ -753,7 +753,7 @@ class A { // CHECK:STDOUT: %x.patt: %pattern_type.6b6 = value_binding_pattern x [concrete = constants.%x.patt.86b] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5.loc6: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0.loc6: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_24.1: = bound_method %int_5.loc6, %impl.elem0.loc6 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_24.2: = bound_method %int_5.loc6, %specific_fn.loc6 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/class/access/inheritance_access.carbon b/toolchain/check/testdata/class/access/inheritance_access.carbon index ef0290d5043c..7d320634db1c 100644 --- a/toolchain/check/testdata/class/access/inheritance_access.carbon +++ b/toolchain/check/testdata/class/access/inheritance_access.carbon @@ -315,12 +315,12 @@ class B { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -334,7 +334,7 @@ class B { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -409,7 +409,7 @@ class B { // CHECK:STDOUT: %.loc13_25.4: ref %i32 = class_element_access %.loc13_25.3, element1 // CHECK:STDOUT: %.loc13_27.1: %tuple.type.e55 = tuple_literal (%.loc13_17.4, %.loc13_25.4) // CHECK:STDOUT: %.loc13_17.5: %i32 = acquire_value %.loc13_17.4 -// CHECK:STDOUT: %impl.elem0.loc13_17: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc13_17: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc13_17.1: = bound_method %.loc13_17.5, %impl.elem0.loc13_17 // CHECK:STDOUT: %specific_fn.loc13_17: = specific_function %impl.elem0.loc13_17, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc13_17.2: = bound_method %.loc13_17.5, %specific_fn.loc13_17 @@ -417,7 +417,7 @@ class B { // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %return.param, element0 // CHECK:STDOUT: %.loc13_27.2: init %i32 to %tuple.elem0 = in_place_init %Int.as.Copy.impl.Op.call.loc13_17 // CHECK:STDOUT: %.loc13_25.5: %i32 = acquire_value %.loc13_25.4 -// CHECK:STDOUT: %impl.elem0.loc13_25: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc13_25: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc13_25.1: = bound_method %.loc13_25.5, %impl.elem0.loc13_25 // CHECK:STDOUT: %specific_fn.loc13_25: = specific_function %impl.elem0.loc13_25, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc13_25.2: = bound_method %.loc13_25.5, %specific_fn.loc13_25 @@ -583,12 +583,12 @@ class B { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] @@ -611,12 +611,12 @@ class B { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -631,10 +631,10 @@ class B { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -650,7 +650,7 @@ class B { // CHECK:STDOUT: // CHECK:STDOUT: class @A { // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_38.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_38.2: = bound_method %int_5, %specific_fn [concrete = constants.%bound_method] @@ -717,7 +717,7 @@ class B { // CHECK:STDOUT: fn @A.SomeProtectedFunction() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_13.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_13.2: = bound_method %int_5, %specific_fn [concrete = constants.%bound_method] @@ -730,7 +730,7 @@ class B { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %SOME_CONSTANT.ref: %i32 = name_ref SOME_CONSTANT, @A.%SOME_CONSTANT -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc15_13.1: = bound_method %SOME_CONSTANT.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_13.2: = bound_method %SOME_CONSTANT.ref, %specific_fn @@ -1045,12 +1045,12 @@ class B { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_86.bd3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] @@ -1084,7 +1084,7 @@ class B { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1116,7 +1116,7 @@ class B { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %.loc9: %B.elem = base_decl %A.ref, element0 [concrete] // CHECK:STDOUT: %int_86: Core.IntLiteral = int_value 86 [concrete = constants.%int_86.bd3] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_44.1: = bound_method %int_86, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_44.2: = bound_method %int_86, %specific_fn [concrete = constants.%bound_method] @@ -1291,12 +1291,12 @@ class B { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] @@ -1332,7 +1332,7 @@ class B { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1350,7 +1350,7 @@ class B { // CHECK:STDOUT: // CHECK:STDOUT: class @A { // CHECK:STDOUT: %int_5.loc5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0.loc5: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc5: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_48.1: = bound_method %int_5.loc5, %impl.elem0.loc5 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_48.2: = bound_method %int_5.loc5, %specific_fn.loc5 [concrete = constants.%bound_method] @@ -1363,7 +1363,7 @@ class B { // CHECK:STDOUT: %SOME_PROTECTED_CONSTANT.patt: %pattern_type.6b6 = value_binding_pattern SOME_PROTECTED_CONSTANT [concrete = constants.%SOME_PROTECTED_CONSTANT.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5.loc6: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0.loc6: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_44.1: = bound_method %int_5.loc6, %impl.elem0.loc6 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_44.2: = bound_method %int_5.loc6, %specific_fn.loc6 [concrete = constants.%bound_method] @@ -1386,7 +1386,7 @@ class B { // CHECK:STDOUT: // CHECK:STDOUT: class @Internal { // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_42.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_42.2: = bound_method %int_5, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/class/adapter/adapt_copy.carbon b/toolchain/check/testdata/class/adapter/adapt_copy.carbon index 3aa5870e4e8e..7e9f71ff208b 100644 --- a/toolchain/check/testdata/class/adapter/adapt_copy.carbon +++ b/toolchain/check/testdata/class/adapter/adapt_copy.carbon @@ -378,12 +378,12 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc9_3.4 [concrete] @@ -406,12 +406,12 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %d.var_patt.898: %pattern_type.996 = var_pattern %d.patt.be1 [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.0c5: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.38a: %UInt.as.Copy.impl.Op.type.0c5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.9d9: = impl_witness imports.%Copy.impl_witness_table.fe3, @UInt.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.441: = impl_witness imports.%Copy.impl_witness_table.ae7, @UInt.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.2fd: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.46f: %UInt.as.Copy.impl.Op.type.2fd = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.a37: %Copy.type = facet_value %u32, (%Copy.impl_witness.9d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ec6: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.a37) [concrete] -// CHECK:STDOUT: %.5f1: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ec6, %Copy.facet.a37 [concrete] +// CHECK:STDOUT: %Copy.facet.e98: %Copy.type = facet_value %u32, (%Copy.impl_witness.441) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.94a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.e98) [concrete] +// CHECK:STDOUT: %.4ed: type = fn_type_with_self_type %Copy.WithSelf.Op.type.94a, %Copy.facet.e98 [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.46f, @UInt.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.7: type = fn_type @Destroy.Op.loc14_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.7: %Destroy.Op.type.1d8f74.7 = struct_value () [concrete] @@ -429,11 +429,11 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.UInt: %UInt.type = import_ref Core//prelude/parts/uint, UInt, loaded [concrete = constants.%UInt.generic] // CHECK:STDOUT: %Core.import_ref.791: @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op.type (%UInt.as.Copy.impl.Op.type.0c5) = import_ref Core//prelude/parts/uint, loc{{\d+_\d+}}, loaded [symbolic = @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op (constants.%UInt.as.Copy.impl.Op.38a)] -// CHECK:STDOUT: %Copy.impl_witness_table.fe3 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ae7 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -502,7 +502,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %c.ref: %AdaptTuple = name_ref c, %c // CHECK:STDOUT: %.loc9_3.1: %tuple.type.e55 = as_compatible %c.ref // CHECK:STDOUT: %tuple.elem0.loc9_3.1: %i32 = tuple_access %.loc9_3.1, element0 -// CHECK:STDOUT: %impl.elem0.loc9_3.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc9_3.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc9_3.1: = bound_method %tuple.elem0.loc9_3.1, %impl.elem0.loc9_3.1 // CHECK:STDOUT: %specific_fn.loc9_3.1: = specific_function %impl.elem0.loc9_3.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_3.2: = bound_method %tuple.elem0.loc9_3.1, %specific_fn.loc9_3.1 @@ -511,7 +511,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %tuple.elem0.loc9_3.2: ref %i32 = tuple_access %.loc9_3.2, element0 // CHECK:STDOUT: %.loc9_3.3: init %i32 to %tuple.elem0.loc9_3.2 = in_place_init %Int.as.Copy.impl.Op.call.loc9_3.1 // CHECK:STDOUT: %tuple.elem1.loc9_3.1: %i32 = tuple_access %.loc9_3.1, element1 -// CHECK:STDOUT: %impl.elem0.loc9_3.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc9_3.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc9_3.3: = bound_method %tuple.elem1.loc9_3.1, %impl.elem0.loc9_3.2 // CHECK:STDOUT: %specific_fn.loc9_3.2: = specific_function %impl.elem0.loc9_3.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_3.4: = bound_method %tuple.elem1.loc9_3.1, %specific_fn.loc9_3.2 @@ -532,7 +532,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc10_11.1: ref %tuple.type.e55 = as_compatible %d.ref // CHECK:STDOUT: %tuple.elem0.loc10_11.1: ref %i32 = tuple_access %.loc10_11.1, element0 // CHECK:STDOUT: %.loc10_11.2: %i32 = acquire_value %tuple.elem0.loc10_11.1 -// CHECK:STDOUT: %impl.elem0.loc10_11.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc10_11.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc10_11.1: = bound_method %.loc10_11.2, %impl.elem0.loc10_11.1 // CHECK:STDOUT: %specific_fn.loc10_11.1: = specific_function %impl.elem0.loc10_11.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_11.2: = bound_method %.loc10_11.2, %specific_fn.loc10_11.1 @@ -542,7 +542,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc10_11.4: init %i32 to %tuple.elem0.loc10_11.2 = in_place_init %Int.as.Copy.impl.Op.call.loc10_11.1 // CHECK:STDOUT: %tuple.elem1.loc10_11.1: ref %i32 = tuple_access %.loc10_11.1, element1 // CHECK:STDOUT: %.loc10_11.5: %i32 = acquire_value %tuple.elem1.loc10_11.1 -// CHECK:STDOUT: %impl.elem0.loc10_11.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc10_11.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc10_11.3: = bound_method %.loc10_11.5, %impl.elem0.loc10_11.2 // CHECK:STDOUT: %specific_fn.loc10_11.2: = specific_function %impl.elem0.loc10_11.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_11.4: = bound_method %.loc10_11.5, %specific_fn.loc10_11.2 @@ -581,7 +581,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %tuple.elem0.loc14_30.1: %AdaptTuple = tuple_access %c.ref, element0 // CHECK:STDOUT: %.loc14_30.1: %tuple.type.e55 = as_compatible %tuple.elem0.loc14_30.1 // CHECK:STDOUT: %tuple.elem0.loc14_30.2: %i32 = tuple_access %.loc14_30.1, element0 -// CHECK:STDOUT: %impl.elem0.loc14_30.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc14_30.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_30.1: = bound_method %tuple.elem0.loc14_30.2, %impl.elem0.loc14_30.1 // CHECK:STDOUT: %specific_fn.loc14_30.1: = specific_function %impl.elem0.loc14_30.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_30.2: = bound_method %tuple.elem0.loc14_30.2, %specific_fn.loc14_30.1 @@ -591,7 +591,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %tuple.elem0.loc14_30.4: ref %i32 = tuple_access %.loc14_30.2, element0 // CHECK:STDOUT: %.loc14_30.3: init %i32 to %tuple.elem0.loc14_30.4 = in_place_init %Int.as.Copy.impl.Op.call.loc14_30.1 // CHECK:STDOUT: %tuple.elem1.loc14_30.1: %i32 = tuple_access %.loc14_30.1, element1 -// CHECK:STDOUT: %impl.elem0.loc14_30.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc14_30.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_30.3: = bound_method %tuple.elem1.loc14_30.1, %impl.elem0.loc14_30.2 // CHECK:STDOUT: %specific_fn.loc14_30.2: = specific_function %impl.elem0.loc14_30.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_30.4: = bound_method %tuple.elem1.loc14_30.1, %specific_fn.loc14_30.2 @@ -602,7 +602,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc14_30.6: init %AdaptTuple = as_compatible %.loc14_30.5 // CHECK:STDOUT: %.loc14_30.7: init %AdaptTuple = converted %tuple.elem0.loc14_30.1, %.loc14_30.6 // CHECK:STDOUT: %tuple.elem1.loc14_30.3: %u32 = tuple_access %c.ref, element1 -// CHECK:STDOUT: %impl.elem0.loc14_30.3: %.5f1 = impl_witness_access constants.%Copy.impl_witness.9d9, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] +// CHECK:STDOUT: %impl.elem0.loc14_30.3: %.4ed = impl_witness_access constants.%Copy.impl_witness.441, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] // CHECK:STDOUT: %bound_method.loc14_30.5: = bound_method %tuple.elem1.loc14_30.3, %impl.elem0.loc14_30.3 // CHECK:STDOUT: %specific_fn.loc14_30.3: = specific_function %impl.elem0.loc14_30.3, @UInt.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_30.6: = bound_method %tuple.elem1.loc14_30.3, %specific_fn.loc14_30.3 @@ -628,7 +628,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc15_10.1: ref %tuple.type.e55 = as_compatible %tuple.elem0.loc15_10.1 // CHECK:STDOUT: %tuple.elem0.loc15_10.2: ref %i32 = tuple_access %.loc15_10.1, element0 // CHECK:STDOUT: %.loc15_10.2: %i32 = acquire_value %tuple.elem0.loc15_10.2 -// CHECK:STDOUT: %impl.elem0.loc15_10.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc15_10.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc15_10.1: = bound_method %.loc15_10.2, %impl.elem0.loc15_10.1 // CHECK:STDOUT: %specific_fn.loc15_10.1: = specific_function %impl.elem0.loc15_10.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_10.2: = bound_method %.loc15_10.2, %specific_fn.loc15_10.1 @@ -639,7 +639,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc15_10.4: init %i32 to %tuple.elem0.loc15_10.4 = in_place_init %Int.as.Copy.impl.Op.call.loc15_10.1 // CHECK:STDOUT: %tuple.elem1.loc15_10.1: ref %i32 = tuple_access %.loc15_10.1, element1 // CHECK:STDOUT: %.loc15_10.5: %i32 = acquire_value %tuple.elem1.loc15_10.1 -// CHECK:STDOUT: %impl.elem0.loc15_10.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc15_10.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc15_10.3: = bound_method %.loc15_10.5, %impl.elem0.loc15_10.2 // CHECK:STDOUT: %specific_fn.loc15_10.2: = specific_function %impl.elem0.loc15_10.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_10.4: = bound_method %.loc15_10.5, %specific_fn.loc15_10.2 @@ -651,7 +651,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc15_10.9: init %AdaptTuple = converted %tuple.elem0.loc15_10.1, %.loc15_10.8 // CHECK:STDOUT: %tuple.elem1.loc15_10.3: ref %u32 = tuple_access %d.ref, element1 // CHECK:STDOUT: %.loc15_10.10: %u32 = acquire_value %tuple.elem1.loc15_10.3 -// CHECK:STDOUT: %impl.elem0.loc15_10.3: %.5f1 = impl_witness_access constants.%Copy.impl_witness.9d9, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] +// CHECK:STDOUT: %impl.elem0.loc15_10.3: %.4ed = impl_witness_access constants.%Copy.impl_witness.441, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] // CHECK:STDOUT: %bound_method.loc15_10.5: = bound_method %.loc15_10.10, %impl.elem0.loc15_10.3 // CHECK:STDOUT: %specific_fn.loc15_10.3: = specific_function %impl.elem0.loc15_10.3, @UInt.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_10.6: = bound_method %.loc15_10.10, %specific_fn.loc15_10.3 @@ -818,12 +818,12 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.6: type = fn_type @Destroy.Op.loc23_3.6 [concrete] @@ -841,7 +841,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -900,7 +900,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %a.ref: %AdaptNoncopyableIndirect = name_ref a, %a // CHECK:STDOUT: %.loc23_3.1: %tuple.type.227 = as_compatible %a.ref // CHECK:STDOUT: %tuple.elem0.loc23_3.1: %i32 = tuple_access %.loc23_3.1, element0 -// CHECK:STDOUT: %impl.elem0.loc23: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc23: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc23_3.1: = bound_method %tuple.elem0.loc23_3.1, %impl.elem0.loc23 // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc23_3.2: = bound_method %tuple.elem0.loc23_3.1, %specific_fn.loc23 @@ -920,7 +920,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc34_11.1: ref %tuple.type.227 = as_compatible %b.ref // CHECK:STDOUT: %tuple.elem0.loc34_11.1: ref %i32 = tuple_access %.loc34_11.1, element0 // CHECK:STDOUT: %.loc34_11.2: %i32 = acquire_value %tuple.elem0.loc34_11.1 -// CHECK:STDOUT: %impl.elem0.loc34: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc34: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc34_11.1: = bound_method %.loc34_11.2, %impl.elem0.loc34 // CHECK:STDOUT: %specific_fn.loc34: = specific_function %impl.elem0.loc34, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc34_11.2: = bound_method %.loc34_11.2, %specific_fn.loc34 @@ -985,12 +985,12 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc9_3.4 [concrete] @@ -1014,12 +1014,12 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %d.var_patt: %pattern_type.418 = var_pattern %d.patt [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.0c5: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.38a: %UInt.as.Copy.impl.Op.type.0c5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.9d9: = impl_witness imports.%Copy.impl_witness_table.fe3, @UInt.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.441: = impl_witness imports.%Copy.impl_witness_table.ae7, @UInt.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.2fd: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.46f: %UInt.as.Copy.impl.Op.type.2fd = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.a37: %Copy.type = facet_value %u32, (%Copy.impl_witness.9d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ec6: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.a37) [concrete] -// CHECK:STDOUT: %.5f1: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ec6, %Copy.facet.a37 [concrete] +// CHECK:STDOUT: %Copy.facet.e98: %Copy.type = facet_value %u32, (%Copy.impl_witness.441) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.94a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.e98) [concrete] +// CHECK:STDOUT: %.4ed: type = fn_type_with_self_type %Copy.WithSelf.Op.type.94a, %Copy.facet.e98 [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.46f, @UInt.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.7: type = fn_type @Destroy.Op.loc14_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.7: %Destroy.Op.type.1d8f74.7 = struct_value () [concrete] @@ -1037,11 +1037,11 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.UInt: %UInt.type = import_ref Core//prelude/parts/uint, UInt, loaded [concrete = constants.%UInt.generic] // CHECK:STDOUT: %Core.import_ref.791: @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op.type (%UInt.as.Copy.impl.Op.type.0c5) = import_ref Core//prelude/parts/uint, loc{{\d+_\d+}}, loaded [symbolic = @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op (constants.%UInt.as.Copy.impl.Op.38a)] -// CHECK:STDOUT: %Copy.impl_witness_table.fe3 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ae7 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1109,7 +1109,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %g.ref: %AdaptStruct = name_ref g, %g // CHECK:STDOUT: %.loc9_3.1: %struct_type.e.f = as_compatible %g.ref // CHECK:STDOUT: %.loc9_3.2: %i32 = struct_access %.loc9_3.1, element0 -// CHECK:STDOUT: %impl.elem0.loc9_3.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc9_3.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc9_3.1: = bound_method %.loc9_3.2, %impl.elem0.loc9_3.1 // CHECK:STDOUT: %specific_fn.loc9_3.1: = specific_function %impl.elem0.loc9_3.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_3.2: = bound_method %.loc9_3.2, %specific_fn.loc9_3.1 @@ -1118,7 +1118,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc9_3.4: ref %i32 = struct_access %.loc9_3.3, element0 // CHECK:STDOUT: %.loc9_3.5: init %i32 to %.loc9_3.4 = in_place_init %Int.as.Copy.impl.Op.call.loc9_3.1 // CHECK:STDOUT: %.loc9_3.6: %i32 = struct_access %.loc9_3.1, element1 -// CHECK:STDOUT: %impl.elem0.loc9_3.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc9_3.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc9_3.3: = bound_method %.loc9_3.6, %impl.elem0.loc9_3.2 // CHECK:STDOUT: %specific_fn.loc9_3.2: = specific_function %impl.elem0.loc9_3.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_3.4: = bound_method %.loc9_3.6, %specific_fn.loc9_3.2 @@ -1139,7 +1139,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc10_11.1: ref %struct_type.e.f = as_compatible %h.ref // CHECK:STDOUT: %.loc10_11.2: ref %i32 = struct_access %.loc10_11.1, element0 // CHECK:STDOUT: %.loc10_11.3: %i32 = acquire_value %.loc10_11.2 -// CHECK:STDOUT: %impl.elem0.loc10_11.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc10_11.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc10_11.1: = bound_method %.loc10_11.3, %impl.elem0.loc10_11.1 // CHECK:STDOUT: %specific_fn.loc10_11.1: = specific_function %impl.elem0.loc10_11.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_11.2: = bound_method %.loc10_11.3, %specific_fn.loc10_11.1 @@ -1149,7 +1149,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc10_11.6: init %i32 to %.loc10_11.5 = in_place_init %Int.as.Copy.impl.Op.call.loc10_11.1 // CHECK:STDOUT: %.loc10_11.7: ref %i32 = struct_access %.loc10_11.1, element1 // CHECK:STDOUT: %.loc10_11.8: %i32 = acquire_value %.loc10_11.7 -// CHECK:STDOUT: %impl.elem0.loc10_11.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc10_11.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc10_11.3: = bound_method %.loc10_11.8, %impl.elem0.loc10_11.2 // CHECK:STDOUT: %specific_fn.loc10_11.2: = specific_function %impl.elem0.loc10_11.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_11.4: = bound_method %.loc10_11.8, %specific_fn.loc10_11.2 @@ -1188,7 +1188,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %tuple.elem0.loc14_31.1: %AdaptStruct = tuple_access %c.ref, element0 // CHECK:STDOUT: %.loc14_31.1: %struct_type.e.f = as_compatible %tuple.elem0.loc14_31.1 // CHECK:STDOUT: %.loc14_31.2: %i32 = struct_access %.loc14_31.1, element0 -// CHECK:STDOUT: %impl.elem0.loc14_31.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc14_31.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_31.1: = bound_method %.loc14_31.2, %impl.elem0.loc14_31.1 // CHECK:STDOUT: %specific_fn.loc14_31.1: = specific_function %impl.elem0.loc14_31.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_31.2: = bound_method %.loc14_31.2, %specific_fn.loc14_31.1 @@ -1198,7 +1198,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc14_31.4: ref %i32 = struct_access %.loc14_31.3, element0 // CHECK:STDOUT: %.loc14_31.5: init %i32 to %.loc14_31.4 = in_place_init %Int.as.Copy.impl.Op.call.loc14_31.1 // CHECK:STDOUT: %.loc14_31.6: %i32 = struct_access %.loc14_31.1, element1 -// CHECK:STDOUT: %impl.elem0.loc14_31.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc14_31.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_31.3: = bound_method %.loc14_31.6, %impl.elem0.loc14_31.2 // CHECK:STDOUT: %specific_fn.loc14_31.2: = specific_function %impl.elem0.loc14_31.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_31.4: = bound_method %.loc14_31.6, %specific_fn.loc14_31.2 @@ -1209,7 +1209,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc14_31.10: init %AdaptStruct = as_compatible %.loc14_31.9 // CHECK:STDOUT: %.loc14_31.11: init %AdaptStruct = converted %tuple.elem0.loc14_31.1, %.loc14_31.10 // CHECK:STDOUT: %tuple.elem1.loc14_31.1: %u32 = tuple_access %c.ref, element1 -// CHECK:STDOUT: %impl.elem0.loc14_31.3: %.5f1 = impl_witness_access constants.%Copy.impl_witness.9d9, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] +// CHECK:STDOUT: %impl.elem0.loc14_31.3: %.4ed = impl_witness_access constants.%Copy.impl_witness.441, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] // CHECK:STDOUT: %bound_method.loc14_31.5: = bound_method %tuple.elem1.loc14_31.1, %impl.elem0.loc14_31.3 // CHECK:STDOUT: %specific_fn.loc14_31.3: = specific_function %impl.elem0.loc14_31.3, @UInt.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_31.6: = bound_method %tuple.elem1.loc14_31.1, %specific_fn.loc14_31.3 @@ -1235,7 +1235,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc15_10.1: ref %struct_type.e.f = as_compatible %tuple.elem0.loc15_10.1 // CHECK:STDOUT: %.loc15_10.2: ref %i32 = struct_access %.loc15_10.1, element0 // CHECK:STDOUT: %.loc15_10.3: %i32 = acquire_value %.loc15_10.2 -// CHECK:STDOUT: %impl.elem0.loc15_10.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc15_10.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc15_10.1: = bound_method %.loc15_10.3, %impl.elem0.loc15_10.1 // CHECK:STDOUT: %specific_fn.loc15_10.1: = specific_function %impl.elem0.loc15_10.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_10.2: = bound_method %.loc15_10.3, %specific_fn.loc15_10.1 @@ -1246,7 +1246,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc15_10.6: init %i32 to %.loc15_10.5 = in_place_init %Int.as.Copy.impl.Op.call.loc15_10.1 // CHECK:STDOUT: %.loc15_10.7: ref %i32 = struct_access %.loc15_10.1, element1 // CHECK:STDOUT: %.loc15_10.8: %i32 = acquire_value %.loc15_10.7 -// CHECK:STDOUT: %impl.elem0.loc15_10.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc15_10.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc15_10.3: = bound_method %.loc15_10.8, %impl.elem0.loc15_10.2 // CHECK:STDOUT: %specific_fn.loc15_10.2: = specific_function %impl.elem0.loc15_10.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_10.4: = bound_method %.loc15_10.8, %specific_fn.loc15_10.2 @@ -1258,7 +1258,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %.loc15_10.13: init %AdaptStruct = converted %tuple.elem0.loc15_10.1, %.loc15_10.12 // CHECK:STDOUT: %tuple.elem1.loc15_10.1: ref %u32 = tuple_access %d.ref, element1 // CHECK:STDOUT: %.loc15_10.14: %u32 = acquire_value %tuple.elem1.loc15_10.1 -// CHECK:STDOUT: %impl.elem0.loc15_10.3: %.5f1 = impl_witness_access constants.%Copy.impl_witness.9d9, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] +// CHECK:STDOUT: %impl.elem0.loc15_10.3: %.4ed = impl_witness_access constants.%Copy.impl_witness.441, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] // CHECK:STDOUT: %bound_method.loc15_10.5: = bound_method %.loc15_10.14, %impl.elem0.loc15_10.3 // CHECK:STDOUT: %specific_fn.loc15_10.3: = specific_function %impl.elem0.loc15_10.3, @UInt.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_10.6: = bound_method %.loc15_10.14, %specific_fn.loc15_10.3 diff --git a/toolchain/check/testdata/class/adapter/init_adapt.carbon b/toolchain/check/testdata/class/adapter/init_adapt.carbon index 8825335e390d..fd4d73cd7cb2 100644 --- a/toolchain/check/testdata/class/adapter/init_adapt.carbon +++ b/toolchain/check/testdata/class/adapter/init_adapt.carbon @@ -120,12 +120,12 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -164,7 +164,7 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -183,7 +183,7 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %AdaptC.decl: type = class_decl @AdaptC [concrete = constants.%AdaptC] {} {} -// CHECK:STDOUT: %impl.elem0.loc13_27.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13_27.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_27.1: = bound_method @__global_init.%int_1, %impl.elem0.loc13_27.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc13_27.1: = specific_function %impl.elem0.loc13_27.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_27.2: = bound_method @__global_init.%int_1, %specific_fn.loc13_27.1 [concrete = constants.%bound_method.953] @@ -192,7 +192,7 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %.loc13_27.2: ref %C = temporary_storage // CHECK:STDOUT: %.loc13_27.3: ref %i32 = class_element_access %.loc13_27.2, element0 // CHECK:STDOUT: %.loc13_27.4: init %i32 to %.loc13_27.3 = in_place_init %.loc13_27.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc13_27.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13_27.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_27.3: = bound_method @__global_init.%int_2, %impl.elem0.loc13_27.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc13_27.2: = specific_function %impl.elem0.loc13_27.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_27.4: = bound_method @__global_init.%int_2, %specific_fn.loc13_27.2 [concrete = constants.%bound_method.3cb] @@ -334,12 +334,12 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -378,7 +378,7 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -397,7 +397,7 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %AdaptC.decl: type = class_decl @AdaptC [concrete = constants.%AdaptC] {} {} -// CHECK:STDOUT: %impl.elem0.loc13_27.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13_27.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_27.1: = bound_method @__global_init.%int_1, %impl.elem0.loc13_27.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc13_27.1: = specific_function %impl.elem0.loc13_27.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_27.2: = bound_method @__global_init.%int_1, %specific_fn.loc13_27.1 [concrete = constants.%bound_method.953] @@ -406,7 +406,7 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %.loc13_27.2: ref %C = temporary_storage // CHECK:STDOUT: %.loc13_27.3: ref %i32 = class_element_access %.loc13_27.2, element0 // CHECK:STDOUT: %.loc13_27.4: init %i32 to %.loc13_27.3 = in_place_init %.loc13_27.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc13_27.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13_27.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_27.3: = bound_method @__global_init.%int_2, %impl.elem0.loc13_27.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc13_27.2: = specific_function %impl.elem0.loc13_27.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_27.4: = bound_method @__global_init.%int_2, %specific_fn.loc13_27.2 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/class/basic.carbon b/toolchain/check/testdata/class/basic.carbon index 2c1fba9a80d6..17f559b60641 100644 --- a/toolchain/check/testdata/class/basic.carbon +++ b/toolchain/check/testdata/class/basic.carbon @@ -55,12 +55,12 @@ fn Run() -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Run.type: type = fn_type @Run [concrete] // CHECK:STDOUT: %Run: %Run.type = struct_value () [concrete] @@ -71,12 +71,12 @@ fn Run() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -94,10 +94,10 @@ fn Run() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -176,7 +176,7 @@ fn Run() -> i32 { // CHECK:STDOUT: fn @Class.F(%n.param: %i32) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc17_12.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_12.2: = bound_method %n.ref, %specific_fn @@ -187,7 +187,7 @@ fn Run() -> i32 { // CHECK:STDOUT: fn @Class.G(%n.param.loc25: %i32) -> out %return.param.loc25: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n.loc25 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc26_10.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc26_10.2: = bound_method %n.ref, %specific_fn @@ -200,7 +200,7 @@ fn Run() -> i32 { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %F.ref: %Class.F.type = name_ref F, @Class.%Class.F.decl [concrete = constants.%Class.F] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc30_18.1: = bound_method %int_4, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc30_18.2: = bound_method %int_4, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/class/complete_in_member_fn.carbon b/toolchain/check/testdata/class/complete_in_member_fn.carbon index 63781aaceb4b..a83b37bf9968 100644 --- a/toolchain/check/testdata/class/complete_in_member_fn.carbon +++ b/toolchain/check/testdata/class/complete_in_member_fn.carbon @@ -42,12 +42,12 @@ class C { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -61,7 +61,7 @@ class C { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -105,7 +105,7 @@ class C { // CHECK:STDOUT: %a.ref: %C.elem = name_ref a, @C.%.loc18 [concrete = @C.%.loc18] // CHECK:STDOUT: %.loc16_31.1: ref %i32 = class_element_access %c.ref, element0 // CHECK:STDOUT: %.loc16_31.2: %i32 = acquire_value %.loc16_31.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_31.1: = bound_method %.loc16_31.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_31.2: = bound_method %.loc16_31.2, %specific_fn diff --git a/toolchain/check/testdata/class/field/compound_field.carbon b/toolchain/check/testdata/class/field/compound_field.carbon index a6abefc45ea5..e0a427202754 100644 --- a/toolchain/check/testdata/class/field/compound_field.carbon +++ b/toolchain/check/testdata/class/field/compound_field.carbon @@ -73,12 +73,12 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %AccessBase.type: type = fn_type @AccessBase [concrete] // CHECK:STDOUT: %AccessBase: %AccessBase.type = struct_value () [concrete] @@ -93,12 +93,12 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %return.patt.dbe: %pattern_type.f00 = return_slot_pattern %return.param_patt.7dd, %ptr.d08 [concrete] // CHECK:STDOUT: %AccessDerivedIndirect.type: type = fn_type @AccessDerivedIndirect [concrete] // CHECK:STDOUT: %AccessDerivedIndirect: %AccessDerivedIndirect.type = struct_value () [concrete] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.b49: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.b49) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet.b49 [concrete] +// CHECK:STDOUT: %Copy.facet.09a: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.09a) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet.09a [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %AccessBaseIndirect.type: type = fn_type @AccessBaseIndirect [concrete] // CHECK:STDOUT: %AccessBaseIndirect: %AccessBaseIndirect.type = struct_value () [concrete] @@ -114,9 +114,9 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -236,7 +236,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %d.ref.loc29_20: %Derived.elem.577 = name_ref d, @Derived.%.loc24 [concrete = @Derived.%.loc24] // CHECK:STDOUT: %.loc29_11.1: ref %i32 = class_element_access %d.ref.loc29_10, element1 // CHECK:STDOUT: %.loc29_11.2: %i32 = acquire_value %.loc29_11.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc29_11.1: = bound_method %.loc29_11.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc29_11.2: = bound_method %.loc29_11.2, %specific_fn @@ -254,7 +254,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %.loc33_11.3: ref %Base = converted %d.ref, %.loc33_11.2 // CHECK:STDOUT: %.loc33_11.4: ref %i32 = class_element_access %.loc33_11.3, element1 // CHECK:STDOUT: %.loc33_11.5: %i32 = acquire_value %.loc33_11.4 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc33_11.1: = bound_method %.loc33_11.5, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc33_11.2: = bound_method %.loc33_11.5, %specific_fn @@ -270,7 +270,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %.loc37_12.1: ref %Derived = deref %p.ref // CHECK:STDOUT: %.loc37_12.2: ref %i32 = class_element_access %.loc37_12.1, element1 // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %.loc37_12.2 -// CHECK:STDOUT: %impl.elem0: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc37_10.1: = bound_method %addr, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc37_10.2: = bound_method %addr, %specific_fn @@ -289,7 +289,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %.loc41_12.4: ref %Base = converted %.loc41_12.1, %.loc41_12.3 // CHECK:STDOUT: %.loc41_12.5: ref %i32 = class_element_access %.loc41_12.4, element1 // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %.loc41_12.5 -// CHECK:STDOUT: %impl.elem0: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc41_10.1: = bound_method %addr, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc41_10.2: = bound_method %addr, %specific_fn diff --git a/toolchain/check/testdata/class/field/field_access.carbon b/toolchain/check/testdata/class/field/field_access.carbon index 546347b83b60..8171af51dbe6 100644 --- a/toolchain/check/testdata/class/field/field_access.carbon +++ b/toolchain/check/testdata/class/field/field_access.carbon @@ -49,10 +49,10 @@ fn Run() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.4e8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.135: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.cac: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.de4: %T.as.DefaultOrUnformed.impl.Op.type.cac = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.4e8) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.135) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.de4, @T.as.DefaultOrUnformed.impl.Op(%Class) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] @@ -61,12 +61,12 @@ fn Run() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -80,12 +80,12 @@ fn Run() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %ck.patt: %pattern_type.6b6 = ref_binding_pattern ck [concrete] // CHECK:STDOUT: %ck.var_patt: %pattern_type.6b6 = var_pattern %ck.patt [concrete] @@ -109,13 +109,13 @@ fn Run() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -145,7 +145,7 @@ fn Run() { // CHECK:STDOUT: fn @Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.var: ref %Class = var_storage %c.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.4e8) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.135) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc21_15.1: %DefaultOrUnformed.type = converted constants.%Class, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc21_15.1 [concrete = constants.%Class] // CHECK:STDOUT: %.loc21_15.2: type = converted %.loc21_15.1, %as_type [concrete = constants.%Class] @@ -163,7 +163,7 @@ fn Run() { // CHECK:STDOUT: %j.ref.loc22: %Class.elem = name_ref j, @Class.%.loc16 [concrete = @Class.%.loc16] // CHECK:STDOUT: %.loc22_4: ref %i32 = class_element_access %c.ref.loc22, element0 // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_7.1: = bound_method %int_1, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem0.loc22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_7.2: = bound_method %int_1, %specific_fn.loc22 [concrete = constants.%bound_method.953] @@ -174,7 +174,7 @@ fn Run() { // CHECK:STDOUT: %k.ref.loc23: %Class.elem = name_ref k, @Class.%.loc17 [concrete = @Class.%.loc17] // CHECK:STDOUT: %.loc23_4: ref %i32 = class_element_access %c.ref.loc23, element1 // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc23: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc23: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc23_7.1: = bound_method %int_2, %impl.elem0.loc23 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_7.2: = bound_method %int_2, %specific_fn.loc23 [concrete = constants.%bound_method.3cb] @@ -186,7 +186,7 @@ fn Run() { // CHECK:STDOUT: %j.ref.loc24: %Class.elem = name_ref j, @Class.%.loc16 [concrete = @Class.%.loc16] // CHECK:STDOUT: %.loc24_25.1: ref %i32 = class_element_access %c.ref.loc24, element0 // CHECK:STDOUT: %.loc24_25.2: %i32 = acquire_value %.loc24_25.1 -// CHECK:STDOUT: %impl.elem0.loc24: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc24: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc24_25.1: = bound_method %.loc24_25.2, %impl.elem0.loc24 // CHECK:STDOUT: %specific_fn.loc24: = specific_function %impl.elem0.loc24, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc24_25.2: = bound_method %.loc24_25.2, %specific_fn.loc24 @@ -203,7 +203,7 @@ fn Run() { // CHECK:STDOUT: %k.ref.loc25: %Class.elem = name_ref k, @Class.%.loc17 [concrete = @Class.%.loc17] // CHECK:STDOUT: %.loc25_25.1: ref %i32 = class_element_access %c.ref.loc25, element1 // CHECK:STDOUT: %.loc25_25.2: %i32 = acquire_value %.loc25_25.1 -// CHECK:STDOUT: %impl.elem0.loc25: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc25: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc25_25.1: = bound_method %.loc25_25.2, %impl.elem0.loc25 // CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc25_25.2: = bound_method %.loc25_25.2, %specific_fn.loc25 diff --git a/toolchain/check/testdata/class/field/field_access_in_value.carbon b/toolchain/check/testdata/class/field/field_access_in_value.carbon index 507da156021c..51223b1f933c 100644 --- a/toolchain/check/testdata/class/field/field_access_in_value.carbon +++ b/toolchain/check/testdata/class/field/field_access_in_value.carbon @@ -50,10 +50,10 @@ fn Test() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.4e8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.135: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.cac: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.de4: %T.as.DefaultOrUnformed.impl.Op.type.cac = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.4e8) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.135) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.de4, @T.as.DefaultOrUnformed.impl.Op(%Class) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] @@ -62,12 +62,12 @@ fn Test() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -82,12 +82,12 @@ fn Test() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %ck.patt: %pattern_type.6b6 = ref_binding_pattern ck [concrete] // CHECK:STDOUT: %ck.var_patt: %pattern_type.6b6 = var_pattern %ck.patt [concrete] @@ -111,13 +111,13 @@ fn Test() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -147,7 +147,7 @@ fn Test() { // CHECK:STDOUT: fn @Test() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %cv.var: ref %Class = var_storage %cv.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.4e8) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.135) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc21_16.1: %DefaultOrUnformed.type = converted constants.%Class, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc21_16.1 [concrete = constants.%Class] // CHECK:STDOUT: %.loc21_16.2: type = converted %.loc21_16.1, %as_type [concrete = constants.%Class] @@ -165,7 +165,7 @@ fn Test() { // CHECK:STDOUT: %j.ref.loc22: %Class.elem = name_ref j, @Class.%.loc16 [concrete = @Class.%.loc16] // CHECK:STDOUT: %.loc22_5: ref %i32 = class_element_access %cv.ref.loc22, element0 // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_8.1: = bound_method %int_1, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem0.loc22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_8.2: = bound_method %int_1, %specific_fn.loc22 [concrete = constants.%bound_method.953] @@ -176,7 +176,7 @@ fn Test() { // CHECK:STDOUT: %k.ref.loc23: %Class.elem = name_ref k, @Class.%.loc17 [concrete = @Class.%.loc17] // CHECK:STDOUT: %.loc23_5: ref %i32 = class_element_access %cv.ref.loc23, element1 // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc23: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc23: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc23_8.1: = bound_method %int_2, %impl.elem0.loc23 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_8.2: = bound_method %int_2, %specific_fn.loc23 [concrete = constants.%bound_method.3cb] @@ -195,7 +195,7 @@ fn Test() { // CHECK:STDOUT: %j.ref.loc25: %Class.elem = name_ref j, @Class.%.loc16 [concrete = @Class.%.loc16] // CHECK:STDOUT: %.loc25_25.1: ref %i32 = class_element_access %c.ref.loc25, element0 // CHECK:STDOUT: %.loc25_25.2: %i32 = acquire_value %.loc25_25.1 -// CHECK:STDOUT: %impl.elem0.loc25: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc25: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc25_25.1: = bound_method %.loc25_25.2, %impl.elem0.loc25 // CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc25_25.2: = bound_method %.loc25_25.2, %specific_fn.loc25 @@ -212,7 +212,7 @@ fn Test() { // CHECK:STDOUT: %k.ref.loc26: %Class.elem = name_ref k, @Class.%.loc17 [concrete = @Class.%.loc17] // CHECK:STDOUT: %.loc26_25.1: ref %i32 = class_element_access %c.ref.loc26, element1 // CHECK:STDOUT: %.loc26_25.2: %i32 = acquire_value %.loc26_25.1 -// CHECK:STDOUT: %impl.elem0.loc26: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc26: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc26_25.1: = bound_method %.loc26_25.2, %impl.elem0.loc26 // CHECK:STDOUT: %specific_fn.loc26: = specific_function %impl.elem0.loc26, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc26_25.2: = bound_method %.loc26_25.2, %specific_fn.loc26 diff --git a/toolchain/check/testdata/class/field/field_initializer.carbon b/toolchain/check/testdata/class/field/field_initializer.carbon index a8ae14686a74..b6334f4e8735 100644 --- a/toolchain/check/testdata/class/field/field_initializer.carbon +++ b/toolchain/check/testdata/class/field/field_initializer.carbon @@ -96,12 +96,12 @@ var C: Class = {}; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -118,7 +118,7 @@ var C: Class = {}; // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -135,7 +135,7 @@ var C: Class = {}; // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %.loc5_12: %Class.elem = field_decl field, element0, initializer = inst6400010D [concrete] // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123.fff] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_20.1: = bound_method %int_123, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_20.2: = bound_method %int_123, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/class/field/static.carbon b/toolchain/check/testdata/class/field/static.carbon index 6fa7ab4bb953..32291eb7280c 100644 --- a/toolchain/check/testdata/class/field/static.carbon +++ b/toolchain/check/testdata/class/field/static.carbon @@ -66,8 +66,8 @@ fn F() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e52: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%i32) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.e52) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.850: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%i32) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.850) [concrete] // CHECK:STDOUT: %static_field_with_init.patt: %pattern_type.6b6 = ref_binding_pattern static_field_with_init [concrete] // CHECK:STDOUT: %static_field_with_init.var_patt: %pattern_type.6b6 = var_pattern %static_field_with_init.patt [concrete] // CHECK:STDOUT: %int_123.fff: Core.IntLiteral = int_value 123 [concrete] @@ -75,12 +75,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b1d: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.450: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -97,9 +97,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -136,7 +136,7 @@ fn F() { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %static_field.ref: ref %i32 = name_ref static_field, @C.%static_field [concrete = @C.%static_field.var] // CHECK:STDOUT: %int_456: Core.IntLiteral = int_value 456 [concrete = constants.%int_456.010] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_18.1: = bound_method %int_456, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.efc] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_18.2: = bound_method %int_456, %specific_fn [concrete = constants.%bound_method.c5c] @@ -148,7 +148,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%i32, (constants.%DefaultOrUnformed.impl_witness.e52) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%i32, (constants.%DefaultOrUnformed.impl_witness.850) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc5_31.1: %DefaultOrUnformed.type = converted constants.%i32, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc5_31.1 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_31.2: type = converted %.loc5_31.1, %as_type [concrete = constants.%i32] @@ -156,7 +156,7 @@ fn F() { // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call: init %i32 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn() // CHECK:STDOUT: assign @C.%static_field.var, %T.as.DefaultOrUnformed.impl.Op.call // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123.fff] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_10.1: = bound_method %int_123, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b1d] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_10.2: = bound_method %int_123, %specific_fn [concrete = constants.%bound_method.450] diff --git a/toolchain/check/testdata/class/forward_declared.carbon b/toolchain/check/testdata/class/forward_declared.carbon index c92c0e6bcce0..434f7b3d23a9 100644 --- a/toolchain/check/testdata/class/forward_declared.carbon +++ b/toolchain/check/testdata/class/forward_declared.carbon @@ -33,12 +33,12 @@ fn F(p: Class*) -> Class* { return p; } // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.fa4: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Class) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.67e: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Class) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.6c2: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.8fa: %ptr.as.Copy.impl.Op.type.6c2 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.fa4) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8bf: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.4c3: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8bf, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.67e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.707: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.8ed: type = fn_type_with_self_type %Copy.WithSelf.Op.type.707, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.8fa, @ptr.as.Copy.impl.Op(%Class) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -50,7 +50,7 @@ fn F(p: Class*) -> Class* { return p; } // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -86,7 +86,7 @@ fn F(p: Class*) -> Class* { return p; } // CHECK:STDOUT: fn @F(%p.param: %ptr.7ee) -> out %return.param: %ptr.7ee { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %ptr.7ee = name_ref p, %p -// CHECK:STDOUT: %impl.elem0: %.4c3 = impl_witness_access constants.%Copy.impl_witness.fa4, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] +// CHECK:STDOUT: %impl.elem0: %.8ed = impl_witness_access constants.%Copy.impl_witness.67e, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] // CHECK:STDOUT: %bound_method.loc17_36.1: = bound_method %p.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%Class) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_36.2: = bound_method %p.ref, %specific_fn diff --git a/toolchain/check/testdata/class/generic/adapt.carbon b/toolchain/check/testdata/class/generic/adapt.carbon index e9d604593a9b..5f83168911e8 100644 --- a/toolchain/check/testdata/class/generic/adapt.carbon +++ b/toolchain/check/testdata/class/generic/adapt.carbon @@ -167,12 +167,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -186,7 +186,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -272,7 +272,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %x.ref: %C.elem.29b = name_ref x, @C.%.loc5 [concrete = @C.%.loc5] // CHECK:STDOUT: %.loc13_23.1: ref %i32 = class_element_access %.loc13_13.2, element0 // CHECK:STDOUT: %.loc13_23.2: %i32 = acquire_value %.loc13_23.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc13_23.1: = bound_method %.loc13_23.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc13_23.2: = bound_method %.loc13_23.2, %specific_fn @@ -339,12 +339,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -368,7 +368,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %.c54: @C.%C.elem (%C.elem.4d5) = field_decl x, element0 [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -437,7 +437,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %x.ref: %C.elem.29b = name_ref x, imports.%Main.import_ref.ba1 [concrete = imports.%.c54] // CHECK:STDOUT: %.loc7_23.1: ref %i32 = class_element_access %.loc7_13.2, element0 // CHECK:STDOUT: %.loc7_23.2: %i32 = acquire_value %.loc7_23.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc7_23.1: = bound_method %.loc7_23.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_23.2: = bound_method %.loc7_23.2, %specific_fn @@ -914,12 +914,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -933,7 +933,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -998,7 +998,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_12.1: %i32 = as_compatible %a.ref // CHECK:STDOUT: %.loc9_12.2: %i32 = converted %a.ref, %.loc9_12.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc9_12.1: = bound_method %.loc9_12.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_12.2: = bound_method %.loc9_12.2, %specific_fn @@ -1051,12 +1051,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %C.elem: type = unbound_element_type %C, %i32 [concrete] @@ -1086,7 +1086,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1171,7 +1171,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7_12.1: %i32 = as_compatible %a.ref // CHECK:STDOUT: %.loc7_12.2: %i32 = converted %a.ref, %.loc7_12.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc7_12.1: = bound_method %.loc7_12.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_12.2: = bound_method %.loc7_12.2, %specific_fn @@ -1188,7 +1188,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %n.ref: %C.elem = name_ref n, @C.%.loc11 [concrete = @C.%.loc11] // CHECK:STDOUT: %.loc15_18.1: ref %i32 = class_element_access %.loc15_13.2, element0 // CHECK:STDOUT: %.loc15_18.2: %i32 = acquire_value %.loc15_18.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc15_18.1: = bound_method %.loc15_18.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_18.2: = bound_method %.loc15_18.2, %specific_fn diff --git a/toolchain/check/testdata/class/generic/base_is_generic.carbon b/toolchain/check/testdata/class/generic/base_is_generic.carbon index 6be094ce5308..edeaeba11051 100644 --- a/toolchain/check/testdata/class/generic/base_is_generic.carbon +++ b/toolchain/check/testdata/class/generic/base_is_generic.carbon @@ -137,12 +137,12 @@ fn H() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -156,7 +156,7 @@ fn H() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -258,7 +258,7 @@ fn H() { // CHECK:STDOUT: %y.ref: %Param.elem = name_ref y, @Param.%.loc9 [concrete = @Param.%.loc9] // CHECK:STDOUT: %.loc17_13.1: ref %i32 = class_element_access %.loc17_11.4, element0 // CHECK:STDOUT: %.loc17_13.2: %i32 = acquire_value %.loc17_13.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc17_13.1: = bound_method %.loc17_13.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_13.2: = bound_method %.loc17_13.2, %specific_fn @@ -328,12 +328,12 @@ fn H() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -364,7 +364,7 @@ fn H() { // CHECK:STDOUT: %.8bf: %Param.elem = field_decl y, element0 [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -445,7 +445,7 @@ fn H() { // CHECK:STDOUT: %y.ref: %Param.elem = name_ref y, imports.%Main.import_ref.573 [concrete = imports.%.8bf] // CHECK:STDOUT: %.loc7_13.1: ref %i32 = class_element_access %.loc7_11.4, element0 // CHECK:STDOUT: %.loc7_13.2: %i32 = acquire_value %.loc7_13.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc7_13.1: = bound_method %.loc7_13.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_13.2: = bound_method %.loc7_13.2, %specific_fn diff --git a/toolchain/check/testdata/class/generic/call.carbon b/toolchain/check/testdata/class/generic/call.carbon index 0fc857a2354c..68af43449131 100644 --- a/toolchain/check/testdata/class/generic/call.carbon +++ b/toolchain/check/testdata/class/generic/call.carbon @@ -119,12 +119,12 @@ class Outer(T: type) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.c9d: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -136,10 +136,10 @@ class Outer(T: type) { // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.d52: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Class.4f7) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.683: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class.4f7) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.cd1: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class.4f7) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.bc2: %T.as.DefaultOrUnformed.impl.Op.type.cd1 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.912: %DefaultOrUnformed.type = facet_value %Class.4f7, (%DefaultOrUnformed.impl_witness.d52) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.28b: %DefaultOrUnformed.type = facet_value %Class.4f7, (%DefaultOrUnformed.impl_witness.683) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.5c2: = specific_function %T.as.DefaultOrUnformed.impl.Op.bc2, @T.as.DefaultOrUnformed.impl.Op(%Class.4f7) [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] @@ -150,10 +150,10 @@ class Outer(T: type) { // CHECK:STDOUT: %pattern_type.a95: type = pattern_type %Class.958 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.a95 = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.a95 = var_pattern %b.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.57a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Class.958) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.23f: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class.958) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.a07: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class.958) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.7eb: %T.as.DefaultOrUnformed.impl.Op.type.a07 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.1b4: %DefaultOrUnformed.type = facet_value %Class.958, (%DefaultOrUnformed.impl_witness.57a) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.a28: %DefaultOrUnformed.type = facet_value %Class.958, (%DefaultOrUnformed.impl_witness.23f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.894: = specific_function %T.as.DefaultOrUnformed.impl.Op.7eb, @T.as.DefaultOrUnformed.impl.Op(%Class.958) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -168,10 +168,10 @@ class Outer(T: 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.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -203,7 +203,7 @@ class Outer(T: type) { // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.d08] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0.loc6: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_21.1: = bound_method %int_5, %impl.elem0.loc6 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_21.2: = bound_method %int_5, %specific_fn.loc6 [concrete = constants.%bound_method.c9d] @@ -223,7 +223,7 @@ class Outer(T: type) { // CHECK:STDOUT: %.loc9_15: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc9_19.2: type = converted %.loc9_15, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: %impl.elem0.loc9: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_19.1: = bound_method %int_0, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_19.2: = bound_method %int_0, %specific_fn.loc9 [concrete = constants.%bound_method.6e0] @@ -258,16 +258,16 @@ class Outer(T: type) { // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc6: %DefaultOrUnformed.type = facet_value constants.%Class.4f7, (constants.%DefaultOrUnformed.impl_witness.d52) [concrete = constants.%DefaultOrUnformed.facet.912] -// CHECK:STDOUT: %.loc6_22.1: %DefaultOrUnformed.type = converted constants.%Class.4f7, %DefaultOrUnformed.facet.loc6 [concrete = constants.%DefaultOrUnformed.facet.912] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc6: %DefaultOrUnformed.type = facet_value constants.%Class.4f7, (constants.%DefaultOrUnformed.impl_witness.683) [concrete = constants.%DefaultOrUnformed.facet.28b] +// CHECK:STDOUT: %.loc6_22.1: %DefaultOrUnformed.type = converted constants.%Class.4f7, %DefaultOrUnformed.facet.loc6 [concrete = constants.%DefaultOrUnformed.facet.28b] // CHECK:STDOUT: %as_type.loc6: type = facet_access_type %.loc6_22.1 [concrete = constants.%Class.4f7] // CHECK:STDOUT: %.loc6_22.2: type = converted %.loc6_22.1, %as_type.loc6 [concrete = constants.%Class.4f7] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.1: = specific_function constants.%T.as.DefaultOrUnformed.impl.Op.bc2, @T.as.DefaultOrUnformed.impl.Op(constants.%Class.4f7) [concrete = constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn.5c2] // CHECK:STDOUT: %.loc6_1: ref %Class.4f7 = splice_block file.%a.var [concrete = file.%a.var] {} // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc6: init %Class.4f7 to %.loc6_1 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.1() // CHECK:STDOUT: assign file.%a.var, %T.as.DefaultOrUnformed.impl.Op.call.loc6 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc9: %DefaultOrUnformed.type = facet_value constants.%Class.958, (constants.%DefaultOrUnformed.impl_witness.57a) [concrete = constants.%DefaultOrUnformed.facet.1b4] -// CHECK:STDOUT: %.loc9_20.1: %DefaultOrUnformed.type = converted constants.%Class.958, %DefaultOrUnformed.facet.loc9 [concrete = constants.%DefaultOrUnformed.facet.1b4] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc9: %DefaultOrUnformed.type = facet_value constants.%Class.958, (constants.%DefaultOrUnformed.impl_witness.23f) [concrete = constants.%DefaultOrUnformed.facet.a28] +// CHECK:STDOUT: %.loc9_20.1: %DefaultOrUnformed.type = converted constants.%Class.958, %DefaultOrUnformed.facet.loc9 [concrete = constants.%DefaultOrUnformed.facet.a28] // CHECK:STDOUT: %as_type.loc9: type = facet_access_type %.loc9_20.1 [concrete = constants.%Class.958] // CHECK:STDOUT: %.loc9_20.2: type = converted %.loc9_20.1, %as_type.loc9 [concrete = constants.%Class.958] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.2: = specific_function constants.%T.as.DefaultOrUnformed.impl.Op.7eb, @T.as.DefaultOrUnformed.impl.Op(constants.%Class.958) [concrete = constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn.894] diff --git a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon index 5a26990369c7..3e7208333b50 100644 --- a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon +++ b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon @@ -83,12 +83,12 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %complete_type.877: = complete_type_witness %struct_type.base.n [symbolic] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -120,7 +120,7 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %Core.Int: %Int.type.6c1 = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -167,7 +167,7 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %.loc12_13: type = splice_block %ptr.loc12 [concrete = constants.%ptr.4dd] { // CHECK:STDOUT: %A.ref: %A.type = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_12.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_12.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.6e0] diff --git a/toolchain/check/testdata/class/generic/field.carbon b/toolchain/check/testdata/class/generic/field.carbon index 7c602d2822db..9d2383cee158 100644 --- a/toolchain/check/testdata/class/generic/field.carbon +++ b/toolchain/check/testdata/class/generic/field.carbon @@ -87,12 +87,12 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: %return.param_patt.bf4475.2: %pattern_type.2c66b4.2 = out_param_pattern [symbolic] // CHECK:STDOUT: %.1ce700.2: Core.Form = init_form %T.as_type [symbolic] // CHECK:STDOUT: %require_complete.d83f06.1: = require_complete_type %T.as_type [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Class.c74ef3.1: type = class_type @Class, @Class(%T.as_type) [symbolic] // CHECK:STDOUT: %pattern_type.6b8c16.1: type = pattern_type %Class.c74ef3.1 [symbolic] @@ -142,7 +142,7 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -264,7 +264,7 @@ fn H(generic U: Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: %x.ref: %Class.elem.344 = name_ref x, @Class.%.loc6 [concrete = @Class.%.loc6] // CHECK:STDOUT: %.loc10_11.1: ref %i32 = class_element_access %c.ref, element0 // CHECK:STDOUT: %.loc10_11.2: %i32 = acquire_value %.loc10_11.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc10_11.1: = bound_method %.loc10_11.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_11.2: = bound_method %.loc10_11.2, %specific_fn diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index 02de1bc8af88..6bf52fdad1f1 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -121,12 +121,12 @@ class Class(U: type) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -150,7 +150,7 @@ class Class(U: 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.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -236,7 +236,7 @@ class Class(U: type) { // CHECK:STDOUT: fn() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_27.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_27.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] @@ -319,12 +319,12 @@ class Class(U: type) { // CHECK:STDOUT: %struct_type.n.44a: type = struct_type {.n: Core.IntLiteral} [concrete] // CHECK:STDOUT: %struct: %struct_type.n.44a = struct_value (%int_1.5b8) [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.778: = impl_witness imports.%ImplicitAs.impl_witness_table.1f3, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.778) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.d74: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2eb, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -341,7 +341,7 @@ class Class(U: type) { // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Main.import_ref.717: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Main//foo, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1f3 = impl_witness_table (%Main.import_ref.717), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Main.import_ref.717), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Main.import_ref.b3bc94.1: type = import_ref Main//foo, loc4_14, loaded [symbolic = @Class.%T.1 (constants.%T)] // CHECK:STDOUT: %Main.import_ref.b3bc94.2: type = import_ref Main//foo, loc6_22, loaded [symbolic = @CompleteClass.%T (constants.%T)] // CHECK:STDOUT: %Main.import_ref.0aa: = import_ref Main//foo, loc9_1, loaded [concrete = constants.%complete_type.cdf] @@ -440,7 +440,7 @@ class Class(U: type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc9_17.1: %struct_type.n.44a = struct_literal (%int_1) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0: %.d74 = impl_witness_access constants.%ImplicitAs.impl_witness.778, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_17.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_17.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -527,12 +527,12 @@ class Class(U: type) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -558,7 +558,7 @@ class Class(U: type) { // CHECK:STDOUT: %.5a2: @CompleteClass.%CompleteClass.elem (%CompleteClass.elem.c1f) = field_decl n, element0 [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -685,7 +685,7 @@ class Class(U: type) { // CHECK:STDOUT: %n.ref: %CompleteClass.elem.2cc = name_ref n, imports.%Main.import_ref.111 [concrete = imports.%.5a2] // CHECK:STDOUT: %.loc12_11.1: ref %i32 = class_element_access %v.ref, element0 // CHECK:STDOUT: %.loc12_11.2: %i32 = acquire_value %.loc12_11.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc12_11.1: = bound_method %.loc12_11.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc12_11.2: = bound_method %.loc12_11.2, %specific_fn diff --git a/toolchain/check/testdata/class/generic/init.carbon b/toolchain/check/testdata/class/generic/init.carbon index 389ad8adf5fd..68fe3d1eef15 100644 --- a/toolchain/check/testdata/class/generic/init.carbon +++ b/toolchain/check/testdata/class/generic/init.carbon @@ -64,8 +64,8 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Copy.type, %type.as.BitAndWith.impl.Op [concrete] @@ -130,12 +130,12 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %v.var_patt.68c: %pattern_type.82c = var_pattern %v.patt.675 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc15_3.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.4: %Destroy.Op.type.1d8f74.4 = struct_value () [concrete] @@ -157,7 +157,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %BitAndWith.impl_witness_table = impl_witness_table (%Core.import_ref.9c3), @type.as.BitAndWith.impl [concrete] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -178,7 +178,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %Copy.ref: type = name_ref Copy, imports.%Core.Copy [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.ref.loc9_49: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Destroy.ref: type = name_ref Destroy, imports.%Core.Destroy [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %impl.elem0.loc9: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %Copy.ref, %impl.elem0.loc9 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method.loc9(%Copy.ref, %Destroy.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc9_47.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -310,7 +310,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %v.var: ref %Class.a32 = var_storage %v.var_patt // CHECK:STDOUT: %x.ref: %i32 = name_ref x, %x // CHECK:STDOUT: %.loc15_30.1: %struct_type.k.e7c = struct_literal (%x.ref) -// CHECK:STDOUT: %impl.elem0.loc15: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc15: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc15_29.1: = bound_method %x.ref, %impl.elem0.loc15 // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_29.2: = bound_method %x.ref, %specific_fn.loc15 @@ -336,7 +336,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %k.ref: %Class.elem.8f3 = name_ref k, @Class.%.loc5 [concrete = @Class.%.loc5] // CHECK:STDOUT: %.loc16_11.1: ref %i32 = class_element_access %v.ref, element0 // CHECK:STDOUT: %.loc16_11.2: %i32 = acquire_value %.loc16_11.1 -// CHECK:STDOUT: %impl.elem0.loc16: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc16: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_11.1: = bound_method %.loc16_11.2, %impl.elem0.loc16 // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_11.2: = bound_method %.loc16_11.2, %specific_fn.loc16 @@ -419,12 +419,12 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %Adapt.f89: type = class_type @Adapt, @Adapt(%i32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -438,7 +438,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -544,7 +544,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %i32.loc14_31: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc14_28.1: %i32 = as_compatible %.loc14_13.2 // CHECK:STDOUT: %.loc14_28.2: %i32 = converted %.loc14_13.2, %.loc14_28.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_28.1: = bound_method %.loc14_28.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_28.2: = bound_method %.loc14_28.2, %specific_fn diff --git a/toolchain/check/testdata/class/generic/member_access.carbon b/toolchain/check/testdata/class/generic/member_access.carbon index 97b65a6c9e29..7dee95e03a5a 100644 --- a/toolchain/check/testdata/class/generic/member_access.carbon +++ b/toolchain/check/testdata/class/generic/member_access.carbon @@ -115,57 +115,57 @@ fn StaticMemberFunctionCall(generic T: type) -> Class(T) { // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] // CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete] // CHECK:STDOUT: %complete_type.f8a: = complete_type_witness %i32.builtin [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Class.ce6: type = class_type @Class, @Class(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %pattern_type.658: type = pattern_type %Class.ce6 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Class.e86: type = class_type @Class, @Class(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %pattern_type.7a2: type = pattern_type %Class.e86 [concrete] // CHECK:STDOUT: %.795: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] // CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete] // CHECK:STDOUT: %x.patt.29f: %pattern_type.6b6 = ref_binding_pattern x [concrete] -// CHECK:STDOUT: %Class.elem.32a: type = unbound_element_type %Class.ce6, %i32 [concrete] -// CHECK:STDOUT: %Class.Get.type.9ad: type = fn_type @Class.Get, @Class(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %Class.Get.ae0: %Class.Get.type.9ad = struct_value () [concrete] -// CHECK:STDOUT: %Class.GetAddr.type.1ad: type = fn_type @Class.GetAddr, @Class(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %Class.GetAddr.26c: %Class.GetAddr.type.1ad = struct_value () [concrete] +// CHECK:STDOUT: %Class.elem.d3c: type = unbound_element_type %Class.e86, %i32 [concrete] +// CHECK:STDOUT: %Class.Get.type.45c: type = fn_type @Class.Get, @Class(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %Class.Get.28a: %Class.Get.type.45c = struct_value () [concrete] +// CHECK:STDOUT: %Class.GetAddr.type.733: type = fn_type @Class.GetAddr, @Class(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %Class.GetAddr.bf3: %Class.GetAddr.type.733 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.x.a15: type = struct_type {.x: %i32} [concrete] // CHECK:STDOUT: %complete_type.0c6: = complete_type_witness %struct_type.x.a15 [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] -// CHECK:STDOUT: %self.param_patt.c5b: %pattern_type.658 = value_param_pattern [concrete] -// CHECK:STDOUT: %self.patt.d4d: %pattern_type.658 = at_binding_pattern self, %self.param_patt.c5b [concrete] -// CHECK:STDOUT: %Class.Get.specific_fn: = specific_function %Class.Get.ae0, @Class.Get(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %ptr.57b: type = ptr_type %Class.ce6 [concrete] -// CHECK:STDOUT: %self.param_patt.447: %pattern_type.658 = ref_param_pattern [concrete] -// CHECK:STDOUT: %self.patt.255: %pattern_type.658 = at_binding_pattern self, %self.param_patt.447 [concrete] +// CHECK:STDOUT: %self.param_patt.2d3: %pattern_type.7a2 = value_param_pattern [concrete] +// CHECK:STDOUT: %self.patt.fdc: %pattern_type.7a2 = at_binding_pattern self, %self.param_patt.2d3 [concrete] +// CHECK:STDOUT: %Class.Get.specific_fn: = specific_function %Class.Get.28a, @Class.Get(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %ptr.747: type = ptr_type %Class.e86 [concrete] +// CHECK:STDOUT: %self.param_patt.1b9: %pattern_type.7a2 = ref_param_pattern [concrete] +// CHECK:STDOUT: %self.patt.964: %pattern_type.7a2 = at_binding_pattern self, %self.param_patt.1b9 [concrete] // CHECK:STDOUT: %ptr.d08: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %.952: Core.Form = init_form %ptr.d08 [concrete] // CHECK:STDOUT: %pattern_type.f00: type = pattern_type %ptr.d08 [concrete] // CHECK:STDOUT: %return.param_patt.7dd: %pattern_type.f00 = out_param_pattern [concrete] // CHECK:STDOUT: %return.patt.dbe: %pattern_type.f00 = return_slot_pattern %return.param_patt.7dd, %ptr.d08 [concrete] -// CHECK:STDOUT: %Class.GetAddr.specific_fn: = specific_function %Class.GetAddr.26c, @Class.GetAddr(%Copy.facet.987) [concrete] +// CHECK:STDOUT: %Class.GetAddr.specific_fn: = specific_function %Class.GetAddr.bf3, @Class.GetAddr(%Copy.facet.1e1) [concrete] // CHECK:STDOUT: %complete_type.07f: = complete_type_witness %ptr.d08 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] // CHECK:STDOUT: %.c00: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%i32) [concrete] -// CHECK:STDOUT: %Copy.facet.b49: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.b49) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet.b49 [concrete] +// CHECK:STDOUT: %Copy.facet.09a: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.09a) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet.09a [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @Class(%T.loc4_14.2: %Copy.type) { @@ -251,13 +251,13 @@ fn StaticMemberFunctionCall(generic T: type) -> Class(T) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @DirectFieldAccess(%x.param: %Class.ce6) -> out %return.param: %i32 { +// CHECK:STDOUT: fn @DirectFieldAccess(%x.param: %Class.e86) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %x.ref.loc22_10: %Class.ce6 = name_ref x, %x -// CHECK:STDOUT: %x.ref.loc22_11: %Class.elem.32a = name_ref x, @Class.%.loc5 [concrete = @Class.%.loc5] +// CHECK:STDOUT: %x.ref.loc22_10: %Class.e86 = name_ref x, %x +// CHECK:STDOUT: %x.ref.loc22_11: %Class.elem.d3c = name_ref x, @Class.%.loc5 [concrete = @Class.%.loc5] // CHECK:STDOUT: %.loc22_11.1: ref %i32 = class_element_access %x.ref.loc22_10, element0 // CHECK:STDOUT: %.loc22_11.2: %i32 = acquire_value %.loc22_11.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc22_11.1: = bound_method %.loc22_11.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc22_11.2: = bound_method %.loc22_11.2, %specific_fn @@ -265,33 +265,33 @@ fn StaticMemberFunctionCall(generic T: type) -> Class(T) { // CHECK:STDOUT: return %Int.as.Copy.impl.Op.call // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @MethodCall(%x.param: %Class.ce6) -> out %return.param: %i32 { +// CHECK:STDOUT: fn @MethodCall(%x.param: %Class.e86) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %x.ref: %Class.ce6 = name_ref x, %x -// CHECK:STDOUT: %.loc28: %Class.Get.type.9ad = specific_constant @Class.%Class.Get.decl, @Class(constants.%Copy.facet.987) [concrete = constants.%Class.Get.ae0] -// CHECK:STDOUT: %Get.ref: %Class.Get.type.9ad = name_ref Get, %.loc28 [concrete = constants.%Class.Get.ae0] +// CHECK:STDOUT: %x.ref: %Class.e86 = name_ref x, %x +// CHECK:STDOUT: %.loc28: %Class.Get.type.45c = specific_constant @Class.%Class.Get.decl, @Class(constants.%Copy.facet.1e1) [concrete = constants.%Class.Get.28a] +// CHECK:STDOUT: %Get.ref: %Class.Get.type.45c = name_ref Get, %.loc28 [concrete = constants.%Class.Get.28a] // CHECK:STDOUT: %Class.Get.bound: = bound_method %x.ref, %Get.ref -// CHECK:STDOUT: %Class.Get.specific_fn: = specific_function %Get.ref, @Class.Get(constants.%Copy.facet.987) [concrete = constants.%Class.Get.specific_fn] +// CHECK:STDOUT: %Class.Get.specific_fn: = specific_function %Get.ref, @Class.Get(constants.%Copy.facet.1e1) [concrete = constants.%Class.Get.specific_fn] // CHECK:STDOUT: %bound_method: = bound_method %x.ref, %Class.Get.specific_fn // CHECK:STDOUT: %Class.Get.call: init %i32 = call %bound_method(%x.ref) // CHECK:STDOUT: return %Class.Get.call // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @AddrMethodCall(%p.param: %ptr.57b) -> out %return.param: %i32 { +// CHECK:STDOUT: fn @AddrMethodCall(%p.param: %ptr.747) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %p.ref: %ptr.57b = name_ref p, %p -// CHECK:STDOUT: %.loc34_12.1: ref %Class.ce6 = deref %p.ref -// CHECK:STDOUT: %.loc34_12.2: %Class.GetAddr.type.1ad = specific_constant @Class.%Class.GetAddr.decl, @Class(constants.%Copy.facet.987) [concrete = constants.%Class.GetAddr.26c] -// CHECK:STDOUT: %GetAddr.ref: %Class.GetAddr.type.1ad = name_ref GetAddr, %.loc34_12.2 [concrete = constants.%Class.GetAddr.26c] +// CHECK:STDOUT: %p.ref: %ptr.747 = name_ref p, %p +// CHECK:STDOUT: %.loc34_12.1: ref %Class.e86 = deref %p.ref +// CHECK:STDOUT: %.loc34_12.2: %Class.GetAddr.type.733 = specific_constant @Class.%Class.GetAddr.decl, @Class(constants.%Copy.facet.1e1) [concrete = constants.%Class.GetAddr.bf3] +// CHECK:STDOUT: %GetAddr.ref: %Class.GetAddr.type.733 = name_ref GetAddr, %.loc34_12.2 [concrete = constants.%Class.GetAddr.bf3] // CHECK:STDOUT: %Class.GetAddr.bound: = bound_method %.loc34_12.1, %GetAddr.ref -// CHECK:STDOUT: %Class.GetAddr.specific_fn: = specific_function %GetAddr.ref, @Class.GetAddr(constants.%Copy.facet.987) [concrete = constants.%Class.GetAddr.specific_fn] +// CHECK:STDOUT: %Class.GetAddr.specific_fn: = specific_function %GetAddr.ref, @Class.GetAddr(constants.%Copy.facet.1e1) [concrete = constants.%Class.GetAddr.specific_fn] // CHECK:STDOUT: %bound_method.loc34_22: = bound_method %.loc34_12.1, %Class.GetAddr.specific_fn // CHECK:STDOUT: %Class.GetAddr.call: init %ptr.d08 = call %bound_method.loc34_22(%.loc34_12.1) // CHECK:STDOUT: %.loc34_22.1: %ptr.d08 = value_of_initializer %Class.GetAddr.call // CHECK:STDOUT: %.loc34_22.2: %ptr.d08 = converted %Class.GetAddr.call, %.loc34_22.1 // CHECK:STDOUT: %.loc34_10.1: ref %i32 = deref %.loc34_22.2 // CHECK:STDOUT: %.loc34_10.2: %i32 = acquire_value %.loc34_10.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc34_10.1: = bound_method %.loc34_10.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc34_10.2: = bound_method %.loc34_10.2, %specific_fn @@ -345,31 +345,31 @@ fn StaticMemberFunctionCall(generic T: type) -> Class(T) { // CHECK:STDOUT: %return.patt.loc13_24.2 => constants.%return.patt.c21 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Class(constants.%Copy.facet.987) { +// CHECK:STDOUT: specific @Class(constants.%Copy.facet.1e1) { // CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.fe6 -// CHECK:STDOUT: %T.loc4_14.1 => constants.%Copy.facet.987 +// CHECK:STDOUT: %T.loc4_14.1 => constants.%Copy.facet.1e1 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as_type => constants.%i32 // CHECK:STDOUT: %require_complete => constants.%complete_type.f8a // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6b6 // CHECK:STDOUT: %x.patt => constants.%x.patt.29f -// CHECK:STDOUT: %Class => constants.%Class.ce6 -// CHECK:STDOUT: %Class.elem => constants.%Class.elem.32a -// CHECK:STDOUT: %Class.Get.type => constants.%Class.Get.type.9ad -// CHECK:STDOUT: %Class.Get => constants.%Class.Get.ae0 -// CHECK:STDOUT: %Class.GetAddr.type => constants.%Class.GetAddr.type.1ad -// CHECK:STDOUT: %Class.GetAddr => constants.%Class.GetAddr.26c +// CHECK:STDOUT: %Class => constants.%Class.e86 +// CHECK:STDOUT: %Class.elem => constants.%Class.elem.d3c +// CHECK:STDOUT: %Class.Get.type => constants.%Class.Get.type.45c +// CHECK:STDOUT: %Class.Get => constants.%Class.Get.28a +// CHECK:STDOUT: %Class.GetAddr.type => constants.%Class.GetAddr.type.733 +// CHECK:STDOUT: %Class.GetAddr => constants.%Class.GetAddr.bf3 // CHECK:STDOUT: %struct_type.x => constants.%struct_type.x.a15 // CHECK:STDOUT: %complete_type.loc18_1.2 => constants.%complete_type.0c6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Class.Get(constants.%Copy.facet.987) { -// CHECK:STDOUT: %T => constants.%Copy.facet.987 -// CHECK:STDOUT: %Class => constants.%Class.ce6 -// CHECK:STDOUT: %pattern_type.loc7_10 => constants.%pattern_type.658 -// CHECK:STDOUT: %self.param_patt.loc7_10.2 => constants.%self.param_patt.c5b -// CHECK:STDOUT: %self.patt.loc7_10.2 => constants.%self.patt.d4d +// CHECK:STDOUT: specific @Class.Get(constants.%Copy.facet.1e1) { +// CHECK:STDOUT: %T => constants.%Copy.facet.1e1 +// CHECK:STDOUT: %Class => constants.%Class.e86 +// CHECK:STDOUT: %pattern_type.loc7_10 => constants.%pattern_type.7a2 +// CHECK:STDOUT: %self.param_patt.loc7_10.2 => constants.%self.param_patt.2d3 +// CHECK:STDOUT: %self.patt.loc7_10.2 => constants.%self.patt.fdc // CHECK:STDOUT: %T.as_type.loc7_19.1 => constants.%i32 // CHECK:STDOUT: %.loc7_19.2 => constants.%.795 // CHECK:STDOUT: %pattern_type.loc7_19 => constants.%pattern_type.6b6 @@ -378,21 +378,21 @@ fn StaticMemberFunctionCall(generic T: type) -> Class(T) { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc7 => constants.%complete_type.0c6 -// CHECK:STDOUT: %Class.elem => constants.%Class.elem.32a +// CHECK:STDOUT: %Class.elem => constants.%Class.elem.d3c // CHECK:STDOUT: %require_complete.loc9 => constants.%complete_type.f8a -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.d09 -// CHECK:STDOUT: %.loc9_16.5 => constants.%.7a6 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.0e0 +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.381 +// CHECK:STDOUT: %.loc9_16.5 => constants.%.737 +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.b51 // CHECK:STDOUT: %impl.elem0.loc9_16.2 => constants.%Int.as.Copy.impl.Op.4f6 // CHECK:STDOUT: %specific_impl_fn.loc9_16.2 => constants.%Int.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Class.GetAddr(constants.%Copy.facet.987) { -// CHECK:STDOUT: %T => constants.%Copy.facet.987 -// CHECK:STDOUT: %Class => constants.%Class.ce6 -// CHECK:STDOUT: %pattern_type.loc13_18 => constants.%pattern_type.658 -// CHECK:STDOUT: %self.param_patt.loc13_18.2 => constants.%self.param_patt.447 -// CHECK:STDOUT: %self.patt.loc13_18.2 => constants.%self.patt.255 +// CHECK:STDOUT: specific @Class.GetAddr(constants.%Copy.facet.1e1) { +// CHECK:STDOUT: %T => constants.%Copy.facet.1e1 +// CHECK:STDOUT: %Class => constants.%Class.e86 +// CHECK:STDOUT: %pattern_type.loc13_18 => constants.%pattern_type.7a2 +// CHECK:STDOUT: %self.param_patt.loc13_18.2 => constants.%self.param_patt.1b9 +// CHECK:STDOUT: %self.patt.loc13_18.2 => constants.%self.patt.964 // CHECK:STDOUT: %T.as_type.loc13_28.1 => constants.%i32 // CHECK:STDOUT: %ptr.loc13_28.1 => constants.%ptr.d08 // CHECK:STDOUT: %.loc13_28.1 => constants.%.952 @@ -403,12 +403,12 @@ fn StaticMemberFunctionCall(generic T: type) -> Class(T) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc13_18 => constants.%complete_type.0c6 // CHECK:STDOUT: %require_complete.loc13_24 => constants.%complete_type.07f -// CHECK:STDOUT: %Class.elem => constants.%Class.elem.32a +// CHECK:STDOUT: %Class.elem => constants.%Class.elem.d3c // CHECK:STDOUT: %.loc15_12.3 => constants.%.c00 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.ce1 -// CHECK:STDOUT: %Copy.facet.loc15_12.3 => constants.%Copy.facet.b49 -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.f9d -// CHECK:STDOUT: %.loc15_12.4 => constants.%.ac9 +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.5df +// CHECK:STDOUT: %Copy.facet.loc15_12.3 => constants.%Copy.facet.09a +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.36e +// CHECK:STDOUT: %.loc15_12.4 => constants.%.6d0 // CHECK:STDOUT: %impl.elem0.loc15_12.2 => constants.%ptr.as.Copy.impl.Op.d1c // CHECK:STDOUT: %specific_impl_fn.loc15_12.2 => constants.%ptr.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/member_type.carbon b/toolchain/check/testdata/class/generic/member_type.carbon index 9a4bb92c03f1..8cd6323b2295 100644 --- a/toolchain/check/testdata/class/generic/member_type.carbon +++ b/toolchain/check/testdata/class/generic/member_type.carbon @@ -109,48 +109,48 @@ fn Test() -> i32 { // CHECK:STDOUT: %complete_type.f8a: = complete_type_witness %i32.builtin [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Outer.90e: type = class_type @Outer, @Outer(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %Inner.096: type = class_type @Inner, @Inner(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %Outer.F.type.3ad: type = fn_type @Outer.F, @Outer(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %Outer.F.17f: %Outer.F.type.3ad = struct_value () [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Outer.6b9: type = class_type @Outer, @Outer(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %Inner.84a: type = class_type @Inner, @Inner(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %Outer.F.type.791: type = fn_type @Outer.F, @Outer(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %Outer.F.728: %Outer.F.type.791 = struct_value () [concrete] // CHECK:STDOUT: %n.patt.e55: %pattern_type.6b6 = ref_binding_pattern n [concrete] -// CHECK:STDOUT: %Inner.elem.362: type = unbound_element_type %Inner.096, %i32 [concrete] +// CHECK:STDOUT: %Inner.elem.a49: type = unbound_element_type %Inner.84a, %i32 [concrete] // CHECK:STDOUT: %struct_type.n.9ed: type = struct_type {.n: %i32} [concrete] // CHECK:STDOUT: %complete_type.cdf: = complete_type_witness %struct_type.n.9ed [concrete] -// CHECK:STDOUT: %pattern_type.1e8: type = pattern_type %Inner.096 [concrete] -// CHECK:STDOUT: %c.patt: %pattern_type.1e8 = ref_binding_pattern c [concrete] -// CHECK:STDOUT: %c.var_patt: %pattern_type.1e8 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %pattern_type.4f49: type = pattern_type %Inner.84a [concrete] +// CHECK:STDOUT: %c.patt: %pattern_type.4f49 = ref_binding_pattern c [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.4f49 = var_pattern %c.patt [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.6da: = impl_witness imports.%Copy.impl_witness_table.06e [concrete] -// CHECK:STDOUT: %Copy.facet.f12: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.6da) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0b3: = impl_witness imports.%Copy.impl_witness_table.ee5 [concrete] +// CHECK:STDOUT: %Copy.facet.d66: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.0b3) [concrete] // CHECK:STDOUT: %n.param_patt.47b: %pattern_type.6b6 = value_param_pattern [concrete] // CHECK:STDOUT: %n.patt.f0b: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt.47b [concrete] -// CHECK:STDOUT: %.8bc: Core.Form = init_form %Inner.096 [concrete] -// CHECK:STDOUT: %return.param_patt.3fe: %pattern_type.1e8 = out_param_pattern [concrete] -// CHECK:STDOUT: %return.patt.574: %pattern_type.1e8 = return_slot_pattern %return.param_patt.3fe, %Inner.096 [concrete] -// CHECK:STDOUT: %Outer.F.specific_fn: = specific_function %Outer.F.17f, @Outer.F(%Copy.facet.987) [concrete] +// CHECK:STDOUT: %.705: Core.Form = init_form %Inner.84a [concrete] +// CHECK:STDOUT: %return.param_patt.6b5: %pattern_type.4f49 = out_param_pattern [concrete] +// CHECK:STDOUT: %return.patt.3cd: %pattern_type.4f49 = return_slot_pattern %return.param_patt.6b5, %Inner.84a [concrete] +// CHECK:STDOUT: %Outer.F.specific_fn: = specific_function %Outer.F.728, @Outer.F(%Copy.facet.1e1) [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.0c6: %i32 = int_value 1 [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc13_3.4 [concrete] @@ -169,12 +169,12 @@ fn Test() -> i32 { // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.bbf = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %Copy.impl_witness_table.06e = impl_witness_table (%Core.import_ref.bbf), @Core.IntLiteral.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ee5 = impl_witness_table (%Core.import_ref.bbf), @Core.IntLiteral.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -314,49 +314,49 @@ fn Test() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: fn @Test() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %c.var: ref %Inner.096 = var_storage %c.var_patt +// CHECK:STDOUT: %c.var: ref %Inner.84a = var_storage %c.var_patt // CHECK:STDOUT: %Outer.ref.loc13_29: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %i32.loc13_35: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %Copy.facet.loc13_38: %Copy.type = facet_value %i32.loc13_35, (constants.%Copy.impl_witness.0e0) [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %.loc13_38: %Copy.type = converted %i32.loc13_35, %Copy.facet.loc13_38 [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %Outer.loc13_38: type = class_type @Outer, @Outer(constants.%Copy.facet.987) [concrete = constants.%Outer.90e] -// CHECK:STDOUT: %.loc13_39: %Outer.F.type.3ad = specific_constant @Outer.%Outer.F.decl, @Outer(constants.%Copy.facet.987) [concrete = constants.%Outer.F.17f] -// CHECK:STDOUT: %F.ref: %Outer.F.type.3ad = name_ref F, %.loc13_39 [concrete = constants.%Outer.F.17f] +// CHECK:STDOUT: %Copy.facet.loc13_38: %Copy.type = facet_value %i32.loc13_35, (constants.%Copy.impl_witness.b51) [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %.loc13_38: %Copy.type = converted %i32.loc13_35, %Copy.facet.loc13_38 [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %Outer.loc13_38: type = class_type @Outer, @Outer(constants.%Copy.facet.1e1) [concrete = constants.%Outer.6b9] +// CHECK:STDOUT: %.loc13_39: %Outer.F.type.791 = specific_constant @Outer.%Outer.F.decl, @Outer(constants.%Copy.facet.1e1) [concrete = constants.%Outer.F.728] +// CHECK:STDOUT: %F.ref: %Outer.F.type.791 = name_ref F, %.loc13_39 [concrete = constants.%Outer.F.728] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %Copy.facet.loc13_43.1: %Copy.type = facet_value Core.IntLiteral, (constants.%Copy.impl_witness.6da) [concrete = constants.%Copy.facet.f12] -// CHECK:STDOUT: %.loc13_43.1: %Copy.type = converted Core.IntLiteral, %Copy.facet.loc13_43.1 [concrete = constants.%Copy.facet.f12] -// CHECK:STDOUT: %Copy.facet.loc13_43.2: %Copy.type = facet_value Core.IntLiteral, (constants.%Copy.impl_witness.6da) [concrete = constants.%Copy.facet.f12] -// CHECK:STDOUT: %.loc13_43.2: %Copy.type = converted Core.IntLiteral, %Copy.facet.loc13_43.2 [concrete = constants.%Copy.facet.f12] -// CHECK:STDOUT: %Outer.F.specific_fn: = specific_function %F.ref, @Outer.F(constants.%Copy.facet.987) [concrete = constants.%Outer.F.specific_fn] -// CHECK:STDOUT: %.loc13_3: ref %Inner.096 = splice_block %c.var {} -// CHECK:STDOUT: %impl.elem0.loc13: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %Copy.facet.loc13_43.1: %Copy.type = facet_value Core.IntLiteral, (constants.%Copy.impl_witness.0b3) [concrete = constants.%Copy.facet.d66] +// CHECK:STDOUT: %.loc13_43.1: %Copy.type = converted Core.IntLiteral, %Copy.facet.loc13_43.1 [concrete = constants.%Copy.facet.d66] +// CHECK:STDOUT: %Copy.facet.loc13_43.2: %Copy.type = facet_value Core.IntLiteral, (constants.%Copy.impl_witness.0b3) [concrete = constants.%Copy.facet.d66] +// CHECK:STDOUT: %.loc13_43.2: %Copy.type = converted Core.IntLiteral, %Copy.facet.loc13_43.2 [concrete = constants.%Copy.facet.d66] +// CHECK:STDOUT: %Outer.F.specific_fn: = specific_function %F.ref, @Outer.F(constants.%Copy.facet.1e1) [concrete = constants.%Outer.F.specific_fn] +// CHECK:STDOUT: %.loc13_3: ref %Inner.84a = splice_block %c.var {} +// CHECK:STDOUT: %impl.elem0.loc13: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_42.1: = bound_method %int_1, %impl.elem0.loc13 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_42.2: = bound_method %int_1, %specific_fn.loc13 [concrete = constants.%bound_method] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc13_42.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc13_42.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc13_42.2: %i32 = converted %int_1, %.loc13_42.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %Outer.F.call: init %Inner.096 to %.loc13_3 = call %Outer.F.specific_fn(%.loc13_42.2) +// CHECK:STDOUT: %Outer.F.call: init %Inner.84a to %.loc13_3 = call %Outer.F.specific_fn(%.loc13_42.2) // CHECK:STDOUT: assign %c.var, %Outer.F.call -// CHECK:STDOUT: %.loc13_20.1: type = splice_block %Inner.ref [concrete = constants.%Inner.096] { +// CHECK:STDOUT: %.loc13_20.1: type = splice_block %Inner.ref [concrete = constants.%Inner.84a] { // CHECK:STDOUT: %Outer.ref.loc13_10: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %i32.loc13_16: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %Copy.facet.loc13_19: %Copy.type = facet_value %i32.loc13_16, (constants.%Copy.impl_witness.0e0) [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %.loc13_19: %Copy.type = converted %i32.loc13_16, %Copy.facet.loc13_19 [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %Outer.loc13_19: type = class_type @Outer, @Outer(constants.%Copy.facet.987) [concrete = constants.%Outer.90e] -// CHECK:STDOUT: %.loc13_20.2: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%Copy.facet.987) [concrete = constants.%Inner.096] -// CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc13_20.2 [concrete = constants.%Inner.096] +// CHECK:STDOUT: %Copy.facet.loc13_19: %Copy.type = facet_value %i32.loc13_16, (constants.%Copy.impl_witness.b51) [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %.loc13_19: %Copy.type = converted %i32.loc13_16, %Copy.facet.loc13_19 [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %Outer.loc13_19: type = class_type @Outer, @Outer(constants.%Copy.facet.1e1) [concrete = constants.%Outer.6b9] +// CHECK:STDOUT: %.loc13_20.2: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%Copy.facet.1e1) [concrete = constants.%Inner.84a] +// CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc13_20.2 [concrete = constants.%Inner.84a] // CHECK:STDOUT: } -// CHECK:STDOUT: %c: ref %Inner.096 = wrapper_binding c, %c.var +// CHECK:STDOUT: %c: ref %Inner.84a = wrapper_binding c, %c.var // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %c.patt: %pattern_type.1e8 = ref_binding_pattern c [concrete = constants.%c.patt] -// CHECK:STDOUT: %c.var_patt: %pattern_type.1e8 = var_pattern %c.patt [concrete = constants.%c.var_patt] +// CHECK:STDOUT: %c.patt: %pattern_type.4f49 = ref_binding_pattern c [concrete = constants.%c.patt] +// CHECK:STDOUT: %c.var_patt: %pattern_type.4f49 = var_pattern %c.patt [concrete = constants.%c.var_patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.ref: ref %Inner.096 = name_ref c, %c -// CHECK:STDOUT: %n.ref: %Inner.elem.362 = name_ref n, @Inner.%.loc6 [concrete = @Inner.%.loc6] +// CHECK:STDOUT: %c.ref: ref %Inner.84a = name_ref c, %c +// CHECK:STDOUT: %n.ref: %Inner.elem.a49 = name_ref n, @Inner.%.loc6 [concrete = @Inner.%.loc6] // CHECK:STDOUT: %.loc14_11.1: ref %i32 = class_element_access %c.ref, element0 // CHECK:STDOUT: %.loc14_11.2: %i32 = acquire_value %.loc14_11.1 -// CHECK:STDOUT: %impl.elem0.loc14: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc14: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_11.1: = bound_method %.loc14_11.2, %impl.elem0.loc14 // CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_11.2: = bound_method %.loc14_11.2, %specific_fn.loc14 @@ -378,7 +378,7 @@ fn Test() -> i32 { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc13_3.4(%self.param: ref %Inner.096) { +// CHECK:STDOUT: fn @Destroy.Op.loc13_3.4(%self.param: ref %Inner.84a) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -419,48 +419,48 @@ fn Test() -> i32 { // CHECK:STDOUT: %return.patt.loc9_14.2 => constants.%return.patt.0b4 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Outer(constants.%Copy.facet.987) { +// CHECK:STDOUT: specific @Outer(constants.%Copy.facet.1e1) { // CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.fe6 -// CHECK:STDOUT: %T.loc4_14.1 => constants.%Copy.facet.987 +// CHECK:STDOUT: %T.loc4_14.1 => constants.%Copy.facet.1e1 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Inner => constants.%Inner.096 -// CHECK:STDOUT: %Outer.F.type => constants.%Outer.F.type.3ad -// CHECK:STDOUT: %Outer.F => constants.%Outer.F.17f +// CHECK:STDOUT: %Inner => constants.%Inner.84a +// CHECK:STDOUT: %Outer.F.type => constants.%Outer.F.type.791 +// CHECK:STDOUT: %Outer.F => constants.%Outer.F.728 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Inner(constants.%Copy.facet.987) { +// CHECK:STDOUT: specific @Inner(constants.%Copy.facet.1e1) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %T => constants.%Copy.facet.987 +// CHECK:STDOUT: %T => constants.%Copy.facet.1e1 // CHECK:STDOUT: %T.as_type => constants.%i32 // CHECK:STDOUT: %require_complete => constants.%complete_type.f8a // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6b6 // CHECK:STDOUT: %n.patt => constants.%n.patt.e55 -// CHECK:STDOUT: %Inner => constants.%Inner.096 -// CHECK:STDOUT: %Inner.elem => constants.%Inner.elem.362 +// CHECK:STDOUT: %Inner => constants.%Inner.84a +// CHECK:STDOUT: %Inner.elem => constants.%Inner.elem.a49 // CHECK:STDOUT: %struct_type.n => constants.%struct_type.n.9ed // CHECK:STDOUT: %complete_type.loc7_3.2 => constants.%complete_type.cdf // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Outer.F(constants.%Copy.facet.987) { -// CHECK:STDOUT: %T => constants.%Copy.facet.987 +// CHECK:STDOUT: specific @Outer.F(constants.%Copy.facet.1e1) { +// CHECK:STDOUT: %T => constants.%Copy.facet.1e1 // CHECK:STDOUT: %T.as_type.loc9_11.1 => constants.%i32 // CHECK:STDOUT: %pattern_type.loc9_9 => constants.%pattern_type.6b6 // CHECK:STDOUT: %n.param_patt.loc9_9.2 => constants.%n.param_patt.47b // CHECK:STDOUT: %n.patt.loc9_9.2 => constants.%n.patt.f0b -// CHECK:STDOUT: %Inner => constants.%Inner.096 -// CHECK:STDOUT: %.loc9_17.1 => constants.%.8bc -// CHECK:STDOUT: %pattern_type.loc9_17 => constants.%pattern_type.1e8 -// CHECK:STDOUT: %return.param_patt.loc9_17.2 => constants.%return.param_patt.3fe -// CHECK:STDOUT: %return.patt.loc9_14.2 => constants.%return.patt.574 +// CHECK:STDOUT: %Inner => constants.%Inner.84a +// CHECK:STDOUT: %.loc9_17.1 => constants.%.705 +// CHECK:STDOUT: %pattern_type.loc9_17 => constants.%pattern_type.4f49 +// CHECK:STDOUT: %return.param_patt.loc9_17.2 => constants.%return.param_patt.6b5 +// CHECK:STDOUT: %return.patt.loc9_14.2 => constants.%return.patt.3cd // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc9_9 => constants.%complete_type.f8a // CHECK:STDOUT: %require_complete.loc9_14 => constants.%complete_type.cdf // CHECK:STDOUT: %struct_type.n => constants.%struct_type.n.9ed -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.d09 -// CHECK:STDOUT: %.loc9_38.3 => constants.%.7a6 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.0e0 +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.381 +// CHECK:STDOUT: %.loc9_38.3 => constants.%.737 +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.b51 // CHECK:STDOUT: %impl.elem0.loc9_38.2 => constants.%Int.as.Copy.impl.Op.4f6 // CHECK:STDOUT: %specific_impl_fn.loc9_38.2 => constants.%Int.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } @@ -493,16 +493,16 @@ fn Test() -> i32 { // CHECK:STDOUT: %assoc0.6dc: %Inner.assoc_type.b6b = assoc_entity element0, @Inner.WithSelf.%Inner.WithSelf.F.decl [symbolic] // CHECK:STDOUT: %C.7d7: type = class_type @C, @C(%T) [symbolic] // CHECK:STDOUT: %.229: = impl_self_witness %C.7d7, @Inner, @Inner(%T) [symbolic] -// CHECK:STDOUT: %Inner.impl_witness.d0a: = impl_witness @C.as.Inner.impl.%Inner.impl_witness_table, @C.as.Inner.impl(%T) [symbolic] +// CHECK:STDOUT: %Inner.impl_witness.98e: = impl_witness @C.as.Inner.impl.%Inner.impl_witness_table, @C.as.Inner.impl(%T) [symbolic] // CHECK:STDOUT: %require_complete.fcc: = require_complete_type %Inner.type.84b [symbolic] // CHECK:STDOUT: %pattern_type.6fd: type = pattern_type %C.7d7 [symbolic] // CHECK:STDOUT: %self.param_patt.b1b: %pattern_type.6fd = value_param_pattern [symbolic] // CHECK:STDOUT: %self.patt.b71: %pattern_type.6fd = at_binding_pattern self, %self.param_patt.b1b [symbolic] // CHECK:STDOUT: %C.as.Inner.impl.F.type.1ec: type = fn_type @C.as.Inner.impl.F, @C.as.Inner.impl(%T) [symbolic] // CHECK:STDOUT: %C.as.Inner.impl.F.4be: %C.as.Inner.impl.F.type.1ec = struct_value () [symbolic] -// CHECK:STDOUT: %Inner.facet.285: %Inner.type.84b = facet_value %C.7d7, (%Inner.impl_witness.d0a) [symbolic] -// CHECK:STDOUT: %Inner.WithSelf.F.type.b47: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%T, %Inner.facet.285) [symbolic] -// CHECK:STDOUT: %Inner.WithSelf.F.350: %Inner.WithSelf.F.type.b47 = struct_value () [symbolic] +// CHECK:STDOUT: %Inner.facet.fcd: %Inner.type.84b = facet_value %C.7d7, (%Inner.impl_witness.98e) [symbolic] +// CHECK:STDOUT: %Inner.WithSelf.F.type.56a: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%T, %Inner.facet.fcd) [symbolic] +// CHECK:STDOUT: %Inner.WithSelf.F.763: %Inner.WithSelf.F.type.56a = struct_value () [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %require_complete.895: = require_complete_type %C.7d7 [symbolic] @@ -524,7 +524,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %Inner.type.5cc: type = facet_type <@Inner, @Inner(%i32)> [concrete] // CHECK:STDOUT: %C.b7f: type = class_type @C, @C(%i32) [concrete] // CHECK:STDOUT: %.b97: = impl_self_witness %D, @Inner, @Inner(%i32) [concrete] -// CHECK:STDOUT: %Inner.impl_witness.8fa: = impl_witness @D.as.Inner.impl.%Inner.impl_witness_table [concrete] +// CHECK:STDOUT: %Inner.impl_witness.5a8: = impl_witness @D.as.Inner.impl.%Inner.impl_witness_table [concrete] // CHECK:STDOUT: %Self.8b6: %Inner.type.5cc = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %Inner.WithSelf.F.type.62d: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%i32, %Self.656) [symbolic] // CHECK:STDOUT: %Inner.WithSelf.F.389: %Inner.WithSelf.F.type.62d = struct_value () [symbolic] @@ -539,9 +539,9 @@ fn Test() -> i32 { // CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete] // CHECK:STDOUT: %D.as.Inner.impl.F.type: type = fn_type @D.as.Inner.impl.F [concrete] // CHECK:STDOUT: %D.as.Inner.impl.F: %D.as.Inner.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %Inner.facet.45b: %Inner.type.5cc = facet_value %D, (%Inner.impl_witness.8fa) [concrete] -// CHECK:STDOUT: %Inner.WithSelf.F.type.576: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%i32, %Inner.facet.45b) [concrete] -// CHECK:STDOUT: %Inner.WithSelf.F.adb: %Inner.WithSelf.F.type.576 = struct_value () [concrete] +// CHECK:STDOUT: %Inner.facet.913: %Inner.type.5cc = facet_value %D, (%Inner.impl_witness.5a8) [concrete] +// CHECK:STDOUT: %Inner.WithSelf.F.type.556: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%i32, %Inner.facet.913) [concrete] +// CHECK:STDOUT: %Inner.WithSelf.F.dbe: %Inner.WithSelf.F.type.556 = struct_value () [concrete] // CHECK:STDOUT: %Test.type: type = fn_type @Test [concrete] // CHECK:STDOUT: %Test: %Test.type = struct_value () [concrete] // CHECK:STDOUT: %i32.builtin: type = int_type signed, %int_32 [concrete] @@ -552,15 +552,15 @@ fn Test() -> i32 { // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C.b7f = struct_value () [concrete] // CHECK:STDOUT: %.38a: = impl_self_witness %C.b7f, @Inner, @Inner(%i32) [concrete] -// CHECK:STDOUT: %Inner.impl_witness.cdc: = impl_witness @C.as.Inner.impl.%Inner.impl_witness_table, @C.as.Inner.impl(%i32) [concrete] +// CHECK:STDOUT: %Inner.impl_witness.6e6: = impl_witness @C.as.Inner.impl.%Inner.impl_witness_table, @C.as.Inner.impl(%i32) [concrete] // CHECK:STDOUT: %complete_type.11e: = complete_type_witness %Inner.type.5cc [concrete] // CHECK:STDOUT: %C.as.Inner.impl.F.type.237: type = fn_type @C.as.Inner.impl.F, @C.as.Inner.impl(%i32) [concrete] // CHECK:STDOUT: %C.as.Inner.impl.F.e77: %C.as.Inner.impl.F.type.237 = struct_value () [concrete] // CHECK:STDOUT: %.fff: require_specific_def_type = require_specific_def @C.as.Inner.impl(%i32) [concrete] -// CHECK:STDOUT: %Inner.facet.39b: %Inner.type.5cc = facet_value %C.b7f, (%Inner.impl_witness.cdc) [concrete] -// CHECK:STDOUT: %Inner.WithSelf.F.type.a78: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%i32, %Inner.facet.39b) [concrete] -// CHECK:STDOUT: %Inner.WithSelf.F.e60: %Inner.WithSelf.F.type.a78 = struct_value () [concrete] -// CHECK:STDOUT: %.8da: type = fn_type_with_self_type %Inner.WithSelf.F.type.a78, %Inner.facet.39b [concrete] +// CHECK:STDOUT: %Inner.facet.a19: %Inner.type.5cc = facet_value %C.b7f, (%Inner.impl_witness.6e6) [concrete] +// CHECK:STDOUT: %Inner.WithSelf.F.type.9ea: type = fn_type @Inner.WithSelf.F, @Inner.WithSelf(%i32, %Inner.facet.a19) [concrete] +// CHECK:STDOUT: %Inner.WithSelf.F.fdd: %Inner.WithSelf.F.type.9ea = struct_value () [concrete] +// CHECK:STDOUT: %.7f1: type = fn_type_with_self_type %Inner.WithSelf.F.type.9ea, %Inner.facet.a19 [concrete] // CHECK:STDOUT: %self.param_patt.edf: %pattern_type.9d0 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.14b: %pattern_type.9d0 = at_binding_pattern self, %self.param_patt.edf [concrete] // CHECK:STDOUT: %C.as.Inner.impl.F.specific_fn: = specific_function %C.as.Inner.impl.F.e77, @C.as.Inner.impl.F(%i32) [concrete] @@ -660,7 +660,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %C: type = class_type @C, @C(%T) [symbolic = %C (constants.%C.7d7)] // CHECK:STDOUT: %Inner.type: type = facet_type <@Inner, @Inner(%T)> [symbolic = %Inner.type (constants.%Inner.type.84b)] // CHECK:STDOUT: %.loc10_19: = impl_self_witness %C, @Inner, @Inner(%T) [symbolic = %.loc10_19 (constants.%.229)] -// CHECK:STDOUT: %Inner.impl_witness.loc10_19.2: = impl_witness %Inner.impl_witness_table, @C.as.Inner.impl(%T) [symbolic = %Inner.impl_witness.loc10_19.2 (constants.%Inner.impl_witness.d0a)] +// CHECK:STDOUT: %Inner.impl_witness.loc10_19.2: = impl_witness %Inner.impl_witness_table, @C.as.Inner.impl(%T) [symbolic = %Inner.impl_witness.loc10_19.2 (constants.%Inner.impl_witness.98e)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %Inner.type [symbolic = %require_complete (constants.%require_complete.fcc)] @@ -686,7 +686,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %return: ref @C.as.Inner.impl.F.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (%C.as.Inner.impl.F.decl), @C.as.Inner.impl [concrete] -// CHECK:STDOUT: %Inner.impl_witness.loc10_19.1: = impl_witness %Inner.impl_witness_table, @C.as.Inner.impl(constants.%T) [symbolic = %Inner.impl_witness.loc10_19.2 (constants.%Inner.impl_witness.d0a)] +// CHECK:STDOUT: %Inner.impl_witness.loc10_19.1: = impl_witness %Inner.impl_witness_table, @C.as.Inner.impl(constants.%T) [symbolic = %Inner.impl_witness.loc10_19.2 (constants.%Inner.impl_witness.98e)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .C = @@ -714,7 +714,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (%D.as.Inner.impl.F.decl), @D.as.Inner.impl [concrete] -// CHECK:STDOUT: %Inner.impl_witness: = impl_witness %Inner.impl_witness_table [concrete = constants.%Inner.impl_witness.8fa] +// CHECK:STDOUT: %Inner.impl_witness: = impl_witness %Inner.impl_witness_table [concrete = constants.%Inner.impl_witness.5a8] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .D = @@ -873,7 +873,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc24_23 [concrete = constants.%Inner.type.5cc] // CHECK:STDOUT: %.loc24_29: %Inner.assoc_type.477 = specific_constant @Inner.WithSelf.%assoc0.loc6_20.1, @Inner.WithSelf(constants.%i32, constants.%Self.656) [concrete = constants.%assoc0.7b8] // CHECK:STDOUT: %F.ref: %Inner.assoc_type.477 = name_ref F, %.loc24_29 [concrete = constants.%assoc0.7b8] -// CHECK:STDOUT: %impl.elem0: %.8da = impl_witness_access constants.%Inner.impl_witness.cdc, element0 [concrete = constants.%C.as.Inner.impl.F.e77] +// CHECK:STDOUT: %impl.elem0: %.7f1 = impl_witness_access constants.%Inner.impl_witness.6e6, element0 [concrete = constants.%C.as.Inner.impl.F.e77] // CHECK:STDOUT: %bound_method.loc24_11: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @C.as.Inner.impl.F(constants.%i32) [concrete = constants.%C.as.Inner.impl.F.specific_fn] // CHECK:STDOUT: %bound_method.loc24_33: = bound_method %c.ref, %specific_fn @@ -941,7 +941,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %C => constants.%C.7d7 // CHECK:STDOUT: %Inner.type => constants.%Inner.type.84b // CHECK:STDOUT: %.loc10_19 => constants.%.229 -// CHECK:STDOUT: %Inner.impl_witness.loc10_19.2 => constants.%Inner.impl_witness.d0a +// CHECK:STDOUT: %Inner.impl_witness.loc10_19.2 => constants.%Inner.impl_witness.98e // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%require_complete.fcc @@ -961,21 +961,21 @@ fn Test() -> i32 { // CHECK:STDOUT: %return.patt.loc11_21.2 => constants.%return.patt.b39 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Inner.WithSelf(constants.%T, constants.%Inner.facet.285) { +// CHECK:STDOUT: specific @Inner.WithSelf(constants.%T, constants.%Inner.facet.fcd) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %Inner.type => constants.%Inner.type.84b -// CHECK:STDOUT: %Self => constants.%Inner.facet.285 -// CHECK:STDOUT: %Inner.WithSelf.F.type => constants.%Inner.WithSelf.F.type.b47 -// CHECK:STDOUT: %Inner.WithSelf.F => constants.%Inner.WithSelf.F.350 +// CHECK:STDOUT: %Self => constants.%Inner.facet.fcd +// CHECK:STDOUT: %Inner.WithSelf.F.type => constants.%Inner.WithSelf.F.type.56a +// CHECK:STDOUT: %Inner.WithSelf.F => constants.%Inner.WithSelf.F.763 // CHECK:STDOUT: %Inner.assoc_type => constants.%Inner.assoc_type.b6b // CHECK:STDOUT: %assoc0.loc6_20.2 => constants.%assoc0.6dc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Inner.WithSelf.F(constants.%T, constants.%Inner.facet.285) { +// CHECK:STDOUT: specific @Inner.WithSelf.F(constants.%T, constants.%Inner.facet.fcd) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %Inner.type => constants.%Inner.type.84b -// CHECK:STDOUT: %Self => constants.%Inner.facet.285 +// CHECK:STDOUT: %Self => constants.%Inner.facet.fcd // CHECK:STDOUT: %Self.as_type.loc6_10.1 => constants.%C.7d7 // CHECK:STDOUT: %pattern_type.loc6_10 => constants.%pattern_type.6fd // CHECK:STDOUT: %self.param_patt.loc6_10.2 => constants.%self.param_patt.b1b @@ -1042,21 +1042,21 @@ fn Test() -> i32 { // CHECK:STDOUT: %assoc0.loc6_20.2 => constants.%assoc0.7b8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Inner.WithSelf(constants.%i32, constants.%Inner.facet.45b) { +// CHECK:STDOUT: specific @Inner.WithSelf(constants.%i32, constants.%Inner.facet.913) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: %Inner.type => constants.%Inner.type.5cc -// CHECK:STDOUT: %Self => constants.%Inner.facet.45b -// CHECK:STDOUT: %Inner.WithSelf.F.type => constants.%Inner.WithSelf.F.type.576 -// CHECK:STDOUT: %Inner.WithSelf.F => constants.%Inner.WithSelf.F.adb +// CHECK:STDOUT: %Self => constants.%Inner.facet.913 +// CHECK:STDOUT: %Inner.WithSelf.F.type => constants.%Inner.WithSelf.F.type.556 +// CHECK:STDOUT: %Inner.WithSelf.F => constants.%Inner.WithSelf.F.dbe // CHECK:STDOUT: %Inner.assoc_type => constants.%Inner.assoc_type.477 // CHECK:STDOUT: %assoc0.loc6_20.2 => constants.%assoc0.7b8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Inner.WithSelf.F(constants.%i32, constants.%Inner.facet.45b) { +// CHECK:STDOUT: specific @Inner.WithSelf.F(constants.%i32, constants.%Inner.facet.913) { // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: %Inner.type => constants.%Inner.type.5cc -// CHECK:STDOUT: %Self => constants.%Inner.facet.45b +// CHECK:STDOUT: %Self => constants.%Inner.facet.913 // CHECK:STDOUT: %Self.as_type.loc6_10.1 => constants.%D // CHECK:STDOUT: %pattern_type.loc6_10 => constants.%pattern_type.d8d // CHECK:STDOUT: %self.param_patt.loc6_10.2 => constants.%self.param_patt.f16 @@ -1072,7 +1072,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %C => constants.%C.b7f // CHECK:STDOUT: %Inner.type => constants.%Inner.type.5cc // CHECK:STDOUT: %.loc10_19 => constants.%.38a -// CHECK:STDOUT: %Inner.impl_witness.loc10_19.2 => constants.%Inner.impl_witness.cdc +// CHECK:STDOUT: %Inner.impl_witness.loc10_19.2 => constants.%Inner.impl_witness.6e6 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.11e @@ -1080,13 +1080,13 @@ fn Test() -> i32 { // CHECK:STDOUT: %C.as.Inner.impl.F => constants.%C.as.Inner.impl.F.e77 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Inner.WithSelf(constants.%i32, constants.%Inner.facet.39b) { +// CHECK:STDOUT: specific @Inner.WithSelf(constants.%i32, constants.%Inner.facet.a19) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: %Inner.type => constants.%Inner.type.5cc -// CHECK:STDOUT: %Self => constants.%Inner.facet.39b -// CHECK:STDOUT: %Inner.WithSelf.F.type => constants.%Inner.WithSelf.F.type.a78 -// CHECK:STDOUT: %Inner.WithSelf.F => constants.%Inner.WithSelf.F.e60 +// CHECK:STDOUT: %Self => constants.%Inner.facet.a19 +// CHECK:STDOUT: %Inner.WithSelf.F.type => constants.%Inner.WithSelf.F.type.9ea +// CHECK:STDOUT: %Inner.WithSelf.F => constants.%Inner.WithSelf.F.fdd // CHECK:STDOUT: %Inner.assoc_type => constants.%Inner.assoc_type.477 // CHECK:STDOUT: %assoc0.loc6_20.2 => constants.%assoc0.7b8 // CHECK:STDOUT: } @@ -1110,18 +1110,18 @@ fn Test() -> i32 { // CHECK:STDOUT: %Inner.assoc_type => constants.%Inner.assoc_type.477 // CHECK:STDOUT: %assoc0 => constants.%assoc0.7b8 // CHECK:STDOUT: %.loc11_39.1 => constants.%.fff -// CHECK:STDOUT: %Inner.lookup_impl_witness => constants.%Inner.impl_witness.cdc -// CHECK:STDOUT: %Inner.facet => constants.%Inner.facet.39b -// CHECK:STDOUT: %Inner.WithSelf.F.type => constants.%Inner.WithSelf.F.type.a78 -// CHECK:STDOUT: %.loc11_39.2 => constants.%.8da +// CHECK:STDOUT: %Inner.lookup_impl_witness => constants.%Inner.impl_witness.6e6 +// CHECK:STDOUT: %Inner.facet => constants.%Inner.facet.a19 +// CHECK:STDOUT: %Inner.WithSelf.F.type => constants.%Inner.WithSelf.F.type.9ea +// CHECK:STDOUT: %.loc11_39.2 => constants.%.7f1 // CHECK:STDOUT: %impl.elem0.loc11_39.2 => constants.%C.as.Inner.impl.F.e77 // CHECK:STDOUT: %specific_impl_fn.loc11_39.2 => constants.%C.as.Inner.impl.F.specific_fn // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Inner.WithSelf.F(constants.%i32, constants.%Inner.facet.39b) { +// CHECK:STDOUT: specific @Inner.WithSelf.F(constants.%i32, constants.%Inner.facet.a19) { // CHECK:STDOUT: %T => constants.%i32 // CHECK:STDOUT: %Inner.type => constants.%Inner.type.5cc -// CHECK:STDOUT: %Self => constants.%Inner.facet.39b +// CHECK:STDOUT: %Self => constants.%Inner.facet.a19 // CHECK:STDOUT: %Self.as_type.loc6_10.1 => constants.%C.b7f // CHECK:STDOUT: %pattern_type.loc6_10 => constants.%pattern_type.9d0 // CHECK:STDOUT: %self.param_patt.loc6_10.2 => constants.%self.param_patt.edf diff --git a/toolchain/check/testdata/class/generic/stringify.carbon b/toolchain/check/testdata/class/generic/stringify.carbon index 7388bca4f37f..28a1567c7742 100644 --- a/toolchain/check/testdata/class/generic/stringify.carbon +++ b/toolchain/check/testdata/class/generic/stringify.carbon @@ -101,10 +101,10 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.1d3: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%NoParams) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.ac4: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%NoParams) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.273: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%NoParams) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.c14: %T.as.DefaultOrUnformed.impl.Op.type.273 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %NoParams, (%DefaultOrUnformed.impl_witness.1d3) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %NoParams, (%DefaultOrUnformed.impl_witness.ac4) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.c14, @T.as.DefaultOrUnformed.impl.Op(%NoParams) [concrete] // CHECK:STDOUT: %pattern_type.c83: type = pattern_type %EmptyParams [concrete] // CHECK:STDOUT: %w.patt: %pattern_type.c83 = ref_binding_pattern w [concrete] @@ -122,7 +122,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -174,7 +174,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%NoParams, (constants.%DefaultOrUnformed.impl_witness.1d3) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%NoParams, (constants.%DefaultOrUnformed.impl_witness.ac4) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc7_16.1: %DefaultOrUnformed.type = converted constants.%NoParams, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc7_16.1 [concrete = constants.%NoParams] // CHECK:STDOUT: %.loc7_16.2: type = converted %.loc7_16.1, %as_type [concrete = constants.%NoParams] @@ -217,10 +217,10 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.080: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Outer.2d6) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.1a1: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Outer.2d6) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.359: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Outer.2d6) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.811: %T.as.DefaultOrUnformed.impl.Op.type.359 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Outer.2d6, (%DefaultOrUnformed.impl_witness.080) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Outer.2d6, (%DefaultOrUnformed.impl_witness.1a1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.811, @T.as.DefaultOrUnformed.impl.Op(%Outer.2d6) [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] @@ -246,7 +246,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } @@ -346,7 +346,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Outer.2d6, (constants.%DefaultOrUnformed.impl_witness.080) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Outer.2d6, (constants.%DefaultOrUnformed.impl_witness.1a1) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc9_18.1: %DefaultOrUnformed.type = converted constants.%Outer.2d6, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc9_18.1 [concrete = constants.%Outer.2d6] // CHECK:STDOUT: %.loc9_18.2: type = converted %.loc9_18.1, %as_type [concrete = constants.%Outer.2d6] @@ -411,12 +411,12 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -438,7 +438,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -461,7 +461,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %.loc13_13.1: type = splice_block %C [concrete = constants.%C.ece] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123.fff] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_13.1: = bound_method %int_123, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_13.2: = bound_method %int_123, %specific_fn [concrete = constants.%bound_method] @@ -543,12 +543,12 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -588,7 +588,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -615,7 +615,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc18_25.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) [concrete = constants.%struct.4aa] -// CHECK:STDOUT: %impl.elem0.loc18_25.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_25.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_25.1: = bound_method %int_1, %impl.elem0.loc18_25.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc18_25.1: = specific_function %impl.elem0.loc18_25.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_25.2: = bound_method %int_1, %specific_fn.loc18_25.1 [concrete = constants.%bound_method.953] @@ -624,7 +624,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %.loc18_25.3: ref %D = temporary_storage // CHECK:STDOUT: %.loc18_25.4: ref %i32 = class_element_access %.loc18_25.3, element0 // CHECK:STDOUT: %.loc18_25.5: init %i32 to %.loc18_25.4 = in_place_init %.loc18_25.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc18_25.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_25.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_25.3: = bound_method %int_2, %impl.elem0.loc18_25.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc18_25.2: = specific_function %impl.elem0.loc18_25.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_25.4: = bound_method %int_2, %specific_fn.loc18_25.2 [concrete = constants.%bound_method.3cb] @@ -680,7 +680,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %.loc18_53.1: %struct_type.a.b.cfd = struct_literal (%int_3, %int_4) [concrete = constants.%struct.cb7] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] -// CHECK:STDOUT: %impl.elem0.loc18_53.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_53.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_53.1: = bound_method %int_3, %impl.elem0.loc18_53.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc18_53.1: = specific_function %impl.elem0.loc18_53.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_53.2: = bound_method %int_3, %specific_fn.loc18_53.1 [concrete = constants.%bound_method.763] @@ -689,7 +689,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %.loc18_53.3: ref %D = temporary_storage // CHECK:STDOUT: %.loc18_53.4: ref %i32 = class_element_access %.loc18_53.3, element0 // CHECK:STDOUT: %.loc18_53.5: init %i32 to %.loc18_53.4 = in_place_init %.loc18_53.2 [concrete = constants.%int_3.410] -// CHECK:STDOUT: %impl.elem0.loc18_53.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_53.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_53.3: = bound_method %int_4, %impl.elem0.loc18_53.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc18_53.2: = specific_function %impl.elem0.loc18_53.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_53.4: = bound_method %int_4, %specific_fn.loc18_53.2 [concrete = constants.%bound_method.b7a] diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index 673a00d1e919..936722f18de4 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -188,12 +188,12 @@ fn Run() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -221,12 +221,12 @@ fn Run() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.966: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%ForwardDeclared.08bd4c.1) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.783: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%ForwardDeclared.08bd4c.1) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.7ea: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ForwardDeclared.08bd4c.1) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.5aa: %ptr.as.Copy.impl.Op.type.7ea = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.11e, (%Copy.impl_witness.966) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.b6e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.882: type = fn_type_with_self_type %Copy.WithSelf.Op.type.b6e, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.11e, (%Copy.impl_witness.783) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.03e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.be8: type = fn_type_with_self_type %Copy.WithSelf.Op.type.03e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.5aa, @ptr.as.Copy.impl.Op(%ForwardDeclared.08bd4c.1) [concrete] // CHECK:STDOUT: %Incomplete: type = class_type @Incomplete [concrete] // CHECK:STDOUT: %ptr.06d: type = ptr_type %Incomplete [concrete] @@ -236,10 +236,10 @@ fn Run() { // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.3a6: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%ptr.06d) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.322: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr.06d) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.c1d: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr.06d) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.9c5: %T.as.DefaultOrUnformed.impl.Op.type.c1d = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr.06d, (%DefaultOrUnformed.impl_witness.3a6) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr.06d, (%DefaultOrUnformed.impl_witness.322) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.9c5, @T.as.DefaultOrUnformed.impl.Op(%ptr.06d) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.1: type = fn_type @Destroy.Op.loc18 [concrete] @@ -274,7 +274,7 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.5c1: %Field.elem = import_ref Main//a, loc8_8, loaded [concrete = %.860] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %.860: %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.fbb203.1 = import_ref Main//a, inst{{[0-9A-F]+}} [no loc], unloaded @@ -286,10 +286,10 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.c46 = import_ref Main//a, loc15_17, unloaded // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -358,7 +358,7 @@ fn Run() { // CHECK:STDOUT: %b.var: ref %Field = var_storage %b.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc9_25.1: %struct_type.x.c96 = struct_literal (%int_1) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0.loc9: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_25.1: = bound_method %int_1, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_25.2: = bound_method %int_1, %specific_fn.loc9 [concrete = constants.%bound_method.953] @@ -379,7 +379,7 @@ fn Run() { // CHECK:STDOUT: %x.ref: %Field.elem = name_ref x, imports.%Main.import_ref.5c1 [concrete = imports.%.860] // CHECK:STDOUT: %.loc10_4: ref %i32 = class_element_access %b.ref, element0 // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc10: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_7.1: = bound_method %int_2, %impl.elem0.loc10 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_7.2: = bound_method %int_2, %specific_fn.loc10 [concrete = constants.%bound_method.3cb] @@ -409,7 +409,7 @@ fn Run() { // CHECK:STDOUT: %d.var: ref %ptr.11e = var_storage %d.var_patt // CHECK:STDOUT: %c.ref.loc16: ref %ForwardDeclared.08bd4c.1 = name_ref c, %c // CHECK:STDOUT: %addr: %ptr.11e = addr_of %c.ref.loc16 -// CHECK:STDOUT: %impl.elem0.loc16: %.882 = impl_witness_access constants.%Copy.impl_witness.966, element0 [concrete = constants.%ptr.as.Copy.impl.Op.5aa] +// CHECK:STDOUT: %impl.elem0.loc16: %.be8 = impl_witness_access constants.%Copy.impl_witness.783, element0 [concrete = constants.%ptr.as.Copy.impl.Op.5aa] // CHECK:STDOUT: %bound_method.loc16_36.1: = bound_method %addr, %impl.elem0.loc16 // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @ptr.as.Copy.impl.Op(constants.%ForwardDeclared.08bd4c.1) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_36.2: = bound_method %addr, %specific_fn.loc16 @@ -425,7 +425,7 @@ fn Run() { // CHECK:STDOUT: %d.var_patt: %pattern_type.8cd = var_pattern %d.patt [concrete = constants.%d.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: %e.var: ref %ptr.06d = var_storage %e.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr.06d, (constants.%DefaultOrUnformed.impl_witness.3a6) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr.06d, (constants.%DefaultOrUnformed.impl_witness.322) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc18_28.1: %DefaultOrUnformed.type = converted constants.%ptr.06d, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc18_28.1 [concrete = constants.%ptr.06d] // CHECK:STDOUT: %.loc18_28.2: type = converted %.loc18_28.1, %as_type [concrete = constants.%ptr.06d] diff --git a/toolchain/check/testdata/class/import_indirect.carbon b/toolchain/check/testdata/class/import_indirect.carbon index a0da1d6ed4e2..ded81e90e8a8 100644 --- a/toolchain/check/testdata/class/import_indirect.carbon +++ b/toolchain/check/testdata/class/import_indirect.carbon @@ -156,12 +156,12 @@ var ptr: E* = &value; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b22: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.c19: %ptr.as.Copy.impl.Op.type.b22 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c6a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c6a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.439: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.03d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.439, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c19 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c19, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -178,7 +178,7 @@ var ptr: E* = &value; // CHECK:STDOUT: %Main.import_ref.e47 = import_ref Main//a, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -227,7 +227,7 @@ var ptr: E* = &value; // CHECK:STDOUT: assign file.%b_val.var, %.loc8_1 // CHECK:STDOUT: %b_val.ref: ref %C = name_ref b_val, file.%b_val [concrete = file.%b_val.var] // CHECK:STDOUT: %addr: %ptr.6b6 = addr_of %b_val.ref [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0: %.a68 = impl_witness_access constants.%Copy.impl_witness.65f, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] +// CHECK:STDOUT: %impl.elem0: %.03d = impl_witness_access constants.%Copy.impl_witness.1ba, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] // CHECK:STDOUT: %bound_method.loc9_17.1: = bound_method %addr, %impl.elem0 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%C) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_17.2: = bound_method %addr, %specific_fn [concrete = constants.%bound_method] @@ -256,12 +256,12 @@ var ptr: E* = &value; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b22: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.c19: %ptr.as.Copy.impl.Op.type.b22 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c6a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c6a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.439: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.03d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.439, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c19 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c19, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -278,7 +278,7 @@ var ptr: E* = &value; // CHECK:STDOUT: %Main.import_ref.e47 = import_ref Main//a, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -327,7 +327,7 @@ var ptr: E* = &value; // CHECK:STDOUT: assign file.%c_val.var, %.loc8_1 // CHECK:STDOUT: %c_val.ref: ref %C = name_ref c_val, file.%c_val [concrete = file.%c_val.var] // CHECK:STDOUT: %addr: %ptr.6b6 = addr_of %c_val.ref [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0: %.a68 = impl_witness_access constants.%Copy.impl_witness.65f, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] +// CHECK:STDOUT: %impl.elem0: %.03d = impl_witness_access constants.%Copy.impl_witness.1ba, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] // CHECK:STDOUT: %bound_method.loc9_17.1: = bound_method %addr, %impl.elem0 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%C) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_17.2: = bound_method %addr, %specific_fn [concrete = constants.%bound_method] @@ -356,12 +356,12 @@ var ptr: E* = &value; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b22: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.c19: %ptr.as.Copy.impl.Op.type.b22 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c6a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c6a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.439: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.03d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.439, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c19 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c19, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -381,7 +381,7 @@ var ptr: E* = &value; // CHECK:STDOUT: %Main.import_ref.e47 = import_ref Main//a, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -430,7 +430,7 @@ var ptr: E* = &value; // CHECK:STDOUT: assign file.%value.var, %.loc7_1 // CHECK:STDOUT: %value.ref: ref %C = name_ref value, file.%value [concrete = file.%value.var] // CHECK:STDOUT: %addr: %ptr.6b6 = addr_of %value.ref [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0: %.a68 = impl_witness_access constants.%Copy.impl_witness.65f, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] +// CHECK:STDOUT: %impl.elem0: %.03d = impl_witness_access constants.%Copy.impl_witness.1ba, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %addr, %impl.elem0 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%C) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.2: = bound_method %addr, %specific_fn [concrete = constants.%bound_method] @@ -459,12 +459,12 @@ var ptr: E* = &value; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b22: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.c19: %ptr.as.Copy.impl.Op.type.b22 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c6a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c6a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.439: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.03d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.439, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c19 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c19, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -484,7 +484,7 @@ var ptr: E* = &value; // CHECK:STDOUT: %Main.import_ref.e47 = import_ref Main//a, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -533,7 +533,7 @@ var ptr: E* = &value; // CHECK:STDOUT: assign file.%value.var, %.loc7_1 // CHECK:STDOUT: %value.ref: ref %C = name_ref value, file.%value [concrete = file.%value.var] // CHECK:STDOUT: %addr: %ptr.6b6 = addr_of %value.ref [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0: %.a68 = impl_witness_access constants.%Copy.impl_witness.65f, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] +// CHECK:STDOUT: %impl.elem0: %.03d = impl_witness_access constants.%Copy.impl_witness.1ba, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %addr, %impl.elem0 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%C) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.2: = bound_method %addr, %specific_fn [concrete = constants.%bound_method] @@ -562,12 +562,12 @@ var ptr: E* = &value; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b22: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.c19: %ptr.as.Copy.impl.Op.type.b22 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c6a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c6a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.439: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.03d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.439, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c19 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c19, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -589,7 +589,7 @@ var ptr: E* = &value; // CHECK:STDOUT: %Main.import_ref.0a8 = import_ref Main//b, inst{{[0-9A-F]+}} [indirect], unloaded // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -640,7 +640,7 @@ var ptr: E* = &value; // CHECK:STDOUT: assign file.%value.var, %.loc7_1 // CHECK:STDOUT: %value.ref: ref %C = name_ref value, file.%value [concrete = file.%value.var] // CHECK:STDOUT: %addr: %ptr.6b6 = addr_of %value.ref [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0: %.a68 = impl_witness_access constants.%Copy.impl_witness.65f, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] +// CHECK:STDOUT: %impl.elem0: %.03d = impl_witness_access constants.%Copy.impl_witness.1ba, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %addr, %impl.elem0 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%C) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.2: = bound_method %addr, %specific_fn [concrete = constants.%bound_method] @@ -669,12 +669,12 @@ var ptr: E* = &value; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b22: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.c19: %ptr.as.Copy.impl.Op.type.b22 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c6a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c6a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.439: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.03d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.439, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.c19 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c19, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -696,7 +696,7 @@ var ptr: E* = &value; // CHECK:STDOUT: %Main.import_ref.0a8 = import_ref Main//b, inst{{[0-9A-F]+}} [indirect], unloaded // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -747,7 +747,7 @@ var ptr: E* = &value; // CHECK:STDOUT: assign file.%value.var, %.loc7_1 // CHECK:STDOUT: %value.ref: ref %C = name_ref value, file.%value [concrete = file.%value.var] // CHECK:STDOUT: %addr: %ptr.6b6 = addr_of %value.ref [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0: %.a68 = impl_witness_access constants.%Copy.impl_witness.65f, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] +// CHECK:STDOUT: %impl.elem0: %.03d = impl_witness_access constants.%Copy.impl_witness.1ba, element0 [concrete = constants.%ptr.as.Copy.impl.Op.c19] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %addr, %impl.elem0 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%C) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.2: = bound_method %addr, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/class/import_member_cycle.carbon b/toolchain/check/testdata/class/import_member_cycle.carbon index affc95901c1a..298544a409ef 100644 --- a/toolchain/check/testdata/class/import_member_cycle.carbon +++ b/toolchain/check/testdata/class/import_member_cycle.carbon @@ -84,10 +84,10 @@ fn Run() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.961: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.9b1: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.3bf: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.85a: %T.as.DefaultOrUnformed.impl.Op.type.3bf = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.961) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr, (%DefaultOrUnformed.impl_witness.9b1) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.85a, @T.as.DefaultOrUnformed.impl.Op(%ptr) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type: type = fn_type @Destroy.Op [concrete] @@ -107,7 +107,7 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.40b = import_ref Main//a, loc5_8, unloaded // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -133,7 +133,7 @@ fn Run() { // CHECK:STDOUT: fn @Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %ptr = var_storage %a.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr, (constants.%DefaultOrUnformed.impl_witness.961) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr, (constants.%DefaultOrUnformed.impl_witness.9b1) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc7_23.1: %DefaultOrUnformed.type = converted constants.%ptr, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc7_23.1 [concrete = constants.%ptr] // CHECK:STDOUT: %.loc7_23.2: type = converted %.loc7_23.1, %as_type [concrete = constants.%ptr] diff --git a/toolchain/check/testdata/class/import_struct_cycle.carbon b/toolchain/check/testdata/class/import_struct_cycle.carbon index ccf723a222c6..8ab7b7aa63ff 100644 --- a/toolchain/check/testdata/class/import_struct_cycle.carbon +++ b/toolchain/check/testdata/class/import_struct_cycle.carbon @@ -48,10 +48,10 @@ fn Run() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.b8b: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%struct_type.b) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.cb3: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%struct_type.b) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.49c: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%struct_type.b) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.74d: %T.as.DefaultOrUnformed.impl.Op.type.49c = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %struct_type.b, (%DefaultOrUnformed.impl_witness.b8b) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %struct_type.b, (%DefaultOrUnformed.impl_witness.cb3) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.74d, @T.as.DefaultOrUnformed.impl.Op(%struct_type.b) [concrete] // CHECK:STDOUT: %Cycle.elem: type = unbound_element_type %Cycle, %struct_type.b [concrete] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %struct_type.b} [concrete] @@ -66,7 +66,7 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -104,7 +104,7 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%struct_type.b, (constants.%DefaultOrUnformed.impl_witness.b8b) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%struct_type.b, (constants.%DefaultOrUnformed.impl_witness.cb3) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc6_20.1: %DefaultOrUnformed.type = converted constants.%struct_type.b, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc6_20.1 [concrete = constants.%struct_type.b] // CHECK:STDOUT: %.loc6_20.2: type = converted %.loc6_20.1, %as_type [concrete = constants.%struct_type.b] @@ -133,12 +133,12 @@ fn Run() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.fd3: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Cycle) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.357: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Cycle) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.088: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Cycle) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.fb2: %ptr.as.Copy.impl.Op.type.088 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.5cd, (%Copy.impl_witness.fd3) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.783: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.00d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.783, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.5cd, (%Copy.impl_witness.357) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.068: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.51d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.068, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.fb2, @ptr.as.Copy.impl.Op(%Cycle) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -157,7 +157,7 @@ fn Run() { // CHECK:STDOUT: %.ec0: %Cycle.elem = field_decl c, element0 [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -192,7 +192,7 @@ fn Run() { // CHECK:STDOUT: %.loc7_15: ref %struct_type.b = class_element_access %.loc7_10, element0 // CHECK:STDOUT: %.loc7_17.1: ref %ptr.5cd = struct_access %.loc7_15, element0 // CHECK:STDOUT: %.loc7_17.2: %ptr.5cd = acquire_value %.loc7_17.1 -// CHECK:STDOUT: %impl.elem0: %.00d = impl_witness_access constants.%Copy.impl_witness.fd3, element0 [concrete = constants.%ptr.as.Copy.impl.Op.fb2] +// CHECK:STDOUT: %impl.elem0: %.51d = impl_witness_access constants.%Copy.impl_witness.357, element0 [concrete = constants.%ptr.as.Copy.impl.Op.fb2] // CHECK:STDOUT: %bound_method.loc7_17.1: = bound_method %.loc7_17.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%Cycle) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_17.2: = bound_method %.loc7_17.2, %specific_fn diff --git a/toolchain/check/testdata/class/inheritance/base.carbon b/toolchain/check/testdata/class/inheritance/base.carbon index 143fd09a1912..a812d4eec3fb 100644 --- a/toolchain/check/testdata/class/inheritance/base.carbon +++ b/toolchain/check/testdata/class/inheritance/base.carbon @@ -85,12 +85,12 @@ class Derived { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.b7a: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -115,12 +115,12 @@ class Derived { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -135,10 +135,10 @@ class Derived { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -211,7 +211,7 @@ class Derived { // CHECK:STDOUT: %.loc14_26.1: %struct_type.b.a15 = struct_literal (%int_4) [concrete = constants.%struct.a2e] // CHECK:STDOUT: %int_7: Core.IntLiteral = int_value 7 [concrete = constants.%int_7.29f] // CHECK:STDOUT: %.loc14_35.1: %struct_type.base.d.a20 = struct_literal (%.loc14_26.1, %int_7) [concrete = constants.%struct.ab7] -// CHECK:STDOUT: %impl.elem0.loc14_26: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc14_26: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_26.1: = bound_method %int_4, %impl.elem0.loc14_26 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc14_26: = specific_function %impl.elem0.loc14_26, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_26.2: = bound_method %int_4, %specific_fn.loc14_26 [concrete = constants.%bound_method.b7a] @@ -223,7 +223,7 @@ class Derived { // CHECK:STDOUT: %.loc14_26.5: init %.469 to %.loc14_35.2 = class_init (%.loc14_26.4) [concrete = constants.%struct.4be] // CHECK:STDOUT: %.loc14_35.3: init %.469 = converted %.loc14_26.1, %.loc14_26.5 [concrete = constants.%struct.4be] // CHECK:STDOUT: %.loc14_35.4: init %Base = as_compatible %.loc14_35.3 [concrete = constants.%Base.val] -// CHECK:STDOUT: %impl.elem0.loc14_35: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc14_35: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_35.1: = bound_method %int_7, %impl.elem0.loc14_35 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.66b] // CHECK:STDOUT: %specific_fn.loc14_35: = specific_function %impl.elem0.loc14_35, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_35.2: = bound_method %int_7, %specific_fn.loc14_35 [concrete = constants.%bound_method.7ff] @@ -250,14 +250,14 @@ class Derived { // CHECK:STDOUT: %.loc18_22.1: ref %i32 = class_element_access %.loc18_17.2, element0 // CHECK:STDOUT: %.loc18_22.2: %i32 = acquire_value %.loc18_22.1 // CHECK:STDOUT: %.loc18_24.1: %tuple.type.e55 = tuple_literal (%.loc18_12.2, %.loc18_22.2) -// CHECK:STDOUT: %impl.elem0.loc18_12: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc18_12: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc18_12.1: = bound_method %.loc18_12.2, %impl.elem0.loc18_12 // CHECK:STDOUT: %specific_fn.loc18_12: = specific_function %impl.elem0.loc18_12, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc18_12.2: = bound_method %.loc18_12.2, %specific_fn.loc18_12 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call.loc18_12: init %i32 = call %bound_method.loc18_12.2(%.loc18_12.2) // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %return.param, element0 // CHECK:STDOUT: %.loc18_24.2: init %i32 to %tuple.elem0 = in_place_init %Int.as.Copy.impl.Op.call.loc18_12 -// CHECK:STDOUT: %impl.elem0.loc18_22: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc18_22: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc18_22.1: = bound_method %.loc18_22.2, %impl.elem0.loc18_22 // CHECK:STDOUT: %specific_fn.loc18_22: = specific_function %impl.elem0.loc18_22, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc18_22.2: = bound_method %.loc18_22.2, %specific_fn.loc18_22 diff --git a/toolchain/check/testdata/class/inheritance/base_field.carbon b/toolchain/check/testdata/class/inheritance/base_field.carbon index 4cf00f298309..632e8e7051d4 100644 --- a/toolchain/check/testdata/class/inheritance/base_field.carbon +++ b/toolchain/check/testdata/class/inheritance/base_field.carbon @@ -60,12 +60,12 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -79,7 +79,7 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -154,7 +154,7 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: %.loc29_15.3: ref %Base = converted %.loc29_12, %.loc29_15.2 // CHECK:STDOUT: %.loc29_15.4: ref %i32 = class_element_access %.loc29_15.3, element2 // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %.loc29_15.4 -// CHECK:STDOUT: %impl.elem0: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc29_10.1: = bound_method %addr, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc29_10.2: = bound_method %addr, %specific_fn diff --git a/toolchain/check/testdata/class/inheritance/base_method.carbon b/toolchain/check/testdata/class/inheritance/base_method.carbon index 73f95b38bb1e..e6e8cff7f3ed 100644 --- a/toolchain/check/testdata/class/inheritance/base_method.carbon +++ b/toolchain/check/testdata/class/inheritance/base_method.carbon @@ -54,12 +54,12 @@ fn Call(p: Derived*) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -86,7 +86,7 @@ fn Call(p: Derived*) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -159,7 +159,7 @@ fn Call(p: Derived*) { // CHECK:STDOUT: %a.ref: %Base.elem = name_ref a, @Base.%.loc16 [concrete = @Base.%.loc16] // CHECK:STDOUT: %.loc22_7: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_10.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_10.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/class/inheritance/derived_to_base.carbon b/toolchain/check/testdata/class/inheritance/derived_to_base.carbon index 57c210658125..519fd100874c 100644 --- a/toolchain/check/testdata/class/inheritance/derived_to_base.carbon +++ b/toolchain/check/testdata/class/inheritance/derived_to_base.carbon @@ -147,12 +147,12 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.09a: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%B) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5cd: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%B) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.d4b: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.70e: %ptr.as.Copy.impl.Op.type.d4b = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.5e3: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.09a) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.78a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.5e3) [concrete] -// CHECK:STDOUT: %.fa1: type = fn_type_with_self_type %Copy.WithSelf.Op.type.78a, %Copy.facet.5e3 [concrete] +// CHECK:STDOUT: %Copy.facet.482: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.5cd) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.65d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.482) [concrete] +// CHECK:STDOUT: %.dbf: type = fn_type_with_self_type %Copy.WithSelf.Op.type.65d, %Copy.facet.482 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.bbe: = specific_function %ptr.as.Copy.impl.Op.70e, @ptr.as.Copy.impl.Op(%B) [concrete] // CHECK:STDOUT: %p.param_patt.436: %pattern_type.3c8 = value_param_pattern [concrete] // CHECK:STDOUT: %p.patt.c38: %pattern_type.3c8 = at_binding_pattern p, %p.param_patt.436 [concrete] @@ -163,12 +163,12 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %return.patt.264: %pattern_type.8a5 = return_slot_pattern %return.param_patt.7a0, %ptr.d43 [concrete] // CHECK:STDOUT: %ConvertBToA.type: type = fn_type @ConvertBToA [concrete] // CHECK:STDOUT: %ConvertBToA: %ConvertBToA.type = struct_value () [concrete] -// CHECK:STDOUT: %Copy.impl_witness.d19: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%A) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.8be: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%A) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.aa3: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%A) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.5a8: %ptr.as.Copy.impl.Op.type.aa3 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.bd2: %Copy.type = facet_value %ptr.d43, (%Copy.impl_witness.d19) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.df0: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.bd2) [concrete] -// CHECK:STDOUT: %.e91: type = fn_type_with_self_type %Copy.WithSelf.Op.type.df0, %Copy.facet.bd2 [concrete] +// CHECK:STDOUT: %Copy.facet.cdd: %Copy.type = facet_value %ptr.d43, (%Copy.impl_witness.8be) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.c1d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.cdd) [concrete] +// CHECK:STDOUT: %.54e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c1d, %Copy.facet.cdd [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.d1a: = specific_function %ptr.as.Copy.impl.Op.5a8, @ptr.as.Copy.impl.Op(%A) [concrete] // CHECK:STDOUT: %ConvertCToA.type: type = fn_type @ConvertCToA [concrete] // CHECK:STDOUT: %ConvertCToA: %ConvertCToA.type = struct_value () [concrete] @@ -201,12 +201,12 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -233,9 +233,9 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -329,7 +329,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %.loc19_39.2: ref %B = class_element_access %.loc19_39.1, element0 // CHECK:STDOUT: %addr: %ptr.432 = addr_of %.loc19_39.2 // CHECK:STDOUT: %.loc19_39.3: %ptr.432 = converted %p.ref, %addr -// CHECK:STDOUT: %impl.elem0: %.fa1 = impl_witness_access constants.%Copy.impl_witness.09a, element0 [concrete = constants.%ptr.as.Copy.impl.Op.70e] +// CHECK:STDOUT: %impl.elem0: %.dbf = impl_witness_access constants.%Copy.impl_witness.5cd, element0 [concrete = constants.%ptr.as.Copy.impl.Op.70e] // CHECK:STDOUT: %bound_method.loc19_39.1: = bound_method %.loc19_39.3, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%B) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.bbe] // CHECK:STDOUT: %bound_method.loc19_39.2: = bound_method %.loc19_39.3, %specific_fn @@ -344,7 +344,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %.loc20_39.2: ref %A = class_element_access %.loc20_39.1, element0 // CHECK:STDOUT: %addr: %ptr.d43 = addr_of %.loc20_39.2 // CHECK:STDOUT: %.loc20_39.3: %ptr.d43 = converted %p.ref, %addr -// CHECK:STDOUT: %impl.elem0: %.e91 = impl_witness_access constants.%Copy.impl_witness.d19, element0 [concrete = constants.%ptr.as.Copy.impl.Op.5a8] +// CHECK:STDOUT: %impl.elem0: %.54e = impl_witness_access constants.%Copy.impl_witness.8be, element0 [concrete = constants.%ptr.as.Copy.impl.Op.5a8] // CHECK:STDOUT: %bound_method.loc20_39.1: = bound_method %.loc20_39.3, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%A) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.d1a] // CHECK:STDOUT: %bound_method.loc20_39.2: = bound_method %.loc20_39.3, %specific_fn @@ -360,7 +360,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %.loc21_39.3: ref %A = class_element_access %.loc21_39.2, element0 // CHECK:STDOUT: %addr: %ptr.d43 = addr_of %.loc21_39.3 // CHECK:STDOUT: %.loc21_39.4: %ptr.d43 = converted %p.ref, %addr -// CHECK:STDOUT: %impl.elem0: %.e91 = impl_witness_access constants.%Copy.impl_witness.d19, element0 [concrete = constants.%ptr.as.Copy.impl.Op.5a8] +// CHECK:STDOUT: %impl.elem0: %.54e = impl_witness_access constants.%Copy.impl_witness.8be, element0 [concrete = constants.%ptr.as.Copy.impl.Op.5a8] // CHECK:STDOUT: %bound_method.loc21_39.1: = bound_method %.loc21_39.4, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%A) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.d1a] // CHECK:STDOUT: %bound_method.loc21_39.2: = bound_method %.loc21_39.4, %specific_fn @@ -394,7 +394,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %.loc28_15.3: ref %A = class_element_access %.loc28_15.2, element0 // CHECK:STDOUT: %.loc28_15.4: ref %A = converted %.loc28_12, %.loc28_15.3 // CHECK:STDOUT: %addr: %ptr.d43 = addr_of %.loc28_15.4 -// CHECK:STDOUT: %impl.elem0: %.e91 = impl_witness_access constants.%Copy.impl_witness.d19, element0 [concrete = constants.%ptr.as.Copy.impl.Op.5a8] +// CHECK:STDOUT: %impl.elem0: %.54e = impl_witness_access constants.%Copy.impl_witness.8be, element0 [concrete = constants.%ptr.as.Copy.impl.Op.5a8] // CHECK:STDOUT: %bound_method.loc28_10.1: = bound_method %addr, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%A) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.d1a] // CHECK:STDOUT: %bound_method.loc28_10.2: = bound_method %addr, %specific_fn @@ -411,7 +411,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc32_64.1: %struct_type.base.c.136 = struct_literal (%.loc32_55.1, %int_3) [concrete = constants.%struct.2aa] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %impl.elem0.loc32_46: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc32_46: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc32_46.1: = bound_method %int_1, %impl.elem0.loc32_46 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc32_46: = specific_function %impl.elem0.loc32_46, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc32_46.2: = bound_method %int_1, %specific_fn.loc32_46 [concrete = constants.%bound_method.953] @@ -425,7 +425,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %.loc32_46.5: init %.3d6 to %.loc32_55.2 = class_init (%.loc32_46.4) [concrete = constants.%struct.7e2] // CHECK:STDOUT: %.loc32_55.3: init %.3d6 = converted %.loc32_46.1, %.loc32_46.5 [concrete = constants.%struct.7e2] // CHECK:STDOUT: %.loc32_55.4: init %A = as_compatible %.loc32_55.3 [concrete = constants.%A.val.f6a] -// CHECK:STDOUT: %impl.elem0.loc32_55: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc32_55: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc32_55.1: = bound_method %int_2, %impl.elem0.loc32_55 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc32_55: = specific_function %impl.elem0.loc32_55, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc32_55.2: = bound_method %int_2, %specific_fn.loc32_55 [concrete = constants.%bound_method.3cb] @@ -436,7 +436,7 @@ fn PassPartialB(b: partial B) { // CHECK:STDOUT: %.loc32_55.8: init %.640 to %.loc32_64.3 = class_init (%.loc32_55.4, %.loc32_55.7) [concrete = constants.%struct.a8a] // CHECK:STDOUT: %.loc32_64.4: init %.640 = converted %.loc32_55.1, %.loc32_55.8 [concrete = constants.%struct.a8a] // CHECK:STDOUT: %.loc32_64.5: init %B = as_compatible %.loc32_64.4 [concrete = constants.%B.val] -// CHECK:STDOUT: %impl.elem0.loc32_64: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc32_64: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc32_64.1: = bound_method %int_3, %impl.elem0.loc32_64 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc32_64: = specific_function %impl.elem0.loc32_64, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc32_64.2: = bound_method %int_3, %specific_fn.loc32_64 [concrete = constants.%bound_method.763] diff --git a/toolchain/check/testdata/class/inheritance/import_base.carbon b/toolchain/check/testdata/class/inheritance/import_base.carbon index 694448304792..a285ddadfb83 100644 --- a/toolchain/check/testdata/class/inheritance/import_base.carbon +++ b/toolchain/check/testdata/class/inheritance/import_base.carbon @@ -163,12 +163,12 @@ fn Run() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -212,7 +212,7 @@ fn Run() { // CHECK:STDOUT: %Main.import_ref.439419.2: type = import_ref Main//a, loc13_16, loaded [concrete = constants.%Base] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %.11f: %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: } @@ -258,7 +258,7 @@ fn Run() { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc7_49.1: %struct_type.x.unused_y.76a = struct_literal (%int_0, %int_1) [concrete = constants.%struct.0bf] // CHECK:STDOUT: %.loc7_50.1: %struct_type.base.503 = struct_literal (%.loc7_49.1) [concrete = constants.%struct.cb5] -// CHECK:STDOUT: %impl.elem0.loc7_49.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7_49.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_49.1: = bound_method %int_0, %impl.elem0.loc7_49.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc7_49.1: = specific_function %impl.elem0.loc7_49.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_49.2: = bound_method %int_0, %specific_fn.loc7_49.1 [concrete = constants.%bound_method.6e0] @@ -267,7 +267,7 @@ fn Run() { // CHECK:STDOUT: %.loc7_50.2: ref %.edf = class_element_access %a.var, element0 // CHECK:STDOUT: %.loc7_49.3: ref %i32 = class_element_access %.loc7_50.2, element0 // CHECK:STDOUT: %.loc7_49.4: init %i32 to %.loc7_49.3 = in_place_init %.loc7_49.2 [concrete = constants.%int_0.3c0] -// CHECK:STDOUT: %impl.elem0.loc7_49.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7_49.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_49.3: = bound_method %int_1, %impl.elem0.loc7_49.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc7_49.2: = specific_function %impl.elem0.loc7_49.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_49.4: = bound_method %int_1, %specific_fn.loc7_49.2 [concrete = constants.%bound_method.953] @@ -294,7 +294,7 @@ fn Run() { // CHECK:STDOUT: %.loc8_4.3: ref %Base = converted %a.ref.loc8, %.loc8_4.2 // CHECK:STDOUT: %.loc8_4.4: ref %i32 = class_element_access %.loc8_4.3, element0 // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_7.1: = bound_method %int_2, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_7.2: = bound_method %int_2, %specific_fn.loc8 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/class/inheritance/self_conversion.carbon b/toolchain/check/testdata/class/inheritance/self_conversion.carbon index a4ffe3e4a97f..165882f7bccb 100644 --- a/toolchain/check/testdata/class/inheritance/self_conversion.carbon +++ b/toolchain/check/testdata/class/inheritance/self_conversion.carbon @@ -69,12 +69,12 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] @@ -83,12 +83,12 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -112,10 +112,10 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -223,7 +223,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %a.ref: %Base.elem = name_ref a, @Base.%.loc16 [concrete = @Base.%.loc16] // CHECK:STDOUT: %.loc27_14.1: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc27_14.2: %i32 = acquire_value %.loc27_14.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc27_14.1: = bound_method %.loc27_14.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc27_14.2: = bound_method %.loc27_14.2, %specific_fn @@ -237,7 +237,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %a.ref: %Base.elem = name_ref a, @Base.%.loc16 [concrete = @Base.%.loc16] // CHECK:STDOUT: %.loc31_7: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc31_10.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc31_10.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/class/init.carbon b/toolchain/check/testdata/class/init.carbon index 6b8adad48daa..7b6f2a9fd0b7 100644 --- a/toolchain/check/testdata/class/init.carbon +++ b/toolchain/check/testdata/class/init.carbon @@ -57,19 +57,19 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] -// CHECK:STDOUT: %Copy.impl_witness.fa4: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Class) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.67e: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Class) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.6c2: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.8fa: %ptr.as.Copy.impl.Op.type.6c2 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.7b4: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.fa4) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8bf: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.7b4) [concrete] -// CHECK:STDOUT: %.4c3: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8bf, %Copy.facet.7b4 [concrete] +// CHECK:STDOUT: %Copy.facet.7e8: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.67e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.707: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.7e8) [concrete] +// CHECK:STDOUT: %.8ed: type = fn_type_with_self_type %Copy.WithSelf.Op.type.707, %Copy.facet.7e8 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.8fa, @ptr.as.Copy.impl.Op(%Class) [concrete] // CHECK:STDOUT: %MakeReorder.type: type = fn_type @MakeReorder [concrete] // CHECK:STDOUT: %MakeReorder: %MakeReorder.type = struct_value () [concrete] @@ -86,9 +86,9 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -164,14 +164,14 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n // CHECK:STDOUT: %next.ref: %ptr.7ee = name_ref next, %next // CHECK:STDOUT: %.loc21_31.1: %struct_type.n.next = struct_literal (%n.ref, %next.ref) -// CHECK:STDOUT: %impl.elem0.loc21_16: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc21_16: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc21_16.1: = bound_method %n.ref, %impl.elem0.loc21_16 // CHECK:STDOUT: %specific_fn.loc21_16: = specific_function %impl.elem0.loc21_16, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc21_16.2: = bound_method %n.ref, %specific_fn.loc21_16 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call: init %i32 = call %bound_method.loc21_16.2(%n.ref) // CHECK:STDOUT: %.loc21_31.2: ref %i32 = class_element_access %return.param, element0 // CHECK:STDOUT: %.loc21_31.3: init %i32 to %.loc21_31.2 = in_place_init %Int.as.Copy.impl.Op.call -// CHECK:STDOUT: %impl.elem0.loc21_27: %.4c3 = impl_witness_access constants.%Copy.impl_witness.fa4, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] +// CHECK:STDOUT: %impl.elem0.loc21_27: %.8ed = impl_witness_access constants.%Copy.impl_witness.67e, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] // CHECK:STDOUT: %bound_method.loc21_27.1: = bound_method %next.ref, %impl.elem0.loc21_27 // CHECK:STDOUT: %specific_fn.loc21_27: = specific_function %impl.elem0.loc21_27, @ptr.as.Copy.impl.Op(constants.%Class) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc21_27.2: = bound_method %next.ref, %specific_fn.loc21_27 @@ -188,14 +188,14 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %next.ref: %ptr.7ee = name_ref next, %next // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n // CHECK:STDOUT: %.loc25_31.1: %struct_type.next.n = struct_literal (%next.ref, %n.ref) -// CHECK:STDOUT: %impl.elem0.loc25_30: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc25_30: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc25_30.1: = bound_method %n.ref, %impl.elem0.loc25_30 // CHECK:STDOUT: %specific_fn.loc25_30: = specific_function %impl.elem0.loc25_30, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc25_30.2: = bound_method %n.ref, %specific_fn.loc25_30 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call: init %i32 = call %bound_method.loc25_30.2(%n.ref) // CHECK:STDOUT: %.loc25_31.2: ref %i32 = class_element_access %return.param, element1 // CHECK:STDOUT: %.loc25_31.3: init %i32 to %.loc25_31.2 = in_place_init %Int.as.Copy.impl.Op.call -// CHECK:STDOUT: %impl.elem0.loc25_19: %.4c3 = impl_witness_access constants.%Copy.impl_witness.fa4, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] +// CHECK:STDOUT: %impl.elem0.loc25_19: %.8ed = impl_witness_access constants.%Copy.impl_witness.67e, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] // CHECK:STDOUT: %bound_method.loc25_19.1: = bound_method %next.ref, %impl.elem0.loc25_19 // CHECK:STDOUT: %specific_fn.loc25_19: = specific_function %impl.elem0.loc25_19, @ptr.as.Copy.impl.Op(constants.%Class) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc25_19.2: = bound_method %next.ref, %specific_fn.loc25_19 diff --git a/toolchain/check/testdata/class/init_as.carbon b/toolchain/check/testdata/class/init_as.carbon index 8ca1b4678aeb..ede7571cfde8 100644 --- a/toolchain/check/testdata/class/init_as.carbon +++ b/toolchain/check/testdata/class/init_as.carbon @@ -47,12 +47,12 @@ fn G() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -66,12 +66,12 @@ fn G() -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.f15: type = pattern_type %Class [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc20_28.4 [concrete] @@ -83,9 +83,9 @@ fn G() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: %i32 { @@ -94,7 +94,7 @@ fn G() -> i32 { // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc20_26.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) [concrete = constants.%struct] // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %impl.elem0.loc20_26.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20_26.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_26.1: = bound_method %int_1, %impl.elem0.loc20_26.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc20_26.1: = specific_function %impl.elem0.loc20_26.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_26.2: = bound_method %int_1, %specific_fn.loc20_26.1 [concrete = constants.%bound_method.953] @@ -103,7 +103,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc20_26.3: ref %Class = temporary_storage // CHECK:STDOUT: %.loc20_26.4: ref %i32 = class_element_access %.loc20_26.3, element0 // CHECK:STDOUT: %.loc20_26.5: init %i32 to %.loc20_26.4 = in_place_init %.loc20_26.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc20_26.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20_26.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_26.3: = bound_method %int_2, %impl.elem0.loc20_26.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc20_26.2: = specific_function %impl.elem0.loc20_26.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_26.4: = bound_method %int_2, %specific_fn.loc20_26.2 [concrete = constants.%bound_method.3cb] @@ -117,7 +117,7 @@ fn G() -> i32 { // CHECK:STDOUT: %a.ref: %Class.elem = name_ref a, @Class.%.loc14 [concrete = @Class.%.loc14] // CHECK:STDOUT: %.loc20_37.1: ref %i32 = class_element_access %.loc20_28.2, element0 [concrete = constants.%.d44] // CHECK:STDOUT: %.loc20_37.2: %i32 = acquire_value %.loc20_37.1 -// CHECK:STDOUT: %impl.elem0.loc20_37: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc20_37: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc20_37.1: = bound_method %.loc20_37.2, %impl.elem0.loc20_37 // CHECK:STDOUT: %specific_fn.loc20_37: = specific_function %impl.elem0.loc20_37, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc20_37.2: = bound_method %.loc20_37.2, %specific_fn.loc20_37 @@ -150,7 +150,7 @@ fn G() -> i32 { // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc26_33.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) [concrete = constants.%struct] // CHECK:STDOUT: %Class.ref.loc26_38: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %impl.elem0.loc26_33.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc26_33.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc26_33.1: = bound_method %int_1, %impl.elem0.loc26_33.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc26_33.1: = specific_function %impl.elem0.loc26_33.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_33.2: = bound_method %int_1, %specific_fn.loc26_33.1 [concrete = constants.%bound_method.953] @@ -159,7 +159,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc26_3: ref %Class = splice_block %v.var {} // CHECK:STDOUT: %.loc26_33.3: ref %i32 = class_element_access %.loc26_3, element0 // CHECK:STDOUT: %.loc26_33.4: init %i32 to %.loc26_33.3 = in_place_init %.loc26_33.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc26_33.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc26_33.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc26_33.3: = bound_method %int_2, %impl.elem0.loc26_33.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc26_33.2: = specific_function %impl.elem0.loc26_33.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_33.4: = bound_method %int_2, %specific_fn.loc26_33.2 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/class/local.carbon b/toolchain/check/testdata/class/local.carbon index 469e87cd434e..bfcfc62e271c 100644 --- a/toolchain/check/testdata/class/local.carbon +++ b/toolchain/check/testdata/class/local.carbon @@ -67,12 +67,12 @@ class A { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -81,12 +81,12 @@ class A { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc26_19.4 [concrete] @@ -105,10 +105,10 @@ class A { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -170,7 +170,7 @@ class A { // CHECK:STDOUT: %n.ref: %B.elem = name_ref n, @B.%.loc23 [concrete = @B.%.loc23] // CHECK:STDOUT: %.loc26_20.1: ref %i32 = class_element_access %.loc26_19.2, element0 // CHECK:STDOUT: %.loc26_20.2: %i32 = acquire_value %.loc26_20.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc26_20.1: = bound_method %.loc26_20.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc26_20.2: = bound_method %.loc26_20.2, %specific_fn @@ -184,7 +184,7 @@ class A { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc19_39.1: %struct_type.n.44a = struct_literal (%int_1) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_39.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_39.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/class/method/call_without_method_syntax.carbon b/toolchain/check/testdata/class/method/call_without_method_syntax.carbon index f9c63dd2db26..74afc985e421 100644 --- a/toolchain/check/testdata/class/method/call_without_method_syntax.carbon +++ b/toolchain/check/testdata/class/method/call_without_method_syntax.carbon @@ -68,12 +68,12 @@ fn CallViaAlias(p: Point) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %p.param_patt: %pattern_type.9d8 = value_param_pattern [concrete] // CHECK:STDOUT: %p.patt: %pattern_type.9d8 = at_binding_pattern p, %p.param_patt [concrete] @@ -97,7 +97,7 @@ fn CallViaAlias(p: Point) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -211,7 +211,7 @@ fn CallViaAlias(p: Point) -> i32 { // CHECK:STDOUT: %x.ref: %Point.elem = name_ref x, @Point.%.loc7 [concrete = @Point.%.loc7] // CHECK:STDOUT: %.loc4_36.1: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc4_36.2: %i32 = acquire_value %.loc4_36.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc4_36.1: = bound_method %.loc4_36.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc4_36.2: = bound_method %.loc4_36.2, %specific_fn @@ -225,7 +225,7 @@ fn CallViaAlias(p: Point) -> i32 { // CHECK:STDOUT: %x.ref: %Point.elem = name_ref x, @Point.%.loc7 [concrete = @Point.%.loc7] // CHECK:STDOUT: %.loc5_59.1: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc5_59.2: %i32 = acquire_value %.loc5_59.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc5_59.1: = bound_method %.loc5_59.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc5_59.2: = bound_method %.loc5_59.2, %specific_fn diff --git a/toolchain/check/testdata/class/method/method.carbon b/toolchain/check/testdata/class/method/method.carbon index c9ce93904657..3149e9570b37 100644 --- a/toolchain/check/testdata/class/method/method.carbon +++ b/toolchain/check/testdata/class/method/method.carbon @@ -93,12 +93,12 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.f15 = value_param_pattern [concrete] // CHECK:STDOUT: %c.patt.dde: %pattern_type.f15 = at_binding_pattern c, %c.param_patt [concrete] @@ -117,12 +117,12 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -141,10 +141,10 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.4e8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.135: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.cac: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.de4: %T.as.DefaultOrUnformed.impl.Op.type.cac = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.4e8) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.135) [concrete] // CHECK:STDOUT: %.d76: Core.Form = init_form %Class [concrete] // CHECK:STDOUT: %return.param_patt.86e: %pattern_type.f15 = out_param_pattern [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.de4, @T.as.DefaultOrUnformed.impl.Op(%Class) [concrete] @@ -178,14 +178,14 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -376,7 +376,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %k.ref: %Class.elem = name_ref k, @Class.%.loc21 [concrete = @Class.%.loc21] // CHECK:STDOUT: %.loc25_14.1: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc25_14.2: %i32 = acquire_value %.loc25_14.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc25_14.1: = bound_method %.loc25_14.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc25_14.2: = bound_method %.loc25_14.2, %specific_fn @@ -409,7 +409,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc39_18.1: %struct_type.k.240 = struct_literal (%int_1) [concrete = constants.%struct] // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc39_18.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc39_18.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -449,7 +449,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: fn @CallWithRef() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.var: ref %Class = var_storage %c.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.4e8) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.135) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc43_15.1: %DefaultOrUnformed.type = converted constants.%Class, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc43_15.1 [concrete = constants.%Class] // CHECK:STDOUT: %.loc43_15.2: type = converted %.loc43_15.1, %as_type [concrete = constants.%Class] diff --git a/toolchain/check/testdata/class/method/static_method.carbon b/toolchain/check/testdata/class/method/static_method.carbon index a89f0bb0adc6..8196cc9bb62f 100644 --- a/toolchain/check/testdata/class/method/static_method.carbon +++ b/toolchain/check/testdata/class/method/static_method.carbon @@ -47,10 +47,10 @@ fn Run() -> i32 { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.4e8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.135: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.cac: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.de4: %T.as.DefaultOrUnformed.impl.Op.type.cac = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.4e8) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.135) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.de4, @T.as.DefaultOrUnformed.impl.Op(%Class) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc20_3.2 [concrete] @@ -68,7 +68,7 @@ fn Run() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -114,7 +114,7 @@ fn Run() -> i32 { // CHECK:STDOUT: fn @Run() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.var: ref %Class = var_storage %c.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.4e8) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.135) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc20_15.1: %DefaultOrUnformed.type = converted constants.%Class, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc20_15.1 [concrete = constants.%Class] // CHECK:STDOUT: %.loc20_15.2: type = converted %.loc20_15.1, %as_type [concrete = constants.%Class] diff --git a/toolchain/check/testdata/class/method/virtual.carbon b/toolchain/check/testdata/class/method/virtual.carbon index bb95f31d2611..fa5af5e05d82 100644 --- a/toolchain/check/testdata/class/method/virtual.carbon +++ b/toolchain/check/testdata/class/method/virtual.carbon @@ -872,12 +872,12 @@ class T2(G2: type) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.763: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -889,12 +889,12 @@ class T2(G2: type) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %b2.patt: %pattern_type.912 = ref_binding_pattern b2 [concrete] // CHECK:STDOUT: %b2.var_patt: %pattern_type.912 = var_pattern %b2.patt [concrete] @@ -911,9 +911,9 @@ class T2(G2: type) { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: vtable @Base.vtable { @@ -931,7 +931,7 @@ class T2(G2: type) { // CHECK:STDOUT: %Base.vtable_ptr.loc14: ref %ptr.454 = vtable_ptr @Base.vtable [concrete = constants.%Base.vtable_ptr] // CHECK:STDOUT: %.loc14_35.3: init %ptr.454 to %.loc14_35.2 = in_place_init %Base.vtable_ptr.loc14 [concrete = constants.%Base.vtable_ptr] // CHECK:STDOUT: %.loc14_34: %i32 = acquire_value %i.ref.loc14_34 -// CHECK:STDOUT: %impl.elem0.loc14_34: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc14_34: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_34.1: = bound_method %.loc14_34, %impl.elem0.loc14_34 // CHECK:STDOUT: %specific_fn.loc14_34: = specific_function %impl.elem0.loc14_34, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_34.2: = bound_method %.loc14_34, %specific_fn.loc14_34 @@ -939,7 +939,7 @@ class T2(G2: type) { // CHECK:STDOUT: %.loc14_35.4: ref %i32 = class_element_access %b1.var, element2 // CHECK:STDOUT: %.loc14_35.5: init %i32 to %.loc14_35.4 = in_place_init %Int.as.Copy.impl.Op.call.loc14_34 // CHECK:STDOUT: %.loc14_25: %i32 = acquire_value %i.ref.loc14_25 -// CHECK:STDOUT: %impl.elem0.loc14_25: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc14_25: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_25.1: = bound_method %.loc14_25, %impl.elem0.loc14_25 // CHECK:STDOUT: %specific_fn.loc14_25: = specific_function %impl.elem0.loc14_25, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_25.2: = bound_method %.loc14_25, %specific_fn.loc14_25 @@ -962,7 +962,7 @@ class T2(G2: type) { // CHECK:STDOUT: %.loc15_42.2: ref %ptr.454 = class_element_access %b2.var, element0 // CHECK:STDOUT: %Base.vtable_ptr.loc15: ref %ptr.454 = vtable_ptr @Base.vtable [concrete = constants.%Base.vtable_ptr] // CHECK:STDOUT: %.loc15_42.3: init %ptr.454 to %.loc15_42.2 = in_place_init %Base.vtable_ptr.loc15 [concrete = constants.%Base.vtable_ptr] -// CHECK:STDOUT: %impl.elem0.loc15_42.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_42.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_42.1: = bound_method %int_5, %impl.elem0.loc15_42.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn.loc15_42.1: = specific_function %impl.elem0.loc15_42.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_42.2: = bound_method %int_5, %specific_fn.loc15_42.1 [concrete = constants.%bound_method.c9d] @@ -970,7 +970,7 @@ class T2(G2: type) { // CHECK:STDOUT: %.loc15_42.4: init %i32 = converted %int_5, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc15_42.1 [concrete = constants.%int_5.eef] // CHECK:STDOUT: %.loc15_42.5: ref %i32 = class_element_access %b2.var, element2 // CHECK:STDOUT: %.loc15_42.6: init %i32 to %.loc15_42.5 = in_place_init %.loc15_42.4 [concrete = constants.%int_5.eef] -// CHECK:STDOUT: %impl.elem0.loc15_42.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_42.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_42.3: = bound_method %int_3.loc15, %impl.elem0.loc15_42.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc15_42.2: = specific_function %impl.elem0.loc15_42.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_42.4: = bound_method %int_3.loc15, %specific_fn.loc15_42.2 [concrete = constants.%bound_method.763] @@ -1168,7 +1168,7 @@ class T2(G2: type) { // CHECK:STDOUT: %T2.as.ImplicitAs.impl.Convert.type: type = fn_type @T2.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %T2.as.ImplicitAs.impl.Convert: %T2.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.a74 = facet_value %T2, (%ImplicitAs.impl_witness) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.00a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%T1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.0b2: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%T1, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Base: type = class_type @Base [concrete] // CHECK:STDOUT: %Derived: type = class_type @Derived [concrete] // CHECK:STDOUT: %.617: Core.Form = init_form %T2 [concrete] @@ -1176,7 +1176,7 @@ class T2(G2: type) { // CHECK:STDOUT: %Derived.F.bd5be1.1: %Derived.F.type.48cdab.1 = struct_value () [concrete] // CHECK:STDOUT: %Derived.F.type.48cdab.2: type = fn_type @Derived.F.loc23 [concrete] // CHECK:STDOUT: %Derived.F.bd5be1.2: %Derived.F.type.48cdab.2 = struct_value () [concrete] -// CHECK:STDOUT: %.fd2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.00a, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %.8c0: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.0b2, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc23_28.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] // CHECK:STDOUT: } @@ -1230,7 +1230,7 @@ class T2(G2: type) { // CHECK:STDOUT: %Derived.F.bound: = bound_method %.loc23_28.2, %F.ref // CHECK:STDOUT: %.loc23_28.3: ref %T2 = temporary_storage // CHECK:STDOUT: %Derived.F.call: init %T2 to %.loc23_28.3 = call %Derived.F.bound(%.loc23_28.2) -// CHECK:STDOUT: %impl.elem0: %.fd2 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%T2.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0: %.8c0 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%T2.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method: = bound_method %Derived.F.call, %impl.elem0 // CHECK:STDOUT: // CHECK:STDOUT: %.loc23_28.4: ref %T2 = temporary %.loc23_28.3, %Derived.F.call diff --git a/toolchain/check/testdata/class/nested.carbon b/toolchain/check/testdata/class/nested.carbon index 9894f47b60d9..078b16bcab1b 100644 --- a/toolchain/check/testdata/class/nested.carbon +++ b/toolchain/check/testdata/class/nested.carbon @@ -84,18 +84,18 @@ fn F(a: Outer*) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.474: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Outer) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6cc: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Outer) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.bca: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Outer) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.d12: %T.as.DefaultOrUnformed.impl.Op.type.bca = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.1fd: %DefaultOrUnformed.type = facet_value %Outer, (%DefaultOrUnformed.impl_witness.474) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.248: %DefaultOrUnformed.type = facet_value %Outer, (%DefaultOrUnformed.impl_witness.6cc) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.b8a: = specific_function %T.as.DefaultOrUnformed.impl.Op.d12, @T.as.DefaultOrUnformed.impl.Op(%Outer) [concrete] // CHECK:STDOUT: %pattern_type.dc4: type = pattern_type %Inner [concrete] // CHECK:STDOUT: %i.patt.539460.1: %pattern_type.dc4 = ref_binding_pattern i [concrete] // CHECK:STDOUT: %i.var_patt.15311d.1: %pattern_type.dc4 = var_pattern %i.patt.539460.1 [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.b1a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.f70: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.dd7: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.0e7: %T.as.DefaultOrUnformed.impl.Op.type.dd7 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.eb3: %DefaultOrUnformed.type = facet_value %Inner, (%DefaultOrUnformed.impl_witness.b1a) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.809: %DefaultOrUnformed.type = facet_value %Inner, (%DefaultOrUnformed.impl_witness.f70) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.ce1: = specific_function %T.as.DefaultOrUnformed.impl.Op.0e7, @T.as.DefaultOrUnformed.impl.Op(%Inner) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc19_5.4 [concrete] @@ -118,19 +118,19 @@ fn F(a: Outer*) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ec6: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Outer) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.d13: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Outer) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.bd8: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Outer) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.629: %ptr.as.Copy.impl.Op.type.bd8 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.b68: %Copy.type = facet_value %ptr.286, (%Copy.impl_witness.ec6) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.eda: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.b68) [concrete] -// CHECK:STDOUT: %.848: type = fn_type_with_self_type %Copy.WithSelf.Op.type.eda, %Copy.facet.b68 [concrete] +// CHECK:STDOUT: %Copy.facet.09d: %Copy.type = facet_value %ptr.286, (%Copy.impl_witness.d13) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.2fa: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.09d) [concrete] +// CHECK:STDOUT: %.c11: type = fn_type_with_self_type %Copy.WithSelf.Op.type.2fa, %Copy.facet.09d [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.642: = specific_function %ptr.as.Copy.impl.Op.629, @ptr.as.Copy.impl.Op(%Outer) [concrete] -// CHECK:STDOUT: %Copy.impl_witness.775: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Inner) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f7d: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Inner) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.408: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Inner) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.b47: %ptr.as.Copy.impl.Op.type.408 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.468: %Copy.type = facet_value %ptr.001, (%Copy.impl_witness.775) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ef5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.468) [concrete] -// CHECK:STDOUT: %.298: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ef5, %Copy.facet.468 [concrete] +// CHECK:STDOUT: %Copy.facet.014: %Copy.type = facet_value %ptr.001, (%Copy.impl_witness.f7d) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.af3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.014) [concrete] +// CHECK:STDOUT: %.6b7: type = fn_type_with_self_type %Copy.WithSelf.Op.type.af3, %Copy.facet.014 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.eb8: = specific_function %ptr.as.Copy.impl.Op.b47, @ptr.as.Copy.impl.Op(%Inner) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -144,11 +144,11 @@ fn F(a: Outer*) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -214,8 +214,8 @@ fn F(a: Outer*) { // CHECK:STDOUT: fn @Outer.F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %o.var: ref %Outer = var_storage %o.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc18: %DefaultOrUnformed.type = facet_value constants.%Outer, (constants.%DefaultOrUnformed.impl_witness.474) [concrete = constants.%DefaultOrUnformed.facet.1fd] -// CHECK:STDOUT: %.loc18_24.1: %DefaultOrUnformed.type = converted constants.%Outer, %DefaultOrUnformed.facet.loc18 [concrete = constants.%DefaultOrUnformed.facet.1fd] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc18: %DefaultOrUnformed.type = facet_value constants.%Outer, (constants.%DefaultOrUnformed.impl_witness.6cc) [concrete = constants.%DefaultOrUnformed.facet.248] +// CHECK:STDOUT: %.loc18_24.1: %DefaultOrUnformed.type = converted constants.%Outer, %DefaultOrUnformed.facet.loc18 [concrete = constants.%DefaultOrUnformed.facet.248] // CHECK:STDOUT: %as_type.loc18: type = facet_access_type %.loc18_24.1 [concrete = constants.%Outer] // CHECK:STDOUT: %.loc18_24.2: type = converted %.loc18_24.1, %as_type.loc18 [concrete = constants.%Outer] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.1: = specific_function constants.%T.as.DefaultOrUnformed.impl.Op.d12, @T.as.DefaultOrUnformed.impl.Op(constants.%Outer) [concrete = constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn.b8a] @@ -229,8 +229,8 @@ fn F(a: Outer*) { // CHECK:STDOUT: %o.var_patt: %pattern_type.d6c = var_pattern %o.patt [concrete = constants.%o.var_patt.6496fb.1] // CHECK:STDOUT: } // CHECK:STDOUT: %i.var: ref %Inner = var_storage %i.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc19: %DefaultOrUnformed.type = facet_value constants.%Inner, (constants.%DefaultOrUnformed.impl_witness.b1a) [concrete = constants.%DefaultOrUnformed.facet.eb3] -// CHECK:STDOUT: %.loc19_24.1: %DefaultOrUnformed.type = converted constants.%Inner, %DefaultOrUnformed.facet.loc19 [concrete = constants.%DefaultOrUnformed.facet.eb3] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc19: %DefaultOrUnformed.type = facet_value constants.%Inner, (constants.%DefaultOrUnformed.impl_witness.f70) [concrete = constants.%DefaultOrUnformed.facet.809] +// CHECK:STDOUT: %.loc19_24.1: %DefaultOrUnformed.type = converted constants.%Inner, %DefaultOrUnformed.facet.loc19 [concrete = constants.%DefaultOrUnformed.facet.809] // CHECK:STDOUT: %as_type.loc19: type = facet_access_type %.loc19_24.1 [concrete = constants.%Inner] // CHECK:STDOUT: %.loc19_24.2: type = converted %.loc19_24.1, %as_type.loc19 [concrete = constants.%Inner] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.2: = specific_function constants.%T.as.DefaultOrUnformed.impl.Op.0e7, @T.as.DefaultOrUnformed.impl.Op(constants.%Inner) [concrete = constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn.ce1] @@ -253,8 +253,8 @@ fn F(a: Outer*) { // CHECK:STDOUT: fn @Inner.G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %o.var: ref %Outer = var_storage %o.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc29: %DefaultOrUnformed.type = facet_value constants.%Outer, (constants.%DefaultOrUnformed.impl_witness.474) [concrete = constants.%DefaultOrUnformed.facet.1fd] -// CHECK:STDOUT: %.loc29_26.1: %DefaultOrUnformed.type = converted constants.%Outer, %DefaultOrUnformed.facet.loc29 [concrete = constants.%DefaultOrUnformed.facet.1fd] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc29: %DefaultOrUnformed.type = facet_value constants.%Outer, (constants.%DefaultOrUnformed.impl_witness.6cc) [concrete = constants.%DefaultOrUnformed.facet.248] +// CHECK:STDOUT: %.loc29_26.1: %DefaultOrUnformed.type = converted constants.%Outer, %DefaultOrUnformed.facet.loc29 [concrete = constants.%DefaultOrUnformed.facet.248] // CHECK:STDOUT: %as_type.loc29: type = facet_access_type %.loc29_26.1 [concrete = constants.%Outer] // CHECK:STDOUT: %.loc29_26.2: type = converted %.loc29_26.1, %as_type.loc29 [concrete = constants.%Outer] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.1: = specific_function constants.%T.as.DefaultOrUnformed.impl.Op.d12, @T.as.DefaultOrUnformed.impl.Op(constants.%Outer) [concrete = constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn.b8a] @@ -268,8 +268,8 @@ fn F(a: Outer*) { // CHECK:STDOUT: %o.var_patt: %pattern_type.d6c = var_pattern %o.patt [concrete = constants.%o.var_patt.6496fb.2] // CHECK:STDOUT: } // CHECK:STDOUT: %i.var: ref %Inner = var_storage %i.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc30: %DefaultOrUnformed.type = facet_value constants.%Inner, (constants.%DefaultOrUnformed.impl_witness.b1a) [concrete = constants.%DefaultOrUnformed.facet.eb3] -// CHECK:STDOUT: %.loc30_26.1: %DefaultOrUnformed.type = converted constants.%Inner, %DefaultOrUnformed.facet.loc30 [concrete = constants.%DefaultOrUnformed.facet.eb3] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc30: %DefaultOrUnformed.type = facet_value constants.%Inner, (constants.%DefaultOrUnformed.impl_witness.f70) [concrete = constants.%DefaultOrUnformed.facet.809] +// CHECK:STDOUT: %.loc30_26.1: %DefaultOrUnformed.type = converted constants.%Inner, %DefaultOrUnformed.facet.loc30 [concrete = constants.%DefaultOrUnformed.facet.809] // CHECK:STDOUT: %as_type.loc30: type = facet_access_type %.loc30_26.1 [concrete = constants.%Inner] // CHECK:STDOUT: %.loc30_26.2: type = converted %.loc30_26.1, %as_type.loc30 [concrete = constants.%Inner] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.2: = specific_function constants.%T.as.DefaultOrUnformed.impl.Op.0e7, @T.as.DefaultOrUnformed.impl.Op(constants.%Inner) [concrete = constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn.ce1] @@ -292,8 +292,8 @@ fn F(a: Outer*) { // CHECK:STDOUT: fn @Outer.H() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %o.var: ref %Outer = var_storage %o.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc36: %DefaultOrUnformed.type = facet_value constants.%Outer, (constants.%DefaultOrUnformed.impl_witness.474) [concrete = constants.%DefaultOrUnformed.facet.1fd] -// CHECK:STDOUT: %.loc36_24.1: %DefaultOrUnformed.type = converted constants.%Outer, %DefaultOrUnformed.facet.loc36 [concrete = constants.%DefaultOrUnformed.facet.1fd] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc36: %DefaultOrUnformed.type = facet_value constants.%Outer, (constants.%DefaultOrUnformed.impl_witness.6cc) [concrete = constants.%DefaultOrUnformed.facet.248] +// CHECK:STDOUT: %.loc36_24.1: %DefaultOrUnformed.type = converted constants.%Outer, %DefaultOrUnformed.facet.loc36 [concrete = constants.%DefaultOrUnformed.facet.248] // CHECK:STDOUT: %as_type.loc36: type = facet_access_type %.loc36_24.1 [concrete = constants.%Outer] // CHECK:STDOUT: %.loc36_24.2: type = converted %.loc36_24.1, %as_type.loc36 [concrete = constants.%Outer] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.1: = specific_function constants.%T.as.DefaultOrUnformed.impl.Op.d12, @T.as.DefaultOrUnformed.impl.Op(constants.%Outer) [concrete = constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn.b8a] @@ -307,8 +307,8 @@ fn F(a: Outer*) { // CHECK:STDOUT: %o.var_patt: %pattern_type.d6c = var_pattern %o.patt [concrete = constants.%o.var_patt.6496fb.3] // CHECK:STDOUT: } // CHECK:STDOUT: %i.var: ref %Inner = var_storage %i.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc37: %DefaultOrUnformed.type = facet_value constants.%Inner, (constants.%DefaultOrUnformed.impl_witness.b1a) [concrete = constants.%DefaultOrUnformed.facet.eb3] -// CHECK:STDOUT: %.loc37_24.1: %DefaultOrUnformed.type = converted constants.%Inner, %DefaultOrUnformed.facet.loc37 [concrete = constants.%DefaultOrUnformed.facet.eb3] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc37: %DefaultOrUnformed.type = facet_value constants.%Inner, (constants.%DefaultOrUnformed.impl_witness.f70) [concrete = constants.%DefaultOrUnformed.facet.809] +// CHECK:STDOUT: %.loc37_24.1: %DefaultOrUnformed.type = converted constants.%Inner, %DefaultOrUnformed.facet.loc37 [concrete = constants.%DefaultOrUnformed.facet.809] // CHECK:STDOUT: %as_type.loc37: type = facet_access_type %.loc37_24.1 [concrete = constants.%Inner] // CHECK:STDOUT: %.loc37_24.2: type = converted %.loc37_24.1, %as_type.loc37 [concrete = constants.%Inner] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn.2: = specific_function constants.%T.as.DefaultOrUnformed.impl.Op.0e7, @T.as.DefaultOrUnformed.impl.Op(constants.%Inner) [concrete = constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn.ce1] @@ -373,7 +373,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: %po.ref.loc48: %Outer.elem.3ef = name_ref po, @Outer.%.loc40 [concrete = @Outer.%.loc40] // CHECK:STDOUT: %.loc48_4.2: ref %ptr.286 = class_element_access %.loc48_4.1, element0 // CHECK:STDOUT: %a.ref.loc48_11: %ptr.286 = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc48: %.848 = impl_witness_access constants.%Copy.impl_witness.ec6, element0 [concrete = constants.%ptr.as.Copy.impl.Op.629] +// CHECK:STDOUT: %impl.elem0.loc48: %.c11 = impl_witness_access constants.%Copy.impl_witness.d13, element0 [concrete = constants.%ptr.as.Copy.impl.Op.629] // CHECK:STDOUT: %bound_method.loc48_11.1: = bound_method %a.ref.loc48_11, %impl.elem0.loc48 // CHECK:STDOUT: %specific_fn.loc48: = specific_function %impl.elem0.loc48, @ptr.as.Copy.impl.Op(constants.%Outer) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.642] // CHECK:STDOUT: %bound_method.loc48_11.2: = bound_method %a.ref.loc48_11, %specific_fn.loc48 @@ -384,7 +384,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: %qo.ref: %Outer.elem.3ef = name_ref qo, @Outer.%.loc41 [concrete = @Outer.%.loc41] // CHECK:STDOUT: %.loc49_4.2: ref %ptr.286 = class_element_access %.loc49_4.1, element1 // CHECK:STDOUT: %a.ref.loc49_11: %ptr.286 = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc49: %.848 = impl_witness_access constants.%Copy.impl_witness.ec6, element0 [concrete = constants.%ptr.as.Copy.impl.Op.629] +// CHECK:STDOUT: %impl.elem0.loc49: %.c11 = impl_witness_access constants.%Copy.impl_witness.d13, element0 [concrete = constants.%ptr.as.Copy.impl.Op.629] // CHECK:STDOUT: %bound_method.loc49_11.1: = bound_method %a.ref.loc49_11, %impl.elem0.loc49 // CHECK:STDOUT: %specific_fn.loc49: = specific_function %impl.elem0.loc49, @ptr.as.Copy.impl.Op(constants.%Outer) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.642] // CHECK:STDOUT: %bound_method.loc49_11.2: = bound_method %a.ref.loc49_11, %specific_fn.loc49 @@ -399,7 +399,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: %pi.ref.loc50_12: %Outer.elem.fe3 = name_ref pi, @Outer.%.loc42 [concrete = @Outer.%.loc42] // CHECK:STDOUT: %.loc50_12.2: ref %ptr.001 = class_element_access %.loc50_12.1, element2 // CHECK:STDOUT: %.loc50_12.3: %ptr.001 = acquire_value %.loc50_12.2 -// CHECK:STDOUT: %impl.elem0.loc50: %.298 = impl_witness_access constants.%Copy.impl_witness.775, element0 [concrete = constants.%ptr.as.Copy.impl.Op.b47] +// CHECK:STDOUT: %impl.elem0.loc50: %.6b7 = impl_witness_access constants.%Copy.impl_witness.f7d, element0 [concrete = constants.%ptr.as.Copy.impl.Op.b47] // CHECK:STDOUT: %bound_method.loc50_12.1: = bound_method %.loc50_12.3, %impl.elem0.loc50 // CHECK:STDOUT: %specific_fn.loc50: = specific_function %impl.elem0.loc50, @ptr.as.Copy.impl.Op(constants.%Inner) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.eb8] // CHECK:STDOUT: %bound_method.loc50_12.2: = bound_method %.loc50_12.3, %specific_fn.loc50 @@ -410,7 +410,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: %po.ref.loc51: %Inner.elem.2a2 = name_ref po, @Inner.%.loc24 [concrete = @Inner.%.loc24] // CHECK:STDOUT: %.loc51_4.2: ref %ptr.286 = class_element_access %.loc51_4.1, element1 // CHECK:STDOUT: %a.ref.loc51: %ptr.286 = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc51: %.848 = impl_witness_access constants.%Copy.impl_witness.ec6, element0 [concrete = constants.%ptr.as.Copy.impl.Op.629] +// CHECK:STDOUT: %impl.elem0.loc51: %.c11 = impl_witness_access constants.%Copy.impl_witness.d13, element0 [concrete = constants.%ptr.as.Copy.impl.Op.629] // CHECK:STDOUT: %bound_method.loc51_11.1: = bound_method %a.ref.loc51, %impl.elem0.loc51 // CHECK:STDOUT: %specific_fn.loc51: = specific_function %impl.elem0.loc51, @ptr.as.Copy.impl.Op(constants.%Outer) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.642] // CHECK:STDOUT: %bound_method.loc51_11.2: = bound_method %a.ref.loc51, %specific_fn.loc51 @@ -425,7 +425,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: %pi.ref.loc52_12: %Outer.elem.fe3 = name_ref pi, @Outer.%.loc42 [concrete = @Outer.%.loc42] // CHECK:STDOUT: %.loc52_12.2: ref %ptr.001 = class_element_access %.loc52_12.1, element2 // CHECK:STDOUT: %.loc52_12.3: %ptr.001 = acquire_value %.loc52_12.2 -// CHECK:STDOUT: %impl.elem0.loc52: %.298 = impl_witness_access constants.%Copy.impl_witness.775, element0 [concrete = constants.%ptr.as.Copy.impl.Op.b47] +// CHECK:STDOUT: %impl.elem0.loc52: %.6b7 = impl_witness_access constants.%Copy.impl_witness.f7d, element0 [concrete = constants.%ptr.as.Copy.impl.Op.b47] // CHECK:STDOUT: %bound_method.loc52_12.1: = bound_method %.loc52_12.3, %impl.elem0.loc52 // CHECK:STDOUT: %specific_fn.loc52: = specific_function %impl.elem0.loc52, @ptr.as.Copy.impl.Op(constants.%Inner) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.eb8] // CHECK:STDOUT: %bound_method.loc52_12.2: = bound_method %.loc52_12.3, %specific_fn.loc52 @@ -440,7 +440,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: %pi.ref.loc53: %Outer.elem.fe3 = name_ref pi, @Outer.%.loc42 [concrete = @Outer.%.loc42] // CHECK:STDOUT: %.loc53_12.2: ref %ptr.001 = class_element_access %.loc53_12.1, element2 // CHECK:STDOUT: %.loc53_12.3: %ptr.001 = acquire_value %.loc53_12.2 -// CHECK:STDOUT: %impl.elem0.loc53: %.298 = impl_witness_access constants.%Copy.impl_witness.775, element0 [concrete = constants.%ptr.as.Copy.impl.Op.b47] +// CHECK:STDOUT: %impl.elem0.loc53: %.6b7 = impl_witness_access constants.%Copy.impl_witness.f7d, element0 [concrete = constants.%ptr.as.Copy.impl.Op.b47] // CHECK:STDOUT: %bound_method.loc53_12.1: = bound_method %.loc53_12.3, %impl.elem0.loc53 // CHECK:STDOUT: %specific_fn.loc53: = specific_function %impl.elem0.loc53, @ptr.as.Copy.impl.Op(constants.%Inner) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.eb8] // CHECK:STDOUT: %bound_method.loc53_12.2: = bound_method %.loc53_12.3, %specific_fn.loc53 diff --git a/toolchain/check/testdata/class/nested_name.carbon b/toolchain/check/testdata/class/nested_name.carbon index 5708aaa0b4d3..2cedf9d590ae 100644 --- a/toolchain/check/testdata/class/nested_name.carbon +++ b/toolchain/check/testdata/class/nested_name.carbon @@ -56,12 +56,12 @@ fn G(o: Outer) { // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.d6c: type = pattern_type %Outer [concrete] // CHECK:STDOUT: %o.param_patt: %pattern_type.d6c = value_param_pattern [concrete] @@ -73,10 +73,10 @@ fn G(o: Outer) { // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.b1a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.f70: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.dd7: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Inner) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.0e7: %T.as.DefaultOrUnformed.impl.Op.type.dd7 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Inner, (%DefaultOrUnformed.impl_witness.b1a) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Inner, (%DefaultOrUnformed.impl_witness.f70) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.0e7, @T.as.DefaultOrUnformed.impl.Op(%Inner) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc26_3.4 [concrete] @@ -95,10 +95,10 @@ fn G(o: Outer) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -164,7 +164,7 @@ fn G(o: Outer) { // CHECK:STDOUT: %n.ref: %Inner.elem = name_ref n, @Inner.%.loc17 [concrete = @Inner.%.loc17] // CHECK:STDOUT: %.loc22_12.1: ref %i32 = class_element_access %oi.ref, element0 // CHECK:STDOUT: %.loc22_12.2: %i32 = acquire_value %.loc22_12.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc22_12.1: = bound_method %.loc22_12.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc22_12.2: = bound_method %.loc22_12.2, %specific_fn @@ -175,7 +175,7 @@ fn G(o: Outer) { // CHECK:STDOUT: fn @G(%o.param: %Outer) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %i.var: ref %Inner = var_storage %i.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Inner, (constants.%DefaultOrUnformed.impl_witness.b1a) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Inner, (constants.%DefaultOrUnformed.impl_witness.f70) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc26_24.1: %DefaultOrUnformed.type = converted constants.%Inner, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc26_24.1 [concrete = constants.%Inner] // CHECK:STDOUT: %.loc26_24.2: type = converted %.loc26_24.1, %as_type [concrete = constants.%Inner] diff --git a/toolchain/check/testdata/class/reorder.carbon b/toolchain/check/testdata/class/reorder.carbon index c21b4a871497..53e917ac4881 100644 --- a/toolchain/check/testdata/class/reorder.carbon +++ b/toolchain/check/testdata/class/reorder.carbon @@ -47,12 +47,12 @@ class Class { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -69,7 +69,7 @@ class Class { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -121,7 +121,7 @@ class Class { // CHECK:STDOUT: fn @Class.F() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc21_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_13.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/class/reorder_qualified.carbon b/toolchain/check/testdata/class/reorder_qualified.carbon index 5b86128ede89..c63bd14bfd47 100644 --- a/toolchain/check/testdata/class/reorder_qualified.carbon +++ b/toolchain/check/testdata/class/reorder_qualified.carbon @@ -97,12 +97,12 @@ class A { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -160,7 +160,7 @@ class A { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -256,7 +256,7 @@ class A { // CHECK:STDOUT: %a.var: ref %A = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc33_32.1: %struct_type.a.a6c = struct_literal (%int_1) [concrete = constants.%struct.48c] -// CHECK:STDOUT: %impl.elem0.loc33: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc33: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc33_32.1: = bound_method %int_1, %impl.elem0.loc33 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc33: = specific_function %impl.elem0.loc33, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc33_32.2: = bound_method %int_1, %specific_fn.loc33 [concrete = constants.%bound_method.953] @@ -276,7 +276,7 @@ class A { // CHECK:STDOUT: %b.var: ref %B = var_storage %b.var_patt // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc34_32.1: %struct_type.b.a15 = struct_literal (%int_2) [concrete = constants.%struct.26f] -// CHECK:STDOUT: %impl.elem0.loc34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc34_32.1: = bound_method %int_2, %impl.elem0.loc34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc34: = specific_function %impl.elem0.loc34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc34_32.2: = bound_method %int_2, %specific_fn.loc34 [concrete = constants.%bound_method.3cb] @@ -296,7 +296,7 @@ class A { // CHECK:STDOUT: %c.var: ref %C = var_storage %c.var_patt // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc35_32.1: %struct_type.c.5b8 = struct_literal (%int_3) [concrete = constants.%struct.d98] -// CHECK:STDOUT: %impl.elem0.loc35: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc35: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc35_32.1: = bound_method %int_3, %impl.elem0.loc35 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc35: = specific_function %impl.elem0.loc35, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc35_32.2: = bound_method %int_3, %specific_fn.loc35 [concrete = constants.%bound_method.763] @@ -316,7 +316,7 @@ class A { // CHECK:STDOUT: %d.var: ref %D = var_storage %d.var_patt // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %.loc36_32.1: %struct_type.d.3ea = struct_literal (%int_4) [concrete = constants.%struct.5a9] -// CHECK:STDOUT: %impl.elem0.loc36: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc36: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc36_32.1: = bound_method %int_4, %impl.elem0.loc36 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc36: = specific_function %impl.elem0.loc36, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc36_32.2: = bound_method %int_4, %specific_fn.loc36 [concrete = constants.%bound_method.b7a] diff --git a/toolchain/check/testdata/class/scope.carbon b/toolchain/check/testdata/class/scope.carbon index cfcadcfc408b..a0ff8a00a799 100644 --- a/toolchain/check/testdata/class/scope.carbon +++ b/toolchain/check/testdata/class/scope.carbon @@ -58,12 +58,12 @@ fn Run() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -96,7 +96,7 @@ fn Run() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -152,7 +152,7 @@ fn Run() { // CHECK:STDOUT: fn @Class.F() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_13.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method.953] @@ -171,7 +171,7 @@ fn Run() { // CHECK:STDOUT: fn @F() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc26_11.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_11.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/class/self/raw_self.carbon b/toolchain/check/testdata/class/self/raw_self.carbon index bc4e212c4f65..df9847e939f2 100644 --- a/toolchain/check/testdata/class/self/raw_self.carbon +++ b/toolchain/check/testdata/class/self/raw_self.carbon @@ -61,12 +61,12 @@ fn Class.G(self, r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -80,7 +80,7 @@ fn Class.G(self, r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -180,7 +180,7 @@ fn Class.G(self, r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %n.ref: %Class.elem = name_ref n, @Class.%.loc18 [concrete = @Class.%.loc18] // CHECK:STDOUT: %.loc22: ref %i32 = class_element_access %self.ref.loc22_3, element0 // CHECK:STDOUT: %self.ref.loc22_12: %i32 = name_ref r#self, %self.loc21_28 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc22_12.1: = bound_method %self.ref.loc22_12, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc22_12.2: = bound_method %self.ref.loc22_12, %specific_fn @@ -197,14 +197,14 @@ fn Class.G(self, r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %.loc26_15.2: %i32 = acquire_value %.loc26_15.1 // CHECK:STDOUT: %self.ref.loc26_19: %i32 = name_ref r#self, %self.loc25_24 // CHECK:STDOUT: %.loc26_25.1: %tuple.type.e55 = tuple_literal (%.loc26_15.2, %self.ref.loc26_19) -// CHECK:STDOUT: %impl.elem0.loc26_15: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc26_15: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc26_15.1: = bound_method %.loc26_15.2, %impl.elem0.loc26_15 // CHECK:STDOUT: %specific_fn.loc26_15: = specific_function %impl.elem0.loc26_15, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc26_15.2: = bound_method %.loc26_15.2, %specific_fn.loc26_15 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call.loc26_15: init %i32 = call %bound_method.loc26_15.2(%.loc26_15.2) // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %return.param.loc25, element0 // CHECK:STDOUT: %.loc26_25.2: init %i32 to %tuple.elem0 = in_place_init %Int.as.Copy.impl.Op.call.loc26_15 -// CHECK:STDOUT: %impl.elem0.loc26_19: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc26_19: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc26_19.1: = bound_method %self.ref.loc26_19, %impl.elem0.loc26_19 // CHECK:STDOUT: %specific_fn.loc26_19: = specific_function %impl.elem0.loc26_19, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc26_19.2: = bound_method %self.ref.loc26_19, %specific_fn.loc26_19 diff --git a/toolchain/check/testdata/class/self/raw_self_type.carbon b/toolchain/check/testdata/class/self/raw_self_type.carbon index 7c5f710bf8e9..e54f65acb34f 100644 --- a/toolchain/check/testdata/class/self/raw_self_type.carbon +++ b/toolchain/check/testdata/class/self/raw_self_type.carbon @@ -44,22 +44,22 @@ fn MemberNamedSelf.F(unused x: Self, unused y: r#Self) {} // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.a7b: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%ptr.7ee) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.70a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%ptr.7ee) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.4ec: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%ptr.7ee) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.aa5: %T.as.DefaultOrUnformed.impl.Op.type.4ec = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr.7ee, (%DefaultOrUnformed.impl_witness.a7b) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %ptr.7ee, (%DefaultOrUnformed.impl_witness.70a) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.aa5, @T.as.DefaultOrUnformed.impl.Op(%ptr.7ee) [concrete] // CHECK:STDOUT: %p.patt: %pattern_type.8c5 = ref_binding_pattern p [concrete] // CHECK:STDOUT: %p.var_patt: %pattern_type.8c5 = var_pattern %p.patt [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.fa4: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Class) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.67e: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Class) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.6c2: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.8fa: %ptr.as.Copy.impl.Op.type.6c2 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.fa4) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8bf: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.4c3: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8bf, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.67e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.707: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.8ed: type = fn_type_with_self_type %Copy.WithSelf.Op.type.707, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.8fa, @ptr.as.Copy.impl.Op(%Class) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type: type = fn_type @Destroy.Op [concrete] @@ -86,10 +86,10 @@ fn MemberNamedSelf.F(unused x: Self, unused y: r#Self) {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -162,7 +162,7 @@ fn MemberNamedSelf.F(unused x: Self, unused y: r#Self) {} // CHECK:STDOUT: fn @Class.F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Self.var: ref %ptr.7ee = var_storage %Self.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr.7ee, (constants.%DefaultOrUnformed.impl_witness.a7b) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%ptr.7ee, (constants.%DefaultOrUnformed.impl_witness.70a) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc17_22.1: %DefaultOrUnformed.type = converted constants.%ptr.7ee, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc17_22.1 [concrete = constants.%ptr.7ee] // CHECK:STDOUT: %.loc17_22.2: type = converted %.loc17_22.1, %as_type [concrete = constants.%ptr.7ee] @@ -181,7 +181,7 @@ fn MemberNamedSelf.F(unused x: Self, unused y: r#Self) {} // CHECK:STDOUT: %p.var: ref %ptr.7ee = var_storage %p.var_patt // CHECK:STDOUT: %Self.ref.loc18_27: ref %ptr.7ee = name_ref r#Self, %Self // CHECK:STDOUT: %.loc18_27: %ptr.7ee = acquire_value %Self.ref.loc18_27 -// CHECK:STDOUT: %impl.elem0: %.4c3 = impl_witness_access constants.%Copy.impl_witness.fa4, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] +// CHECK:STDOUT: %impl.elem0: %.8ed = impl_witness_access constants.%Copy.impl_witness.67e, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] // CHECK:STDOUT: %bound_method.loc18_27.1: = bound_method %.loc18_27, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%Class) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc18_27.2: = bound_method %.loc18_27, %specific_fn diff --git a/toolchain/check/testdata/class/self/self.carbon b/toolchain/check/testdata/class/self/self.carbon index c6d17ad04d3a..8d037e50c9c5 100644 --- a/toolchain/check/testdata/class/self/self.carbon +++ b/toolchain/check/testdata/class/self/self.carbon @@ -121,12 +121,12 @@ class Class { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -140,7 +140,7 @@ class Class { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -226,7 +226,7 @@ class Class { // CHECK:STDOUT: %n.ref: %Class.elem = name_ref n, @Class.%.loc9 [concrete = @Class.%.loc9] // CHECK:STDOUT: %.loc14_14.1: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc14_14.2: %i32 = acquire_value %.loc14_14.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_14.1: = bound_method %.loc14_14.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_14.2: = bound_method %.loc14_14.2, %specific_fn @@ -240,7 +240,7 @@ class Class { // CHECK:STDOUT: %n.ref: %Class.elem = name_ref n, @Class.%.loc9 [concrete = @Class.%.loc9] // CHECK:STDOUT: %.loc18_14.1: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc18_14.2: %i32 = acquire_value %.loc18_14.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc18_14.1: = bound_method %.loc18_14.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc18_14.2: = bound_method %.loc18_14.2, %specific_fn diff --git a/toolchain/check/testdata/class/self/self_type.carbon b/toolchain/check/testdata/class/self/self_type.carbon index 6338daf0a48c..b3b82cce55b5 100644 --- a/toolchain/check/testdata/class/self/self_type.carbon +++ b/toolchain/check/testdata/class/self/self_type.carbon @@ -58,20 +58,20 @@ fn Class.F(self) -> i32 { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.4e8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Class) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.135: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.cac: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Class) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.de4: %T.as.DefaultOrUnformed.impl.Op.type.cac = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.4e8) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Class, (%DefaultOrUnformed.impl_witness.135) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.de4, @T.as.DefaultOrUnformed.impl.Op(%Class) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.fa4: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Class) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.67e: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Class) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.6c2: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Class) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.8fa: %ptr.as.Copy.impl.Op.type.6c2 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.fa4) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8bf: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.4c3: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8bf, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.7ee, (%Copy.impl_witness.67e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.707: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.8ed: type = fn_type_with_self_type %Copy.WithSelf.Op.type.707, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.8fa, @ptr.as.Copy.impl.Op(%Class) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -86,10 +86,10 @@ fn Class.F(self) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -166,7 +166,7 @@ fn Class.F(self) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: fn @Class.Make() -> out %return.param: %Class { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.4e8) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Class, (constants.%DefaultOrUnformed.impl_witness.135) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc18_25.1: %DefaultOrUnformed.type = converted constants.%Class, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc18_25.1 [concrete = constants.%Class] // CHECK:STDOUT: %.loc18_25.2: type = converted %.loc18_25.1, %as_type [concrete = constants.%Class] @@ -184,7 +184,7 @@ fn Class.F(self) -> i32 { // CHECK:STDOUT: %s.ref.loc19_16: ref %Class = name_ref s, %s // CHECK:STDOUT: %addr: %ptr.7ee = addr_of %s.ref.loc19_16 // CHECK:STDOUT: %.loc19_17.1: %struct_type.p = struct_literal (%addr) -// CHECK:STDOUT: %impl.elem0: %.4c3 = impl_witness_access constants.%Copy.impl_witness.fa4, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] +// CHECK:STDOUT: %impl.elem0: %.8ed = impl_witness_access constants.%Copy.impl_witness.67e, element0 [concrete = constants.%ptr.as.Copy.impl.Op.8fa] // CHECK:STDOUT: %bound_method.loc19_15.1: = bound_method %addr, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%Class) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc19_15.2: = bound_method %addr, %specific_fn diff --git a/toolchain/check/testdata/class/syntactic_merge_literal.carbon b/toolchain/check/testdata/class/syntactic_merge_literal.carbon index 091e49a46535..9eff3dc64273 100644 --- a/toolchain/check/testdata/class/syntactic_merge_literal.carbon +++ b/toolchain/check/testdata/class/syntactic_merge_literal.carbon @@ -59,12 +59,12 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1000.ff9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1000.ff9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -88,7 +88,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -114,7 +114,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %.Self.frozen.loc5: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc5: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1000.loc5: Core.IntLiteral = int_value 1000 [concrete = constants.%int_1000.ff9] -// CHECK:STDOUT: %impl.elem0.loc5: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc5: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_19.1: = bound_method %int_1000.loc5, %impl.elem0.loc5 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_19.2: = bound_method %int_1000.loc5, %specific_fn.loc5 [concrete = constants.%bound_method] @@ -132,7 +132,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %.Self.frozen.loc6: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref.loc6: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1000.loc6: Core.IntLiteral = int_value 1000 [concrete = constants.%int_1000.ff9] -// CHECK:STDOUT: %impl.elem0.loc6: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_19.1: = bound_method %int_1000.loc6, %impl.elem0.loc6 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_19.2: = bound_method %int_1000.loc6, %specific_fn.loc6 [concrete = constants.%bound_method] @@ -214,12 +214,12 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1000.ff9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1000.ff9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -245,7 +245,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -271,7 +271,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1000: Core.IntLiteral = int_value 1000 [concrete = constants.%int_1000.ff9] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_18.1: = bound_method %int_1000, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_18.2: = bound_method %int_1000, %specific_fn [concrete = constants.%bound_method] @@ -289,7 +289,7 @@ class D(b: C(1_000)) {} // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1000: Core.IntLiteral = int_value 1000 [concrete = constants.%int_1000.ff9] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_19.1: = bound_method %int_1000, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_19.2: = bound_method %int_1000, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/const/basics.carbon b/toolchain/check/testdata/const/basics.carbon index 449266dc0d3e..ded0d006c689 100644 --- a/toolchain/check/testdata/const/basics.carbon +++ b/toolchain/check/testdata/const/basics.carbon @@ -150,12 +150,12 @@ fn PassConstReferenceToReference(p: const X*) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.e58: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%ptr.77f) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.8dc: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%ptr.77f) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.7d8: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ptr.77f) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.2de: %ptr.as.Copy.impl.Op.type.7d8 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.6e5: %Copy.type = facet_value %ptr.0c8, (%Copy.impl_witness.e58) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.795: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.6e5) [concrete] -// CHECK:STDOUT: %.709: type = fn_type_with_self_type %Copy.WithSelf.Op.type.795, %Copy.facet.6e5 [concrete] +// CHECK:STDOUT: %Copy.facet.909: %Copy.type = facet_value %ptr.0c8, (%Copy.impl_witness.8dc) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.040: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.909) [concrete] +// CHECK:STDOUT: %.4bf: type = fn_type_with_self_type %Copy.WithSelf.Op.type.040, %Copy.facet.909 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.f37: = specific_function %ptr.as.Copy.impl.Op.2de, @ptr.as.Copy.impl.Op(%ptr.77f) [concrete] // CHECK:STDOUT: %ptr.6b6: type = ptr_type %C [concrete] // CHECK:STDOUT: %const.0f8: type = const_type %ptr.6b6 [concrete] @@ -167,22 +167,22 @@ fn PassConstReferenceToReference(p: const X*) { // CHECK:STDOUT: %return.patt.973: %pattern_type.76c = return_slot_pattern %return.param_patt.7d8, %const.0f8 [concrete] // CHECK:STDOUT: %B.type: type = fn_type @B [concrete] // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] -// CHECK:STDOUT: %Copy.facet.3f0: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Copy.impl_witness.8b4: = impl_witness imports.%Copy.impl_witness_table.554, @const.as.Copy.impl(%Copy.facet.3f0) [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.type.0ae: type = fn_type @const.as.Copy.impl.Op, @const.as.Copy.impl(%Copy.facet.3f0) [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.714: %const.as.Copy.impl.Op.type.0ae = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.471: %Copy.type = facet_value %const.0f8, (%Copy.impl_witness.8b4) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.be3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.471) [concrete] -// CHECK:STDOUT: %.8c4: type = fn_type_with_self_type %Copy.WithSelf.Op.type.be3, %Copy.facet.471 [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.specific_fn: = specific_function %const.as.Copy.impl.Op.714, @const.as.Copy.impl.Op(%Copy.facet.3f0) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.facet.291: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f06: = impl_witness imports.%Copy.impl_witness_table.aca, @const.as.Copy.impl(%Copy.facet.291) [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.type.c56: type = fn_type @const.as.Copy.impl.Op, @const.as.Copy.impl(%Copy.facet.291) [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.a0e: %const.as.Copy.impl.Op.type.c56 = struct_value () [concrete] +// CHECK:STDOUT: %Copy.facet.d2d: %Copy.type = facet_value %const.0f8, (%Copy.impl_witness.f06) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.0e7: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.d2d) [concrete] +// CHECK:STDOUT: %.f5b: type = fn_type_with_self_type %Copy.WithSelf.Op.type.0e7, %Copy.facet.d2d [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.specific_fn: = specific_function %const.as.Copy.impl.Op.a0e, @const.as.Copy.impl.Op(%Copy.facet.291) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.f89: @const.as.Copy.impl.%const.as.Copy.impl.Op.type (%const.as.Copy.impl.Op.type.145) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @const.as.Copy.impl.%const.as.Copy.impl.Op (constants.%const.as.Copy.impl.Op.093)] -// CHECK:STDOUT: %Copy.impl_witness_table.554 = impl_witness_table (%Core.import_ref.f89), @const.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.aca = impl_witness_table (%Core.import_ref.f89), @const.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -233,7 +233,7 @@ fn PassConstReferenceToReference(p: const X*) { // CHECK:STDOUT: fn @A(%p.param: %ptr.0c8) -> out %return.param: %ptr.0c8 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %ptr.0c8 = name_ref p, %p -// CHECK:STDOUT: %impl.elem0: %.709 = impl_witness_access constants.%Copy.impl_witness.e58, element0 [concrete = constants.%ptr.as.Copy.impl.Op.2de] +// CHECK:STDOUT: %impl.elem0: %.4bf = impl_witness_access constants.%Copy.impl_witness.8dc, element0 [concrete = constants.%ptr.as.Copy.impl.Op.2de] // CHECK:STDOUT: %bound_method.loc7_10.1: = bound_method %p.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%ptr.77f) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.f37] // CHECK:STDOUT: %bound_method.loc7_10.2: = bound_method %p.ref, %specific_fn @@ -244,13 +244,13 @@ fn PassConstReferenceToReference(p: const X*) { // CHECK:STDOUT: fn @B(%p.param: %const.0f8) -> out %return.param: %const.0f8 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %const.0f8 = name_ref p, %p -// CHECK:STDOUT: %impl.elem0: %.8c4 = impl_witness_access constants.%Copy.impl_witness.8b4, element0 [concrete = constants.%const.as.Copy.impl.Op.714] +// CHECK:STDOUT: %impl.elem0: %.f5b = impl_witness_access constants.%Copy.impl_witness.f06, element0 [concrete = constants.%const.as.Copy.impl.Op.a0e] // CHECK:STDOUT: %bound_method.loc11_10.1: = bound_method %p.ref, %impl.elem0 -// CHECK:STDOUT: %Copy.facet.loc11_10.1: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.65f) [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %.loc11_10.1: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc11_10.1 [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %Copy.facet.loc11_10.2: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.65f) [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %.loc11_10.2: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc11_10.2 [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @const.as.Copy.impl.Op(constants.%Copy.facet.3f0) [concrete = constants.%const.as.Copy.impl.Op.specific_fn] +// CHECK:STDOUT: %Copy.facet.loc11_10.1: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.1ba) [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %.loc11_10.1: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc11_10.1 [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %Copy.facet.loc11_10.2: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.1ba) [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %.loc11_10.2: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc11_10.2 [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @const.as.Copy.impl.Op(constants.%Copy.facet.291) [concrete = constants.%const.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc11_10.2: = bound_method %p.ref, %specific_fn // CHECK:STDOUT: %const.as.Copy.impl.Op.call: init %const.0f8 = call %bound_method.loc11_10.2(%p.ref) // CHECK:STDOUT: return %const.as.Copy.impl.Op.call @@ -275,18 +275,18 @@ fn PassConstReferenceToReference(p: const X*) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.e58: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%ptr.77f) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.8dc: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%ptr.77f) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.7d8: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ptr.77f) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.2de: %ptr.as.Copy.impl.Op.type.7d8 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.0c8, (%Copy.impl_witness.e58) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.795: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.709: type = fn_type_with_self_type %Copy.WithSelf.Op.type.795, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.0c8, (%Copy.impl_witness.8dc) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.040: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.4bf: type = fn_type_with_self_type %Copy.WithSelf.Op.type.040, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.2de, @ptr.as.Copy.impl.Op(%ptr.77f) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -318,7 +318,7 @@ fn PassConstReferenceToReference(p: const X*) { // CHECK:STDOUT: fn @F(%p.param: %ptr.0c8) -> out %return.param: %ptr.0c8 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %ptr.0c8 = name_ref p, %p -// CHECK:STDOUT: %impl.elem0: %.709 = impl_witness_access constants.%Copy.impl_witness.e58, element0 [concrete = constants.%ptr.as.Copy.impl.Op.2de] +// CHECK:STDOUT: %impl.elem0: %.4bf = impl_witness_access constants.%Copy.impl_witness.8dc, element0 [concrete = constants.%ptr.as.Copy.impl.Op.2de] // CHECK:STDOUT: %bound_method.loc12_10.1: = bound_method %p.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%ptr.77f) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc12_10.2: = bound_method %p.ref, %specific_fn diff --git a/toolchain/check/testdata/const/import.carbon b/toolchain/check/testdata/const/import.carbon index 9c1a59b44475..6f9adbf75bee 100644 --- a/toolchain/check/testdata/const/import.carbon +++ b/toolchain/check/testdata/const/import.carbon @@ -47,12 +47,12 @@ var a_ptr: const C* = a_ptr_ref; // CHECK:STDOUT: %a_ref.patt: %pattern_type.1e4 = ref_binding_pattern a_ref [concrete] // CHECK:STDOUT: %a_ref.var_patt: %pattern_type.1e4 = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: %addr: %ptr.77f = addr_of imports.%a_ref.var [concrete] -// CHECK:STDOUT: %Copy.impl_witness.08a: = impl_witness imports.%Copy.impl_witness_table.90e, @ptr.as.Copy.impl(%const.13f) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.320: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%const.13f) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.da8: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%const.13f) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.194: %ptr.as.Copy.impl.Op.type.da8 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.77f, (%Copy.impl_witness.08a) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.330: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.1ef: type = fn_type_with_self_type %Copy.WithSelf.Op.type.330, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.77f, (%Copy.impl_witness.320) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.59e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.438: type = fn_type_with_self_type %Copy.WithSelf.Op.type.59e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.194 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.194, @ptr.as.Copy.impl.Op(%const.13f) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -67,7 +67,7 @@ var a_ptr: const C* = a_ptr_ref; // CHECK:STDOUT: %Main.a_ref: ref %const.13f = import_ref Main//implicit, a_ref, loaded [concrete = %a_ref.var] // CHECK:STDOUT: %Main.a_ptr_ref: ref %ptr.77f = import_ref Main//implicit, a_ptr_ref, loaded [concrete = %a_ptr_ref.var] // CHECK:STDOUT: %Main.import_ref.499: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Main//implicit, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.90e = impl_witness_table (%Main.import_ref.499), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Main.import_ref.499), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %a_ref.var: ref %const.13f = var_storage constants.%a_ref.var_patt [concrete] // CHECK:STDOUT: %a_ptr_ref.var: ref %ptr.77f = var_storage constants.%a_ptr_ref.var_patt [concrete] // CHECK:STDOUT: } @@ -101,7 +101,7 @@ var a_ptr: const C* = a_ptr_ref; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a_ref.ref: ref %const.13f = name_ref a_ref, imports.%Main.a_ref [concrete = imports.%a_ref.var] // CHECK:STDOUT: %addr: %ptr.77f = addr_of %a_ref.ref [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0.loc6: %.1ef = impl_witness_access constants.%Copy.impl_witness.08a, element0 [concrete = constants.%ptr.as.Copy.impl.Op.194] +// CHECK:STDOUT: %impl.elem0.loc6: %.438 = impl_witness_access constants.%Copy.impl_witness.320, element0 [concrete = constants.%ptr.as.Copy.impl.Op.194] // CHECK:STDOUT: %bound_method.loc6_19.1: = bound_method %addr, %impl.elem0.loc6 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @ptr.as.Copy.impl.Op(constants.%const.13f) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_19.2: = bound_method %addr, %specific_fn.loc6 [concrete = constants.%bound_method] @@ -109,7 +109,7 @@ var a_ptr: const C* = a_ptr_ref; // CHECK:STDOUT: assign file.%a.var, %ptr.as.Copy.impl.Op.call.loc6 // CHECK:STDOUT: %a_ptr_ref.ref: ref %ptr.77f = name_ref a_ptr_ref, imports.%Main.a_ptr_ref [concrete = imports.%a_ptr_ref.var] // CHECK:STDOUT: %.loc7: %ptr.77f = acquire_value %a_ptr_ref.ref -// CHECK:STDOUT: %impl.elem0.loc7: %.1ef = impl_witness_access constants.%Copy.impl_witness.08a, element0 [concrete = constants.%ptr.as.Copy.impl.Op.194] +// CHECK:STDOUT: %impl.elem0.loc7: %.438 = impl_witness_access constants.%Copy.impl_witness.320, element0 [concrete = constants.%ptr.as.Copy.impl.Op.194] // CHECK:STDOUT: %bound_method.loc7_23.1: = bound_method %.loc7, %impl.elem0.loc7 // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @ptr.as.Copy.impl.Op(constants.%const.13f) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_23.2: = bound_method %.loc7, %specific_fn.loc7 diff --git a/toolchain/check/testdata/deduce/array.carbon b/toolchain/check/testdata/deduce/array.carbon index c4f980a6d567..c09b4f64a285 100644 --- a/toolchain/check/testdata/deduce/array.carbon +++ b/toolchain/check/testdata/deduce/array.carbon @@ -407,12 +407,12 @@ fn G() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.2b9: = bound_method %N, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.ee4: = bound_method %N, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -457,7 +457,7 @@ fn G() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -531,7 +531,7 @@ fn G() { // CHECK:STDOUT: fn(%a.param: @F.%array_type.loc6_46.1 (%array_type.87f)) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %N.ref.loc6_65: Core.IntLiteral = name_ref N, %N.loc6_7.2 [symbolic = %N.loc6_7.1 (constants.%N)] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_66.1: = bound_method %N.ref.loc6_65, %impl.elem0 [symbolic = %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.2b9)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_66.2: = bound_method %N.ref.loc6_65, %specific_fn [symbolic = %bound_method.loc6_66.3 (constants.%bound_method.ee4)] @@ -1088,12 +1088,12 @@ fn G() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.2b9: = bound_method %N, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.ee4: = bound_method %N, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -1140,7 +1140,7 @@ fn G() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1224,7 +1224,7 @@ fn G() { // CHECK:STDOUT: fn(%a.param: @F.%array_type.loc7_46.1 (%array_type.87f)) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %N.ref.loc7_65: Core.IntLiteral = name_ref N, %N.loc7_7.2 [symbolic = %N.loc7_7.1 (constants.%N)] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_66.1: = bound_method %N.ref.loc7_65, %impl.elem0 [symbolic = %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.2b9)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_66.2: = bound_method %N.ref.loc7_65, %specific_fn [symbolic = %bound_method.loc7_66.3 (constants.%bound_method.ee4)] @@ -1335,12 +1335,12 @@ fn G() { // CHECK:STDOUT: %From: Core.IntLiteral = symbolic_binding From, 0 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %N.37f, %Int.as.ImplicitAs.impl.Convert.69e [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.7c3: = bound_method %N.37f, %Int.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -1358,12 +1358,12 @@ fn G() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %N.37f, %Int.as.Copy.impl.Op.4f6 [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.d86: = bound_method %N.37f, %Int.as.Copy.impl.Op.specific_fn [symbolic] @@ -1399,10 +1399,10 @@ fn G() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1433,7 +1433,7 @@ fn G() { // CHECK:STDOUT: %.loc6_34: type = splice_block %array_type.loc6_34.2 [symbolic = %array_type.loc6_34.1 (constants.%array_type.47c)] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %N.ref.loc6_33: %i32 = name_ref N, %N.loc6_7.2 [symbolic = %N.loc6_7.1 (constants.%N.37f)] -// CHECK:STDOUT: %impl.elem0.loc6_33: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0.loc6_33: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc6_33.2: = bound_method %N.ref.loc6_33, %impl.elem0.loc6_33 [symbolic = %Int.as.ImplicitAs.impl.Convert.bound (constants.%Int.as.ImplicitAs.impl.Convert.bound)] // CHECK:STDOUT: %specific_fn.loc6_33: = specific_function %impl.elem0.loc6_33, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_33.3: = bound_method %N.ref.loc6_33, %specific_fn.loc6_33 [symbolic = %bound_method.loc6_33.1 (constants.%bound_method.7c3)] @@ -1484,7 +1484,7 @@ fn G() { // CHECK:STDOUT: fn(%a.param: @F.%array_type.loc6_34.1 (%array_type.47c)) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %N.ref.loc6_53: %i32 = name_ref N, %N.loc6_7.2 [symbolic = %N.loc6_7.1 (constants.%N.37f)] -// CHECK:STDOUT: %impl.elem0.loc6_53: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_53: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_53.1: = bound_method %N.ref.loc6_53, %impl.elem0.loc6_53 [symbolic = %Int.as.Copy.impl.Op.bound (constants.%Int.as.Copy.impl.Op.bound)] // CHECK:STDOUT: %specific_fn.loc6_53: = specific_function %impl.elem0.loc6_53, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_53.2: = bound_method %N.ref.loc6_53, %specific_fn.loc6_53 [symbolic = %bound_method.loc6_53.3 (constants.%bound_method.d86)] @@ -1577,12 +1577,12 @@ fn G() { // CHECK:STDOUT: %From: Core.IntLiteral = symbolic_binding From, 0 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %N.37f, %Int.as.ImplicitAs.impl.Convert.69e [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %N.37f, %Int.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -1611,7 +1611,7 @@ fn G() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1637,7 +1637,7 @@ fn G() { // CHECK:STDOUT: %.loc5_34: type = splice_block %array_type.loc5_34.2 [symbolic = %array_type.loc5_34.1 (constants.%array_type)] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %N.ref: %i32 = name_ref N, %N.loc5_7.2 [symbolic = %N.loc5_7.1 (constants.%N.37f)] -// CHECK:STDOUT: %impl.elem0: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc5_33.2: = bound_method %N.ref, %impl.elem0 [symbolic = %Int.as.ImplicitAs.impl.Convert.bound (constants.%Int.as.ImplicitAs.impl.Convert.bound)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_33.3: = bound_method %N.ref, %specific_fn [symbolic = %bound_method.loc5_33.1 (constants.%bound_method)] diff --git a/toolchain/check/testdata/deduce/conversion.carbon b/toolchain/check/testdata/deduce/conversion.carbon index 616d213f78b1..d3d9d0b07507 100644 --- a/toolchain/check/testdata/deduce/conversion.carbon +++ b/toolchain/check/testdata/deduce/conversion.carbon @@ -105,14 +105,14 @@ fn G(a: A) { // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.type.572c06.1: type = fn_type @A.as.ImplicitAs.impl.Convert.loc7_40.1 [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.dbe75c.1: %A.as.ImplicitAs.impl.Convert.type.572c06.1 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.5f1 = facet_value %A, (%ImplicitAs.impl_witness) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.51c: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(type, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.474: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(type, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.type.572c06.2: type = fn_type @A.as.ImplicitAs.impl.Convert.loc7_40.2 [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.dbe75c.2: %A.as.ImplicitAs.impl.Convert.type.572c06.2 = struct_value () [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %A.val: %A = struct_value () [concrete] -// CHECK:STDOUT: %.dd5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.51c, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %.787: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.474, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.bound.5ecf75.1: = bound_method %A.val, %A.as.ImplicitAs.impl.Convert.dbe75c.2 [concrete] // CHECK:STDOUT: %.367: ref %A = temporary invalid, %A.val [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.bound.5ecf75.2: = bound_method %A.val, %A.as.ImplicitAs.impl.Convert.dbe75c.1 [concrete] @@ -130,7 +130,7 @@ fn G(a: A) { // CHECK:STDOUT: %.loc16_6.2: ref %A = temporary_storage // CHECK:STDOUT: %.loc16_6.3: init %A to %.loc16_6.2 = class_init () [concrete = constants.%A.val] // CHECK:STDOUT: %.loc16_8.1: init %A = converted %.loc16_6.1, %.loc16_6.3 [concrete = constants.%A.val] -// CHECK:STDOUT: %impl.elem0: %.dd5 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%A.as.ImplicitAs.impl.Convert.dbe75c.2] +// CHECK:STDOUT: %impl.elem0: %.787 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%A.as.ImplicitAs.impl.Convert.dbe75c.2] // CHECK:STDOUT: %bound_method: = bound_method %.loc16_8.1, %impl.elem0 [concrete = constants.%A.as.ImplicitAs.impl.Convert.bound.5ecf75.1] // CHECK:STDOUT: %.loc16_8.2: ref %A = temporary %.loc16_6.2, %.loc16_8.1 [concrete = constants.%.367] // CHECK:STDOUT: %.loc16_8.3: %A = acquire_value %.loc16_8.2 [concrete = constants.%A.val] @@ -164,12 +164,12 @@ fn G(a: A) { // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.type: type = fn_type @A.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert: %A.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.1bc = facet_value %A, (%ImplicitAs.impl_witness) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c1: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%B, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.554: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%B, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %.33d: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c1, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %.3de: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.554, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc16_9.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] // CHECK:STDOUT: } @@ -181,7 +181,7 @@ fn G(a: A) { // CHECK:STDOUT: %a.ref: %A = name_ref a, %a // CHECK:STDOUT: %.loc16_10: type = converted %.loc16_6, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%empty_tuple.type) [concrete = constants.%F.specific_fn] -// CHECK:STDOUT: %impl.elem0: %.33d = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%A.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0: %.3de = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%A.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem0 // CHECK:STDOUT: %.loc16_9.1: ref %B = temporary_storage // CHECK:STDOUT: %A.as.ImplicitAs.impl.Convert.call: init %B to %.loc16_9.1 = call %bound_method(%a.ref) diff --git a/toolchain/check/testdata/deduce/generic_type.carbon b/toolchain/check/testdata/deduce/generic_type.carbon index ebd72685ef69..e5c38efc4fe6 100644 --- a/toolchain/check/testdata/deduce/generic_type.carbon +++ b/toolchain/check/testdata/deduce/generic_type.carbon @@ -855,12 +855,12 @@ fn G() -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound.987: = bound_method %N.37f, %Int.as.Copy.impl.Op.4f6 [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.d86: = bound_method %N.37f, %Int.as.Copy.impl.Op.specific_fn [symbolic] @@ -874,12 +874,12 @@ fn G() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -911,10 +911,10 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1001,7 +1001,7 @@ fn G() -> i32 { // CHECK:STDOUT: fn(%x.param: @F.%WithNontype.loc6_37.1 (%WithNontype.40e)) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %N.ref.loc6_56: %i32 = name_ref N, %N.loc6_7.2 [symbolic = %N.loc6_7.1 (constants.%N.37f)] -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_56.1: = bound_method %N.ref.loc6_56, %impl.elem0 [symbolic = %Int.as.Copy.impl.Op.bound (constants.%Int.as.Copy.impl.Op.bound.987)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_56.2: = bound_method %N.ref.loc6_56, %specific_fn [symbolic = %bound_method.loc6_56.3 (constants.%bound_method.d86)] @@ -1016,7 +1016,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc9_13.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %WithNontype.ref: %WithNontype.type = name_ref WithNontype, file.%WithNontype.decl [concrete = constants.%WithNontype.generic] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_31.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_31.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.6e0] diff --git a/toolchain/check/testdata/deduce/int_float.carbon b/toolchain/check/testdata/deduce/int_float.carbon index cabc66e15ee2..0911d48e0b78 100644 --- a/toolchain/check/testdata/deduce/int_float.carbon +++ b/toolchain/check/testdata/deduce/int_float.carbon @@ -57,10 +57,10 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %require_complete.4df: = require_complete_type %Int [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.6f1: = impl_witness imports.%Copy.impl_witness_table.5e0 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.6f1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c52: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.c22: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c52, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0b3: = impl_witness imports.%Copy.impl_witness_table.ee5 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.0b3) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.85c: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.af5: type = fn_type_with_self_type %Copy.WithSelf.Op.type.85c, %Copy.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.type: type = fn_type @Core.IntLiteral.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op: %Core.IntLiteral.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.bound.3c6: = bound_method %N, %Core.IntLiteral.as.Copy.impl.Op [symbolic] @@ -91,7 +91,7 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %Core.IntLiteral.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.5e0 = impl_witness_table (%Core.import_ref.9c3), @Core.IntLiteral.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ee5 = impl_witness_table (%Core.import_ref.9c3), @Core.IntLiteral.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -160,7 +160,7 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: fn(%n.param: @F.%Int.loc4_46.1 (%Int)) -> out %return.param: Core.IntLiteral { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %N.ref.loc5: Core.IntLiteral = name_ref N, %N.loc4_7.2 [symbolic = %N.loc4_7.1 (constants.%N)] -// CHECK:STDOUT: %impl.elem0: %.c22 = impl_witness_access constants.%Copy.impl_witness.6f1, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.af5 = impl_witness_access constants.%Copy.impl_witness.0b3, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %N.ref.loc5, %impl.elem0 [symbolic = %Core.IntLiteral.as.Copy.impl.Op.bound (constants.%Core.IntLiteral.as.Copy.impl.Op.bound.3c6)] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.call: init Core.IntLiteral = call %bound_method(%N.ref.loc5) [symbolic = %N.loc4_7.1 (constants.%N)] // CHECK:STDOUT: return %Core.IntLiteral.as.Copy.impl.Op.call @@ -219,10 +219,10 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %require_complete.eb0: = require_complete_type %Float [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.6f1: = impl_witness imports.%Copy.impl_witness_table.5e0 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.6f1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c52: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.c22: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c52, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0b3: = impl_witness imports.%Copy.impl_witness_table.ee5 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.0b3) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.85c: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.af5: type = fn_type_with_self_type %Copy.WithSelf.Op.type.85c, %Copy.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.type: type = fn_type @Core.IntLiteral.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op: %Core.IntLiteral.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.bound.3c6: = bound_method %N, %Core.IntLiteral.as.Copy.impl.Op [symbolic] @@ -253,7 +253,7 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: %Core.Float: %Float.type = import_ref Core//prelude/parts/float, Float, loaded [concrete = constants.%Float.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %Core.IntLiteral.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.5e0 = impl_witness_table (%Core.import_ref.9c3), @Core.IntLiteral.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ee5 = impl_witness_table (%Core.import_ref.9c3), @Core.IntLiteral.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -322,7 +322,7 @@ fn G(a: f64) -> Core.IntLiteral { // CHECK:STDOUT: fn(%n.param: @F.%Float.loc4_48.1 (%Float)) -> out %return.param: Core.IntLiteral { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %N.ref.loc5: Core.IntLiteral = name_ref N, %N.loc4_7.2 [symbolic = %N.loc4_7.1 (constants.%N)] -// CHECK:STDOUT: %impl.elem0: %.c22 = impl_witness_access constants.%Copy.impl_witness.6f1, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.af5 = impl_witness_access constants.%Copy.impl_witness.0b3, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %N.ref.loc5, %impl.elem0 [symbolic = %Core.IntLiteral.as.Copy.impl.Op.bound (constants.%Core.IntLiteral.as.Copy.impl.Op.bound.3c6)] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.call: init Core.IntLiteral = call %bound_method(%N.ref.loc5) [symbolic = %N.loc4_7.1 (constants.%N)] // CHECK:STDOUT: return %Core.IntLiteral.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/deduce/tuple.carbon b/toolchain/check/testdata/deduce/tuple.carbon index 9a9b076769fa..c8a3f5f4a95d 100644 --- a/toolchain/check/testdata/deduce/tuple.carbon +++ b/toolchain/check/testdata/deduce/tuple.carbon @@ -306,12 +306,12 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound.273: = bound_method %B, %Int.as.Copy.impl.Op.4f6 [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.523: = bound_method %B, %Int.as.Copy.impl.Op.specific_fn [symbolic] @@ -325,12 +325,12 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -362,10 +362,10 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -436,14 +436,14 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc8_22.1: %tuple.type.f94 = tuple_literal (%int_1, %int_2) [concrete = constants.%tuple.ad8] -// CHECK:STDOUT: %impl.elem0.loc8_22.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_22.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_22.1: = bound_method %int_1, %impl.elem0.loc8_22.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc8_22.1: = specific_function %impl.elem0.loc8_22.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_22.2: = bound_method %int_1, %specific_fn.loc8_22.1 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_22.1: init %i32 = call %bound_method.loc8_22.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_22.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_22.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_22.3: %i32 = converted %int_1, %.loc8_22.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc8_22.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_22.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_22.3: = bound_method %int_2, %impl.elem0.loc8_22.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc8_22.2: = specific_function %impl.elem0.loc8_22.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_22.4: = bound_method %int_2, %specific_fn.loc8_22.2 [concrete = constants.%bound_method.3cb] @@ -494,7 +494,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: fn(%h.param: @F.%HasPair.loc6_46.1 (%HasPair.72f)) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %B.ref.loc6_65: %i32 = name_ref B, %B.loc6_15.2 [symbolic = %B.loc6_15.1 (constants.%B)] -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_65.1: = bound_method %B.ref.loc6_65, %impl.elem0 [symbolic = %Int.as.Copy.impl.Op.bound (constants.%Int.as.Copy.impl.Op.bound.273)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_65.2: = bound_method %B.ref.loc6_65, %specific_fn [symbolic = %bound_method.loc6_65.3 (constants.%bound_method.523)] 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 3964567ef5c7..7d2a4f07e0e5 100644 --- a/toolchain/check/testdata/deduce/value_with_type_through_access.carbon +++ b/toolchain/check/testdata/deduce/value_with_type_through_access.carbon @@ -622,10 +622,10 @@ fn G() { // CHECK:STDOUT: %H: %H.type = struct_value () [concrete] // CHECK:STDOUT: %struct: %struct_type.t = struct_value (%C) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.638: = impl_witness imports.%Copy.impl_witness_table.4d6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.638) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8b3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.524: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8b3, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %C, %type.as.Copy.impl.Op [concrete] @@ -649,7 +649,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.4d6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -795,7 +795,7 @@ fn G() { // CHECK:STDOUT: %G.ref: %G.type = name_ref G, file.%G.decl [concrete = constants.%G] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %.loc30_12.1: %struct_type.t = struct_literal (%C.ref) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0: %.524 = impl_witness_access constants.%Copy.impl_witness.638, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %C.ref, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%C.ref) [concrete = constants.%C] // CHECK:STDOUT: %.loc30_12.2: ref %Class = temporary_storage @@ -899,12 +899,12 @@ fn G() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -919,10 +919,10 @@ fn G() { // CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] // CHECK:STDOUT: %tuple.e45: %tuple.type.85c = tuple_value (%C) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.638: = impl_witness imports.%Copy.impl_witness_table.4d6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.638) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8b3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.524: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8b3, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %C, %type.as.Copy.impl.Op [concrete] @@ -948,10 +948,10 @@ fn G() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.4d6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1000,7 +1000,7 @@ fn G() { // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %T.ref.loc12_59: %array_type = name_ref T, %T.loc12_7.2 [symbolic = %T.loc12_7.1 (constants.%T.9b7)] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_61.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_61.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] @@ -1067,7 +1067,7 @@ fn G() { // CHECK:STDOUT: %.loc17_36: type = type_literal type [concrete = type] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %array_type: type = array_type %int_1, %.loc17_36 [concrete = constants.%array_type] -// CHECK:STDOUT: %impl.elem0: %.524 = impl_witness_access constants.%Copy.impl_witness.638, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %C.ref, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%C.ref) [concrete = constants.%C] // CHECK:STDOUT: %.loc17_25.2: ref %array_type = temporary_storage diff --git a/toolchain/check/testdata/eval/aggregates.carbon b/toolchain/check/testdata/eval/aggregates.carbon index 071f07120a7a..2c5cecdef602 100644 --- a/toolchain/check/testdata/eval/aggregates.carbon +++ b/toolchain/check/testdata/eval/aggregates.carbon @@ -74,12 +74,12 @@ fn G(generic N: i32) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -92,12 +92,12 @@ fn G(generic N: i32) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound.102: = bound_method %int_1.0c6, %Int.as.Copy.impl.Op.4f6 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.681: = bound_method %int_1.0c6, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -146,9 +146,9 @@ fn G(generic N: i32) { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -209,14 +209,14 @@ fn G(generic N: i32) { // CHECK:STDOUT: %i32.loc4_46: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_49.1: %tuple.type.24b = tuple_literal (%i32.loc4_41, %i32.loc4_46) [concrete = constants.%tuple.b59] // CHECK:STDOUT: %.loc4_49.2: type = converted %.loc4_49.1, constants.%tuple.type.e55 [concrete = constants.%tuple.type.e55] -// CHECK:STDOUT: %impl.elem0.loc4_35.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc4_35.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_35.1: = bound_method %int_1.loc4, %impl.elem0.loc4_35.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc4_35.1: = specific_function %impl.elem0.loc4_35.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc4_35.2: = bound_method %int_1.loc4, %specific_fn.loc4_35.1 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc4_35.1: init %i32 = call %bound_method.loc4_35.2(%int_1.loc4) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc4_35.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc4_35.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc4_35.3: %i32 = converted %int_1.loc4, %.loc4_35.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc4_35.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc4_35.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_35.3: = bound_method %int_2.loc4, %impl.elem0.loc4_35.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc4_35.2: = specific_function %impl.elem0.loc4_35.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc4_35.4: = bound_method %int_2.loc4, %specific_fn.loc4_35.2 [concrete = constants.%bound_method.3cb] @@ -226,7 +226,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %tuple.loc4: %tuple.type.e55 = tuple_value (%.loc4_35.3, %.loc4_35.5) [concrete = constants.%tuple.102] // CHECK:STDOUT: %.loc4_37.1: %tuple.type.e55 = converted %.loc4_35.1, %tuple.loc4 [concrete = constants.%tuple.102] // CHECK:STDOUT: %tuple.elem0.loc4_37.1: %i32 = tuple_access %.loc4_37.1, element0 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc4_37.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc4_37.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc4_37.1: = bound_method %tuple.elem0.loc4_37.1, %impl.elem0.loc4_37.1 [concrete = constants.%Int.as.Copy.impl.Op.bound.102] // CHECK:STDOUT: %specific_fn.loc4_37.1: = specific_function %impl.elem0.loc4_37.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc4_37.2: = bound_method %tuple.elem0.loc4_37.1, %specific_fn.loc4_37.1 [concrete = constants.%bound_method.681] @@ -234,7 +234,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %tuple.elem0.loc4_37.2: ref %i32 = tuple_access file.%tuple_copy.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc4_37.2: init %i32 to %tuple.elem0.loc4_37.2 = in_place_init %Int.as.Copy.impl.Op.call.loc4_37.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %tuple.elem1.loc4_37.1: %i32 = tuple_access %.loc4_37.1, element1 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc4_37.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc4_37.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc4_37.3: = bound_method %tuple.elem1.loc4_37.1, %impl.elem0.loc4_37.2 [concrete = constants.%Int.as.Copy.impl.Op.bound.245] // CHECK:STDOUT: %specific_fn.loc4_37.2: = specific_function %impl.elem0.loc4_37.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc4_37.4: = bound_method %tuple.elem1.loc4_37.1, %specific_fn.loc4_37.2 [concrete = constants.%bound_method.03a] @@ -252,21 +252,21 @@ fn G(generic N: i32) { // CHECK:STDOUT: %i32.loc6_90: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc6_99: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.b.a.c: type = struct_type {.b: %i32, .a: %i32, .c: %i32} [concrete = constants.%struct_type.b.a.c] -// CHECK:STDOUT: %impl.elem0.loc6_71.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6_71.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_71.1: = bound_method %int_2.loc6, %impl.elem0.loc6_71.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc6_71.1: = specific_function %impl.elem0.loc6_71.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_71.2: = bound_method %int_2.loc6, %specific_fn.loc6_71.1 [concrete = constants.%bound_method.3cb] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6_71.1: init %i32 = call %bound_method.loc6_71.2(%int_2.loc6) [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc6_71.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6_71.1 [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc6_71.3: %i32 = converted %int_2.loc6, %.loc6_71.2 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc6_71.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6_71.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_71.3: = bound_method %int_1.loc6, %impl.elem0.loc6_71.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc6_71.2: = specific_function %impl.elem0.loc6_71.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_71.4: = bound_method %int_1.loc6, %specific_fn.loc6_71.2 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6_71.2: init %i32 = call %bound_method.loc6_71.4(%int_1.loc6) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc6_71.4: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6_71.2 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc6_71.5: %i32 = converted %int_1.loc6, %.loc6_71.4 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc6_71.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6_71.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_71.5: = bound_method %int_3.loc6, %impl.elem0.loc6_71.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc6_71.3: = specific_function %impl.elem0.loc6_71.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_71.6: = bound_method %int_3.loc6, %specific_fn.loc6_71.3 [concrete = constants.%bound_method.763] @@ -276,7 +276,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %struct.loc6: %struct_type.b.a.c = struct_value (%.loc6_71.3, %.loc6_71.5, %.loc6_71.7) [concrete = constants.%struct.55d] // CHECK:STDOUT: %.loc6_73.1: %struct_type.b.a.c = converted %.loc6_71.1, %struct.loc6 [concrete = constants.%struct.55d] // CHECK:STDOUT: %.loc6_73.2: %i32 = struct_access %.loc6_73.1, element1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc6_73.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_73.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_73.1: = bound_method %.loc6_73.2, %impl.elem0.loc6_73.1 [concrete = constants.%Int.as.Copy.impl.Op.bound.102] // CHECK:STDOUT: %specific_fn.loc6_73.1: = specific_function %impl.elem0.loc6_73.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_73.2: = bound_method %.loc6_73.2, %specific_fn.loc6_73.1 [concrete = constants.%bound_method.681] @@ -284,7 +284,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc6_73.3: ref %i32 = struct_access file.%struct_copy.var, element1 [concrete = constants.%.d67] // CHECK:STDOUT: %.loc6_73.4: init %i32 to %.loc6_73.3 = in_place_init %Int.as.Copy.impl.Op.call.loc6_73.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc6_73.5: %i32 = struct_access %.loc6_73.1, element0 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc6_73.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_73.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_73.3: = bound_method %.loc6_73.5, %impl.elem0.loc6_73.2 [concrete = constants.%Int.as.Copy.impl.Op.bound.245] // CHECK:STDOUT: %specific_fn.loc6_73.2: = specific_function %impl.elem0.loc6_73.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_73.4: = bound_method %.loc6_73.5, %specific_fn.loc6_73.2 [concrete = constants.%bound_method.03a] @@ -292,7 +292,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc6_73.6: ref %i32 = struct_access file.%struct_copy.var, element0 [concrete = constants.%.5f2] // CHECK:STDOUT: %.loc6_73.7: init %i32 to %.loc6_73.6 = in_place_init %Int.as.Copy.impl.Op.call.loc6_73.2 [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc6_73.8: %i32 = struct_access %.loc6_73.1, element2 [concrete = constants.%int_3.410] -// CHECK:STDOUT: %impl.elem0.loc6_73.3: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_73.3: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_73.5: = bound_method %.loc6_73.8, %impl.elem0.loc6_73.3 [concrete = constants.%Int.as.Copy.impl.Op.bound.4ec] // CHECK:STDOUT: %specific_fn.loc6_73.3: = specific_function %impl.elem0.loc6_73.3, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_73.6: = bound_method %.loc6_73.8, %specific_fn.loc6_73.3 [concrete = constants.%bound_method.1b6] @@ -315,7 +315,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc8_64.2: %tuple.type.d46 = converted %.loc8_64.1, %tuple.loc8 [concrete = constants.%tuple.869] // CHECK:STDOUT: %tuple.elem2: Core.IntLiteral = tuple_access %.loc8_64.2, element2 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %array_type.loc8: type = array_type %tuple.elem2, %i32.loc8 [concrete = constants.%array_type] -// CHECK:STDOUT: %impl.elem0.loc8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_37.1: = bound_method %int_0.loc8_35, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_37.2: = bound_method %int_0.loc8_35, %specific_fn.loc8 [concrete = constants.%bound_method.6e0] @@ -338,7 +338,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc10_70.2: %struct_type.a.b = converted %.loc10_70.1, %struct.loc10 [concrete = constants.%struct.a81] // CHECK:STDOUT: %.loc10_71: Core.IntLiteral = struct_access %.loc10_70.2, element1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %array_type.loc10: type = array_type %.loc10_71, %i32.loc10 [concrete = constants.%array_type] -// CHECK:STDOUT: %impl.elem0.loc10: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_39.1: = bound_method %int_0.loc10_37, %impl.elem0.loc10 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_39.2: = bound_method %int_0.loc10_37, %specific_fn.loc10 [concrete = constants.%bound_method.6e0] @@ -378,12 +378,12 @@ fn G(generic N: i32) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.c9d: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -408,7 +408,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -438,7 +438,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %i32.loc9_76: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4] // CHECK:STDOUT: %array_type: type = array_type %int_4, %i32.loc9_76 [concrete = constants.%array_type.88c] -// CHECK:STDOUT: %impl.elem0.loc9_65.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_65.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_65.1: = bound_method %int_5, %impl.elem0.loc9_65.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn.loc9_65.1: = specific_function %impl.elem0.loc9_65.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_65.2: = bound_method %int_5, %specific_fn.loc9_65.1 [concrete = constants.%bound_method.c9d] @@ -448,7 +448,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %int_0.loc9_65: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %.loc9_65.4: ref %i32 = array_index %.loc9_65.3, %int_0.loc9_65 // CHECK:STDOUT: %.loc9_65.5: init %i32 to %.loc9_65.4 = in_place_init %.loc9_65.2 [concrete = constants.%int_5.eef] -// CHECK:STDOUT: %impl.elem0.loc9_65.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_65.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_65.3: = bound_method %int_7, %impl.elem0.loc9_65.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.66b] // CHECK:STDOUT: %specific_fn.loc9_65.2: = specific_function %impl.elem0.loc9_65.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_65.4: = bound_method %int_7, %specific_fn.loc9_65.2 [concrete = constants.%bound_method.7ff] @@ -457,7 +457,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %int_1.loc9_65: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc9_65.7: ref %i32 = array_index %.loc9_65.3, %int_1.loc9_65 // CHECK:STDOUT: %.loc9_65.8: init %i32 to %.loc9_65.7 = in_place_init %.loc9_65.6 [concrete = constants.%int_7.690] -// CHECK:STDOUT: %impl.elem0.loc9_65.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_65.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_65.5: = bound_method %int_1.loc9_61, %impl.elem0.loc9_65.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc9_65.3: = specific_function %impl.elem0.loc9_65.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_65.6: = bound_method %int_1.loc9_61, %specific_fn.loc9_65.3 [concrete = constants.%bound_method.953] @@ -466,7 +466,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %int_2.loc9_65: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc9_65.10: ref %i32 = array_index %.loc9_65.3, %int_2.loc9_65 // CHECK:STDOUT: %.loc9_65.11: init %i32 to %.loc9_65.10 = in_place_init %.loc9_65.9 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc9_65.4: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_65.4: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_65.7: = bound_method %int_9, %impl.elem0.loc9_65.4 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f46] // CHECK:STDOUT: %specific_fn.loc9_65.4: = specific_function %impl.elem0.loc9_65.4, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_65.8: = bound_method %int_9, %specific_fn.loc9_65.4 [concrete = constants.%bound_method.9bf] @@ -479,7 +479,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc9_67.1: init %array_type.88c = converted %.loc9_65.1, %.loc9_65.15 [concrete = constants.%array] // CHECK:STDOUT: %int_2.loc9_85: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc9_67.2: ref %array_type.88c = temporary %.loc9_65.3, %.loc9_67.1 [concrete = constants.%.653] -// CHECK:STDOUT: %impl.elem0.loc9_85: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_85: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_85.1: = bound_method %int_2.loc9_85, %impl.elem0.loc9_85 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc9_85: = specific_function %impl.elem0.loc9_85, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_85.2: = bound_method %int_2.loc9_85, %specific_fn.loc9_85 [concrete = constants.%bound_method.3cb] @@ -570,12 +570,12 @@ fn G(generic N: i32) { // CHECK:STDOUT: %From: Core.IntLiteral = symbolic_binding From, 0 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %N.37f, %Int.as.ImplicitAs.impl.Convert.69e [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %N.37f, %Int.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -602,7 +602,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @F(%T.loc4_15.2: %Destroy.type) { @@ -811,7 +811,7 @@ fn G(generic N: i32) { // CHECK:STDOUT: %.loc14_29: type = splice_block %array_type.loc14_29.1 [symbolic = %array_type.loc14_29.2 (constants.%array_type.359)] { // CHECK:STDOUT: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %N.ref: %i32 = name_ref N, %N.loc12_15.2 [symbolic = %N.loc12_15.1 (constants.%N.37f)] -// CHECK:STDOUT: %impl.elem0.loc14_28: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0.loc14_28: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc14_28.1: = bound_method %N.ref, %impl.elem0.loc14_28 [symbolic = %Int.as.ImplicitAs.impl.Convert.bound (constants.%Int.as.ImplicitAs.impl.Convert.bound)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc14_28, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_28.2: = bound_method %N.ref, %specific_fn [symbolic = %bound_method.loc14_28.3 (constants.%bound_method)] diff --git a/toolchain/check/testdata/eval/binding.carbon b/toolchain/check/testdata/eval/binding.carbon index 540305ca7b93..4315f55789bf 100644 --- a/toolchain/check/testdata/eval/binding.carbon +++ b/toolchain/check/testdata/eval/binding.carbon @@ -82,22 +82,22 @@ let n: array(i32, G()) = (1, 2, 3); // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.763: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.410: %i32 = int_value 3 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.657: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.657) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet.657 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8de: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.8de) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet.8de [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.410, %Int.as.ImplicitAs.impl.Convert.69e [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.545: = bound_method %int_3.410, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -121,13 +121,13 @@ let n: array(i32, G()) = (1, 2, 3); // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { -// CHECK:STDOUT: %impl.elem0.loc11_35.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11_35.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_35.1: = bound_method @__global_init.%int_1, %impl.elem0.loc11_35.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc11_35.1: = specific_function %impl.elem0.loc11_35.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_35.2: = bound_method @__global_init.%int_1, %specific_fn.loc11_35.1 [concrete = constants.%bound_method.953] @@ -137,7 +137,7 @@ let n: array(i32, G()) = (1, 2, 3); // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %.loc11_35.3: ref %i32 = array_index %.loc11_35.2, %int_0 // CHECK:STDOUT: %.loc11_35.4: init %i32 to %.loc11_35.3 = in_place_init %.loc11_35.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc11_35.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11_35.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_35.3: = bound_method @__global_init.%int_2, %impl.elem0.loc11_35.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc11_35.2: = specific_function %impl.elem0.loc11_35.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_35.4: = bound_method @__global_init.%int_2, %specific_fn.loc11_35.2 [concrete = constants.%bound_method.3cb] @@ -146,7 +146,7 @@ let n: array(i32, G()) = (1, 2, 3); // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc11_35.6: ref %i32 = array_index %.loc11_35.2, %int_1 // CHECK:STDOUT: %.loc11_35.7: init %i32 to %.loc11_35.6 = in_place_init %.loc11_35.5 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc11_35.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11_35.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_35.5: = bound_method @__global_init.%int_3, %impl.elem0.loc11_35.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc11_35.3: = specific_function %impl.elem0.loc11_35.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_35.6: = bound_method @__global_init.%int_3, %specific_fn.loc11_35.3 [concrete = constants.%bound_method.763] @@ -163,7 +163,7 @@ let n: array(i32, G()) = (1, 2, 3); // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %F.ref: %F.type = name_ref F, %F.decl [concrete = constants.%F] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc11_21: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11_21: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_21.1: = bound_method %int_3, %impl.elem0.loc11_21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc11_21: = specific_function %impl.elem0.loc11_21, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_21.2: = bound_method %int_3, %specific_fn.loc11_21 [concrete = constants.%bound_method.763] @@ -171,7 +171,7 @@ let n: array(i32, G()) = (1, 2, 3); // CHECK:STDOUT: %.loc11_21.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc11_21 [concrete = constants.%int_3.410] // CHECK:STDOUT: %.loc11_21.2: %i32 = converted %int_3, %.loc11_21.1 [concrete = constants.%int_3.410] // CHECK:STDOUT: %F.call: init %i32 = call %F.ref(%.loc11_21.2) [concrete = constants.%int_3.410] -// CHECK:STDOUT: %impl.elem0.loc11_22: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0.loc11_22: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc11_22.1: = bound_method %F.call, %impl.elem0.loc11_22 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_22: = specific_function %impl.elem0.loc11_22, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_22.2: = bound_method %F.call, %specific_fn.loc11_22 [concrete = constants.%bound_method.545] diff --git a/toolchain/check/testdata/eval/call.carbon b/toolchain/check/testdata/eval/call.carbon index 1dcb12d0bf78..922974261945 100644 --- a/toolchain/check/testdata/eval/call.carbon +++ b/toolchain/check/testdata/eval/call.carbon @@ -298,12 +298,12 @@ fn H() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -325,7 +325,7 @@ fn H() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -350,7 +350,7 @@ fn H() { // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc5_49.1: %tuple.type.37f = tuple_literal (%int_1, %int_2, %int_3) [concrete = constants.%tuple.2d5] -// CHECK:STDOUT: %impl.elem0.loc5_49.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc5_49.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_49.1: = bound_method %int_1, %impl.elem0.loc5_49.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc5_49.1: = specific_function %impl.elem0.loc5_49.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_49.2: = bound_method %int_1, %specific_fn.loc5_49.1 [concrete = constants.%bound_method.953] @@ -358,7 +358,7 @@ fn H() { // CHECK:STDOUT: %.loc5_49.2: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc5_49.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %return.param, element0 // CHECK:STDOUT: %.loc5_49.3: init %i32 to %tuple.elem0 = in_place_init %.loc5_49.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc5_49.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc5_49.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_49.3: = bound_method %int_2, %impl.elem0.loc5_49.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc5_49.2: = specific_function %impl.elem0.loc5_49.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_49.4: = bound_method %int_2, %specific_fn.loc5_49.2 [concrete = constants.%bound_method.3cb] @@ -366,7 +366,7 @@ fn H() { // CHECK:STDOUT: %.loc5_49.4: init %i32 = converted %int_2, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc5_49.2 [concrete = constants.%int_2.295] // CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access %return.param, element1 // CHECK:STDOUT: %.loc5_49.5: init %i32 to %tuple.elem1 = in_place_init %.loc5_49.4 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc5_49.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc5_49.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_49.5: = bound_method %int_3, %impl.elem0.loc5_49.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc5_49.3: = specific_function %impl.elem0.loc5_49.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_49.6: = bound_method %int_3, %specific_fn.loc5_49.3 [concrete = constants.%bound_method.763] diff --git a/toolchain/check/testdata/eval/symbolic.carbon b/toolchain/check/testdata/eval/symbolic.carbon index 3b7672fad33f..c7622ce3482f 100644 --- a/toolchain/check/testdata/eval/symbolic.carbon +++ b/toolchain/check/testdata/eval/symbolic.carbon @@ -80,10 +80,10 @@ fn F() { // CHECK:STDOUT: %U.013: %Z.type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %U.as_type.ff1: type = facet_access_type %U.013 [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.638: = impl_witness imports.%Copy.impl_witness_table.4d6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.638) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8b3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.524: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8b3, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound.05d: = bound_method %U.as_type.ff1, %type.as.Copy.impl.Op [symbolic] @@ -92,7 +92,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.4d6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @E(%U.loc6_20.2: %Z.type) { @@ -107,7 +107,7 @@ fn F() { // CHECK:STDOUT: %U.ref: %Z.type = name_ref U, %U.loc6_20.2 [symbolic = %U.loc6_20.1 (constants.%U.013)] // CHECK:STDOUT: %U.as_type.loc11_11.1: type = facet_access_type %U.ref [symbolic = %U.as_type.loc11_11.2 (constants.%U.as_type.ff1)] // CHECK:STDOUT: %.loc11: type = converted %U.ref, %U.as_type.loc11_11.1 [symbolic = %U.as_type.loc11_11.2 (constants.%U.as_type.ff1)] -// CHECK:STDOUT: %impl.elem0: %.524 = impl_witness_access constants.%Copy.impl_witness.638, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc11, %impl.elem0 [symbolic = %type.as.Copy.impl.Op.bound (constants.%type.as.Copy.impl.Op.bound.05d)] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc11) [symbolic = %U.as_type.loc11_11.2 (constants.%U.as_type.ff1)] // CHECK:STDOUT: return %type.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/facet/call_combined_impl_witness.carbon b/toolchain/check/testdata/facet/call_combined_impl_witness.carbon index a912fc49ffd0..be9e20506af9 100644 --- a/toolchain/check/testdata/facet/call_combined_impl_witness.carbon +++ b/toolchain/check/testdata/facet/call_combined_impl_witness.carbon @@ -73,16 +73,16 @@ fn F() { // CHECK:STDOUT: %A.impl_witness: = impl_witness @C.as.A.impl.%A.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.A.impl.AA.type: type = fn_type @C.as.A.impl.AA [concrete] // CHECK:STDOUT: %C.as.A.impl.AA: %C.as.A.impl.AA.type = struct_value () [concrete] -// CHECK:STDOUT: %A.facet.2ca: %A.type = facet_value %C, (%A.impl_witness) [concrete] -// CHECK:STDOUT: %A.WithSelf.AA.type.624: type = fn_type @A.WithSelf.AA, @A.WithSelf(%A.facet.2ca) [concrete] -// CHECK:STDOUT: %A.WithSelf.AA.879: %A.WithSelf.AA.type.624 = struct_value () [concrete] +// CHECK:STDOUT: %A.facet.7ce: %A.type = facet_value %C, (%A.impl_witness) [concrete] +// CHECK:STDOUT: %A.WithSelf.AA.type.e6d: type = fn_type @A.WithSelf.AA, @A.WithSelf(%A.facet.7ce) [concrete] +// CHECK:STDOUT: %A.WithSelf.AA.19b: %A.WithSelf.AA.type.e6d = struct_value () [concrete] // CHECK:STDOUT: %.827: = impl_self_witness %C, @B [concrete] // CHECK:STDOUT: %B.impl_witness: = impl_witness @C.as.B.impl.%B.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.B.impl.BB.type: type = fn_type @C.as.B.impl.BB [concrete] // CHECK:STDOUT: %C.as.B.impl.BB: %C.as.B.impl.BB.type = struct_value () [concrete] -// CHECK:STDOUT: %B.facet.464: %B.type = facet_value %C, (%B.impl_witness) [concrete] -// CHECK:STDOUT: %B.WithSelf.BB.type.5c1: type = fn_type @B.WithSelf.BB, @B.WithSelf(%B.facet.464) [concrete] -// CHECK:STDOUT: %B.WithSelf.BB.f03: %B.WithSelf.BB.type.5c1 = struct_value () [concrete] +// CHECK:STDOUT: %B.facet.a13: %B.type = facet_value %C, (%B.impl_witness) [concrete] +// CHECK:STDOUT: %B.WithSelf.BB.type.77e: type = fn_type @B.WithSelf.BB, @B.WithSelf(%B.facet.a13) [concrete] +// CHECK:STDOUT: %B.WithSelf.BB.7f0: %B.WithSelf.BB.type.77e = struct_value () [concrete] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] @@ -90,8 +90,8 @@ fn F() { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.36e: = bound_method %A.type, %type.as.BitAndWith.impl.Op [concrete] @@ -140,8 +140,8 @@ fn F() { // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc45_8.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.115, %Destroy.Op.1a2547.2 [concrete] -// CHECK:STDOUT: %.070: type = fn_type_with_self_type %A.WithSelf.AA.type.624, %A.facet.2ca [concrete] -// CHECK:STDOUT: %.d06: type = fn_type_with_self_type %B.WithSelf.BB.type.5c1, %B.facet.464 [concrete] +// CHECK:STDOUT: %.833: type = fn_type_with_self_type %A.WithSelf.AA.type.e6d, %A.facet.7ce [concrete] +// CHECK:STDOUT: %.02b: type = fn_type_with_self_type %B.WithSelf.BB.type.77e, %B.facet.a13 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -196,11 +196,11 @@ fn F() { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %A.ref.loc33: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] -// CHECK:STDOUT: %impl.elem0.loc33_11: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc33_11: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc33_11: = bound_method %A.ref.loc33, %impl.elem0.loc33_11 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.36e] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc33_11: init type = call %bound_method.loc33_11(%A.ref.loc33, %Empty.ref) [concrete = constants.%facet_type.b34] // CHECK:STDOUT: %B.ref.loc33: type = name_ref B, file.%B.decl [concrete = constants.%B.type] -// CHECK:STDOUT: %impl.elem0.loc33_19: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc33_19: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc33_19: = bound_method %type.as.BitAndWith.impl.Op.call.loc33_11, %impl.elem0.loc33_19 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.188] // CHECK:STDOUT: %.loc33_11.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc33_11 [concrete = constants.%facet_type.b34] // CHECK:STDOUT: %.loc33_11.2: type = converted %type.as.BitAndWith.impl.Op.call.loc33_11, %.loc33_11.1 [concrete = constants.%facet_type.b34] @@ -448,23 +448,23 @@ fn F() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.WithSelf(constants.%A.facet.2ca) { +// CHECK:STDOUT: specific @A.WithSelf(constants.%A.facet.7ce) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%A.facet.2ca -// CHECK:STDOUT: %A.WithSelf.AA.type => constants.%A.WithSelf.AA.type.624 -// CHECK:STDOUT: %A.WithSelf.AA => constants.%A.WithSelf.AA.879 +// CHECK:STDOUT: %Self => constants.%A.facet.7ce +// CHECK:STDOUT: %A.WithSelf.AA.type => constants.%A.WithSelf.AA.type.e6d +// CHECK:STDOUT: %A.WithSelf.AA => constants.%A.WithSelf.AA.19b // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.WithSelf.AA(constants.%A.facet.2ca) {} +// CHECK:STDOUT: specific @A.WithSelf.AA(constants.%A.facet.7ce) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @B.WithSelf(constants.%B.facet.464) { +// CHECK:STDOUT: specific @B.WithSelf(constants.%B.facet.a13) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%B.facet.464 -// CHECK:STDOUT: %B.WithSelf.BB.type => constants.%B.WithSelf.BB.type.5c1 -// CHECK:STDOUT: %B.WithSelf.BB => constants.%B.WithSelf.BB.f03 +// CHECK:STDOUT: %Self => constants.%B.facet.a13 +// CHECK:STDOUT: %B.WithSelf.BB.type => constants.%B.WithSelf.BB.type.77e +// CHECK:STDOUT: %B.WithSelf.BB => constants.%B.WithSelf.BB.7f0 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @B.WithSelf.BB(constants.%B.facet.464) {} +// CHECK:STDOUT: specific @B.WithSelf.BB(constants.%B.facet.a13) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @G(constants.%T) { // CHECK:STDOUT: %T.patt.loc33_7.2 => constants.%T.patt @@ -522,15 +522,15 @@ fn F() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type // CHECK:STDOUT: %A.lookup_impl_witness => constants.%A.impl_witness -// CHECK:STDOUT: %A.facet.loc34 => constants.%A.facet.2ca -// CHECK:STDOUT: %A.WithSelf.AA.type => constants.%A.WithSelf.AA.type.624 -// CHECK:STDOUT: %.loc34 => constants.%.070 +// CHECK:STDOUT: %A.facet.loc34 => constants.%A.facet.7ce +// CHECK:STDOUT: %A.WithSelf.AA.type => constants.%A.WithSelf.AA.type.e6d +// CHECK:STDOUT: %.loc34 => constants.%.833 // CHECK:STDOUT: %impl.elem0.loc34_4.2 => constants.%C.as.A.impl.AA // CHECK:STDOUT: %specific_impl_fn.loc34_4.2 => constants.%C.as.A.impl.AA // CHECK:STDOUT: %B.lookup_impl_witness => constants.%B.impl_witness -// CHECK:STDOUT: %B.facet.loc35 => constants.%B.facet.464 -// CHECK:STDOUT: %B.WithSelf.BB.type => constants.%B.WithSelf.BB.type.5c1 -// CHECK:STDOUT: %.loc35 => constants.%.d06 +// CHECK:STDOUT: %B.facet.loc35 => constants.%B.facet.a13 +// CHECK:STDOUT: %B.WithSelf.BB.type => constants.%B.WithSelf.BB.type.77e +// CHECK:STDOUT: %.loc35 => constants.%.02b // CHECK:STDOUT: %impl.elem0.loc35_4.2 => constants.%C.as.B.impl.BB // CHECK:STDOUT: %specific_impl_fn.loc35_4.2 => constants.%C.as.B.impl.BB // 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 4d1bcc6f90f1..255c02d3b010 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 @@ -94,8 +94,8 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F.type: type = fn_type @ImplsGeneric.as.Generic.impl.F [concrete] // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F: %ImplsGeneric.as.Generic.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.type.c45: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.d7c: %Generic.WithSelf.F.type.c45 = struct_value () [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.type.7ef: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.e1b: %Generic.WithSelf.F.type.7ef = struct_value () [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] @@ -108,7 +108,7 @@ fn G() { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.de1: type = pattern_type %Generic.type.b40 [concrete] // CHECK:STDOUT: %U.patt.e09a67.1: %pattern_type.de1 = symbolic_binding_pattern U, 1 [symbolic] -// CHECK:STDOUT: %CallGenericMethod.specific_fn.42a: = specific_function %CallGenericMethod, @CallGenericMethod(%GenericParam, %Generic.facet) [concrete] +// CHECK:STDOUT: %CallGenericMethod.specific_fn.943: = specific_function %CallGenericMethod, @CallGenericMethod(%GenericParam, %Generic.facet) [concrete] // CHECK:STDOUT: %U.patt.8a63c8.2: %pattern_type.4e0 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %U.af9edd.2: %Generic.type.ee14e9.2 = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %PassThroughToGenericMethod.type: type = fn_type @PassThroughToGenericMethod [concrete] @@ -279,7 +279,7 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric.ref: type = name_ref ImplsGeneric, file.%ImplsGeneric.decl [concrete = constants.%ImplsGeneric] // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value constants.%ImplsGeneric, (constants.%Generic.impl_witness) [concrete = constants.%Generic.facet] // CHECK:STDOUT: %.loc18: %Generic.type.b40 = converted constants.%ImplsGeneric, %Generic.facet [concrete = constants.%Generic.facet] -// CHECK:STDOUT: %CallGenericMethod.specific_fn: = specific_function %CallGenericMethod.ref, @CallGenericMethod(constants.%GenericParam, constants.%Generic.facet) [concrete = constants.%CallGenericMethod.specific_fn.42a] +// CHECK:STDOUT: %CallGenericMethod.specific_fn: = specific_function %CallGenericMethod.ref, @CallGenericMethod(constants.%GenericParam, constants.%Generic.facet) [concrete = constants.%CallGenericMethod.specific_fn.943] // CHECK:STDOUT: %CallGenericMethod.call: init %empty_tuple.type = call %CallGenericMethod.specific_fn() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -352,8 +352,8 @@ fn G() { // CHECK:STDOUT: %Scalar => constants.%GenericParam // CHECK:STDOUT: %Generic.type => constants.%Generic.type.b40 // CHECK:STDOUT: %Self => constants.%Generic.facet -// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.c45 -// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.d7c +// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.7ef +// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.e1b // CHECK:STDOUT: %Generic.assoc_type => constants.%Generic.assoc_type.c13 // CHECK:STDOUT: %assoc0.loc5_9.2 => constants.%assoc0.b4a // CHECK:STDOUT: } @@ -414,7 +414,7 @@ fn G() { // CHECK:STDOUT: %U.loc21_57.1 => constants.%Generic.facet // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %CallGenericMethod.specific_fn.loc22_3.2 => constants.%CallGenericMethod.specific_fn.42a +// CHECK:STDOUT: %CallGenericMethod.specific_fn.loc22_3.2 => constants.%CallGenericMethod.specific_fn.943 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- generic_facet_type_from_implicit_param.carbon @@ -449,8 +449,8 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F.type: type = fn_type @ImplsGeneric.as.Generic.impl.F [concrete] // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F: %ImplsGeneric.as.Generic.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.type.c45: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.d7c: %Generic.WithSelf.F.type.c45 = struct_value () [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.type.7ef: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.e1b: %Generic.WithSelf.F.type.7ef = struct_value () [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] @@ -683,8 +683,8 @@ fn G() { // CHECK:STDOUT: %Scalar => constants.%GenericParam // CHECK:STDOUT: %Generic.type => constants.%Generic.type.b40 // CHECK:STDOUT: %Self => constants.%Generic.facet -// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.c45 -// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.d7c +// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.7ef +// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.e1b // CHECK:STDOUT: %Generic.assoc_type => constants.%Generic.assoc_type.c13 // CHECK:STDOUT: %assoc0.loc5_9.2 => constants.%assoc0.b4a // 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 8cdeb498d1b5..dfff071932ba 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 @@ -126,8 +126,8 @@ fn B() { // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F.type: type = fn_type @ImplsGeneric.as.Generic.impl.F [concrete] // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F: %ImplsGeneric.as.Generic.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.type.c45: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.d7c: %Generic.WithSelf.F.type.c45 = struct_value () [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.type.7ef: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.e1b: %Generic.WithSelf.F.type.7ef = struct_value () [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] @@ -181,7 +181,7 @@ fn B() { // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.bound.047: = bound_method %.cd4, %Destroy.Op.1a2547.3 [concrete] // CHECK:STDOUT: %complete_type.35b: = complete_type_witness %Generic.type.b40 [concrete] -// CHECK:STDOUT: %.1fa: type = fn_type_with_self_type %Generic.WithSelf.F.type.c45, %Generic.facet [concrete] +// CHECK:STDOUT: %.636: type = fn_type_with_self_type %Generic.WithSelf.F.type.7ef, %Generic.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -429,8 +429,8 @@ fn B() { // CHECK:STDOUT: %Scalar => constants.%GenericParam // CHECK:STDOUT: %Generic.type => constants.%Generic.type.b40 // CHECK:STDOUT: %Self => constants.%Generic.facet -// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.c45 -// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.d7c +// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.7ef +// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.e1b // CHECK:STDOUT: %Generic.assoc_type => constants.%Generic.assoc_type.c13 // CHECK:STDOUT: %assoc0.loc5_9.2 => constants.%assoc0.b4a // CHECK:STDOUT: } @@ -507,8 +507,8 @@ fn B() { // CHECK:STDOUT: %require_complete.loc16 => constants.%complete_type.35b // CHECK:STDOUT: %Generic.assoc_type => constants.%Generic.assoc_type.c13 // CHECK:STDOUT: %assoc0 => constants.%assoc0.b4a -// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.c45 -// CHECK:STDOUT: %.loc16_4.3 => constants.%.1fa +// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.7ef +// CHECK:STDOUT: %.loc16_4.3 => constants.%.636 // CHECK:STDOUT: %Generic.lookup_impl_witness => constants.%Generic.impl_witness // CHECK:STDOUT: %impl.elem0.loc16_4.2 => constants.%ImplsGeneric.as.Generic.impl.F // CHECK:STDOUT: %specific_impl_fn.loc16_4.2 => constants.%ImplsGeneric.as.Generic.impl.F @@ -537,10 +537,10 @@ fn B() { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %I.type.269: type = facet_type <@I, @I(%T.67d, %empty_tuple.type)> [symbolic] // CHECK:STDOUT: %.78e: = impl_self_witness %C, @I, @I(%T.67d, %empty_tuple.type) [symbolic] -// CHECK:STDOUT: %I.impl_witness.a35: = impl_witness @C.as.I.impl.%I.impl_witness_table, @C.as.I.impl(%T.67d) [symbolic] +// CHECK:STDOUT: %I.impl_witness.e6a: = impl_witness @C.as.I.impl.%I.impl_witness_table, @C.as.I.impl(%T.67d) [symbolic] // CHECK:STDOUT: %Self.7df: %I.type.269 = symbolic_binding Self, 2 [symbolic] // CHECK:STDOUT: %require_complete.2dc: = require_complete_type %I.type.269 [symbolic] -// CHECK:STDOUT: %I.facet.754: %I.type.269 = facet_value %C, (%I.impl_witness.a35) [symbolic] +// CHECK:STDOUT: %I.facet.dd0: %I.type.269 = facet_value %C, (%I.impl_witness.e6a) [symbolic] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %I.type.722: type = facet_type <@I, @I(%empty_struct_type, %empty_tuple.type)> [concrete] // CHECK:STDOUT: %pattern_type.bd4: type = pattern_type %I.type.722 [concrete] @@ -557,14 +557,14 @@ fn B() { // CHECK:STDOUT: %B: %B.type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %.793: = impl_self_witness %C, @I, @I(%empty_struct_type, %empty_tuple.type) [concrete] -// CHECK:STDOUT: %I.impl_witness.a7c: = impl_witness @C.as.I.impl.%I.impl_witness_table, @C.as.I.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %I.impl_witness.7f0: = impl_witness @C.as.I.impl.%I.impl_witness_table, @C.as.I.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %Self.9e2: %I.type.722 = symbolic_binding Self, 2 [symbolic] // CHECK:STDOUT: %complete_type.dfa: = complete_type_witness %I.type.722 [concrete] -// CHECK:STDOUT: %I.facet.831: %I.type.722 = facet_value %C, (%I.impl_witness.a7c) [concrete] +// CHECK:STDOUT: %I.facet.dfc: %I.type.722 = facet_value %C, (%I.impl_witness.7f0) [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %t.param_patt.5f9: %pattern_type.98b = value_param_pattern [concrete] // CHECK:STDOUT: %t.patt.c3d: %pattern_type.98b = at_binding_pattern t, %t.param_patt.5f9 [concrete] -// CHECK:STDOUT: %A.specific_fn: = specific_function %A, @A(%I.facet.831) [concrete] +// CHECK:STDOUT: %A.specific_fn: = specific_function %A, @A(%I.facet.dfc) [concrete] // CHECK:STDOUT: %.115: ref %C = temporary invalid, %C.val [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc12_8.2 [concrete] @@ -675,14 +675,14 @@ fn B() { // CHECK:STDOUT: %T.loc7_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.2 (constants.%T.67d)] // CHECK:STDOUT: %I.type.loc7_35.2: type = facet_type <@I, @I(%T.loc7_15.2, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_35.2 (constants.%I.type.269)] // CHECK:STDOUT: %.loc7_37: = impl_self_witness constants.%C, @I, @I(%T.loc7_15.2, constants.%empty_tuple.type) [symbolic = %.loc7_37 (constants.%.78e)] -// CHECK:STDOUT: %I.impl_witness.loc7_37.2: = impl_witness %I.impl_witness_table, @C.as.I.impl(%T.loc7_15.2) [symbolic = %I.impl_witness.loc7_37.2 (constants.%I.impl_witness.a35)] +// CHECK:STDOUT: %I.impl_witness.loc7_37.2: = impl_witness %I.impl_witness_table, @C.as.I.impl(%T.loc7_15.2) [symbolic = %I.impl_witness.loc7_37.2 (constants.%I.impl_witness.e6a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc7_35.2 [symbolic = %require_complete (constants.%require_complete.2dc)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.ref as %I.type.loc7_35.1 { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness.loc7_37.1: = impl_witness %I.impl_witness_table, @C.as.I.impl(constants.%T.67d) [symbolic = %I.impl_witness.loc7_37.2 (constants.%I.impl_witness.a35)] +// CHECK:STDOUT: %I.impl_witness.loc7_37.1: = impl_witness %I.impl_witness_table, @C.as.I.impl(constants.%T.67d) [symbolic = %I.impl_witness.loc7_37.2 (constants.%I.impl_witness.e6a)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %I.type.loc7_35.1 @@ -723,11 +723,11 @@ fn B() { // CHECK:STDOUT: %.loc12_6.2: ref %C = temporary_storage // CHECK:STDOUT: %.loc12_6.3: init %C to %.loc12_6.2 = class_init () [concrete = constants.%C.val] // CHECK:STDOUT: %.loc12_8.1: init %C = converted %.loc12_6.1, %.loc12_6.3 [concrete = constants.%C.val] -// CHECK:STDOUT: %I.facet.loc12_12.1: %I.type.722 = facet_value constants.%C, (constants.%I.impl_witness.a7c) [concrete = constants.%I.facet.831] -// CHECK:STDOUT: %.loc12_12.1: %I.type.722 = converted constants.%C, %I.facet.loc12_12.1 [concrete = constants.%I.facet.831] -// CHECK:STDOUT: %I.facet.loc12_12.2: %I.type.722 = facet_value constants.%C, (constants.%I.impl_witness.a7c) [concrete = constants.%I.facet.831] -// CHECK:STDOUT: %.loc12_12.2: %I.type.722 = converted constants.%C, %I.facet.loc12_12.2 [concrete = constants.%I.facet.831] -// CHECK:STDOUT: %A.specific_fn: = specific_function %A.ref, @A(constants.%I.facet.831) [concrete = constants.%A.specific_fn] +// CHECK:STDOUT: %I.facet.loc12_12.1: %I.type.722 = facet_value constants.%C, (constants.%I.impl_witness.7f0) [concrete = constants.%I.facet.dfc] +// CHECK:STDOUT: %.loc12_12.1: %I.type.722 = converted constants.%C, %I.facet.loc12_12.1 [concrete = constants.%I.facet.dfc] +// CHECK:STDOUT: %I.facet.loc12_12.2: %I.type.722 = facet_value constants.%C, (constants.%I.impl_witness.7f0) [concrete = constants.%I.facet.dfc] +// CHECK:STDOUT: %.loc12_12.2: %I.type.722 = converted constants.%C, %I.facet.loc12_12.2 [concrete = constants.%I.facet.dfc] +// CHECK:STDOUT: %A.specific_fn: = specific_function %A.ref, @A(constants.%I.facet.dfc) [concrete = constants.%A.specific_fn] // CHECK:STDOUT: %.loc12_8.2: ref %C = temporary %.loc12_6.2, %.loc12_8.1 [concrete = constants.%.115] // CHECK:STDOUT: %.loc12_8.3: %C = acquire_value %.loc12_8.2 [concrete = constants.%C.val] // CHECK:STDOUT: %A.call: init %empty_tuple.type = call %A.specific_fn(%.loc12_8.3) @@ -767,14 +767,14 @@ fn B() { // CHECK:STDOUT: %T.loc7_15.2 => constants.%T.67d // CHECK:STDOUT: %I.type.loc7_35.2 => constants.%I.type.269 // CHECK:STDOUT: %.loc7_37 => constants.%.78e -// CHECK:STDOUT: %I.impl_witness.loc7_37.2 => constants.%I.impl_witness.a35 +// CHECK:STDOUT: %I.impl_witness.loc7_37.2 => constants.%I.impl_witness.e6a // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf(constants.%T.67d, constants.%empty_tuple.type, constants.%Self.299) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%T.67d, constants.%empty_tuple.type, constants.%I.facet.754) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%T.67d, constants.%empty_tuple.type, constants.%I.facet.dd0) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -803,7 +803,7 @@ fn B() { // CHECK:STDOUT: %T.loc7_15.2 => constants.%empty_struct_type // CHECK:STDOUT: %I.type.loc7_35.2 => constants.%I.type.722 // CHECK:STDOUT: %.loc7_37 => constants.%.793 -// CHECK:STDOUT: %I.impl_witness.loc7_37.2 => constants.%I.impl_witness.a7c +// CHECK:STDOUT: %I.impl_witness.loc7_37.2 => constants.%I.impl_witness.7f0 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.dfa @@ -813,9 +813,9 @@ fn B() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A(constants.%I.facet.831) { +// CHECK:STDOUT: specific @A(constants.%I.facet.dfc) { // CHECK:STDOUT: %T.patt.loc9_7.2 => constants.%T.patt.be3 -// CHECK:STDOUT: %T.loc9_7.1 => constants.%I.facet.831 +// CHECK:STDOUT: %T.loc9_7.1 => constants.%I.facet.dfc // CHECK:STDOUT: %T.as_type.loc9_30.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.98b // CHECK:STDOUT: %t.param_patt.loc9_28.2 => constants.%t.param_patt.5f9 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 e0ad27b11a8b..c29a3206815a 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 @@ -141,14 +141,14 @@ fn F[A: J, B: A](x: C(A, B)) { // CHECK:STDOUT: %Goat.as.Eats.impl.Eat.type: type = fn_type @Goat.as.Eats.impl.Eat [concrete] // CHECK:STDOUT: %Goat.as.Eats.impl.Eat: %Goat.as.Eats.impl.Eat.type = struct_value () [concrete] // CHECK:STDOUT: %Eats.facet: %Eats.type = facet_value %Goat, (%Eats.impl_witness) [concrete] -// CHECK:STDOUT: %Eats.WithSelf.Eat.type.618: type = fn_type @Eats.WithSelf.Eat, @Eats.WithSelf(%Eats.facet) [concrete] +// CHECK:STDOUT: %Eats.WithSelf.Eat.type.067: type = fn_type @Eats.WithSelf.Eat, @Eats.WithSelf(%Eats.facet) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %pattern_type.283: type = pattern_type %Goat [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.283 = value_binding_pattern x [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %Goat.val: %Goat = struct_value () [concrete] // CHECK:STDOUT: %.4ea: ref %Goat = temporary invalid, %Goat.val [concrete] -// CHECK:STDOUT: %.406: type = fn_type_with_self_type %Eats.WithSelf.Eat.type.618, %Eats.facet [concrete] +// CHECK:STDOUT: %.544: type = fn_type_with_self_type %Eats.WithSelf.Eat.type.067, %Eats.facet [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc26_8.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.4ea, %Destroy.Op.1a2547.2 [concrete] @@ -180,7 +180,7 @@ fn F[A: J, B: A](x: C(A, B)) { // CHECK:STDOUT: %Goat.Bleet.call.loc23: init %empty_tuple.type = call %Bleet.ref.loc23() // CHECK:STDOUT: %x.ref.loc24: %Goat = name_ref x, %x // CHECK:STDOUT: %Eat.ref.loc24: %Eats.assoc_type = name_ref Eat, @Eats.WithSelf.%assoc0 [concrete = constants.%assoc0.12f] -// CHECK:STDOUT: %impl.elem0.loc24: %.406 = impl_witness_access constants.%Eats.impl_witness, element0 [concrete = constants.%Goat.as.Eats.impl.Eat] +// CHECK:STDOUT: %impl.elem0.loc24: %.544 = impl_witness_access constants.%Eats.impl_witness, element0 [concrete = constants.%Goat.as.Eats.impl.Eat] // CHECK:STDOUT: %Goat.as.Eats.impl.Eat.call.loc24: init %empty_tuple.type = call %impl.elem0.loc24() // CHECK:STDOUT: %.loc26_6.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %Goat.ref.loc26_11: type = name_ref Goat, file.%Goat.decl [concrete = constants.%Goat] @@ -210,7 +210,7 @@ fn F[A: J, B: A](x: C(A, B)) { // CHECK:STDOUT: %.loc27_35: type = converted %.loc27_26, %as_type.loc27 [concrete = constants.%Goat] // CHECK:STDOUT: %.loc27_8.2: ref %Goat = temporary %.loc27_6.2, %.loc27_8.1 [concrete = constants.%.4ea] // CHECK:STDOUT: %Eat.ref.loc27: %Eats.assoc_type = name_ref Eat, @Eats.WithSelf.%assoc0 [concrete = constants.%assoc0.12f] -// CHECK:STDOUT: %impl.elem0.loc27: %.406 = impl_witness_access constants.%Eats.impl_witness, element0 [concrete = constants.%Goat.as.Eats.impl.Eat] +// CHECK:STDOUT: %impl.elem0.loc27: %.544 = impl_witness_access constants.%Eats.impl_witness, element0 [concrete = constants.%Goat.as.Eats.impl.Eat] // CHECK:STDOUT: %Goat.as.Eats.impl.Eat.call.loc27: init %empty_tuple.type = call %impl.elem0.loc27() // CHECK:STDOUT: %Destroy.Op.call.loc27: init %empty_tuple.type = call constants.%Destroy.Op.bound(constants.%.4ea) // CHECK:STDOUT: %Destroy.Op.call.loc22: init %empty_tuple.type = call constants.%Destroy.Op.bound(constants.%.4ea) 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 0dd673bc6d81..e4798fecb2bf 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_to_itself.carbon @@ -52,7 +52,7 @@ fn F() { // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %HandleAnimal.specific_fn: = specific_function %HandleAnimal, @HandleAnimal(%Animal.facet) [concrete] -// CHECK:STDOUT: %FeedAnimal.specific_fn.42c: = specific_function %FeedAnimal, @FeedAnimal(%Animal.facet) [concrete] +// CHECK:STDOUT: %FeedAnimal.specific_fn.99a: = specific_function %FeedAnimal, @FeedAnimal(%Animal.facet) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -198,7 +198,7 @@ fn F() { // CHECK:STDOUT: %T.loc19_26.1 => constants.%Animal.facet // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %FeedAnimal.specific_fn.loc19_38.2 => constants.%FeedAnimal.specific_fn.42c +// CHECK:STDOUT: %FeedAnimal.specific_fn.loc19_38.2 => constants.%FeedAnimal.specific_fn.99a // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @FeedAnimal(constants.%Animal.facet) { 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 e9da21d11ad0..f986b2626ca5 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 @@ -114,8 +114,8 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Animal.type, %type.as.BitAndWith.impl.Op [concrete] @@ -186,7 +186,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // 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: %impl.elem0: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Animal.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Animal.ref, %Eats.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc8_27.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -321,8 +321,8 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.73d: = bound_method %Tame.type, %type.as.BitAndWith.impl.Op [concrete] @@ -392,7 +392,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Tame.ref: type = name_ref Tame, file.%Tame.decl [concrete = constants.%Tame.type] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] -// CHECK:STDOUT: %impl.elem0: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Tame.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.73d] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Tame.ref, %Eats.ref) [concrete = constants.%facet_type.bbb] // CHECK:STDOUT: %.loc7_21.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.bbb] @@ -416,11 +416,11 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] -// CHECK:STDOUT: %impl.elem0.loc9_29: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9_29: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc9_29: = bound_method %Eats.ref, %impl.elem0.loc9_29 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.93f] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc9_29: init type = call %bound_method.loc9_29(%Eats.ref, %Animal.ref) [concrete = constants.%facet_type.0b4] // CHECK:STDOUT: %Tame.ref: type = name_ref Tame, file.%Tame.decl [concrete = constants.%Tame.type] -// CHECK:STDOUT: %impl.elem0.loc9_38: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9_38: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc9_38: = bound_method %type.as.BitAndWith.impl.Op.call.loc9_29, %impl.elem0.loc9_38 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.07c] // CHECK:STDOUT: %.loc9_29.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc9_29 [concrete = constants.%facet_type.0b4] // CHECK:STDOUT: %.loc9_29.2: type = converted %type.as.BitAndWith.impl.Op.call.loc9_29, %.loc9_29.1 [concrete = constants.%facet_type.0b4] @@ -570,16 +570,16 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %A: %Animal.type = symbolic_binding A, 0 [symbolic] // CHECK:STDOUT: %A.as_type: type = facet_access_type %A [symbolic] // CHECK:STDOUT: %.2b4: = impl_self_witness %A.as_type, @Eats [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.e08: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A) [symbolic] -// CHECK:STDOUT: %Eats.facet: %Eats.type = facet_value %A.as_type, (%Eats.impl_witness.e08) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.a23: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A) [symbolic] +// CHECK:STDOUT: %Eats.facet: %Eats.type = facet_value %A.as_type, (%Eats.impl_witness.a23) [symbolic] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %BitAndWith.generic: %BitAndWith.type.a06 = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.73d: = bound_method %Tame.type, %type.as.BitAndWith.impl.Op [concrete] @@ -610,7 +610,7 @@ fn CallsWithTypeExplicit(generic U: type) { // 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: %.2a6: = impl_self_witness %W.as_type, @Eats [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.7a5: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%Animal.facet) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.881: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%Animal.facet) [symbolic] // CHECK:STDOUT: %.86f: require_specific_def_type = require_specific_def @A.as_type.as.Eats.impl(%Animal.facet) [symbolic] // CHECK:STDOUT: %Tame.lookup_impl_witness: = lookup_impl_witness %W, @Tame [symbolic] // CHECK:STDOUT: %facet_value: %facet_type.bbb = facet_value %W.as_type, (%Eats.lookup_impl_witness, %Tame.lookup_impl_witness) [symbolic] @@ -666,7 +666,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Tame.ref: type = name_ref Tame, file.%Tame.decl [concrete = constants.%Tame.type] // CHECK:STDOUT: %Eats.ref: type = name_ref Eats, file.%Eats.decl [concrete = constants.%Eats.type] -// CHECK:STDOUT: %impl.elem0: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Tame.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.73d] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Tame.ref, %Eats.ref) [concrete = constants.%facet_type.bbb] // CHECK:STDOUT: %.loc9_22.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.bbb] @@ -690,7 +690,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: %Tame.ref: type = name_ref Tame, file.%Tame.decl [concrete = constants.%Tame.type] -// CHECK:STDOUT: %impl.elem0: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Animal.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.f7d] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Animal.ref, %Tame.ref) [concrete = constants.%facet_type.83c] // CHECK:STDOUT: %.loc11_32.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.83c] @@ -745,13 +745,13 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %A.loc7_15.2: %Animal.type = symbolic_binding A, 0 [symbolic = %A.loc7_15.2 (constants.%A)] // CHECK:STDOUT: %A.as_type.loc7_25.2: type = facet_access_type %A.loc7_15.2 [symbolic = %A.as_type.loc7_25.2 (constants.%A.as_type)] // CHECK:STDOUT: %.loc7_35: = impl_self_witness %A.as_type.loc7_25.2, @Eats [symbolic = %.loc7_35 (constants.%.2b4)] -// CHECK:STDOUT: %Eats.impl_witness.loc7_35.2: = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A.loc7_15.2) [symbolic = %Eats.impl_witness.loc7_35.2 (constants.%Eats.impl_witness.e08)] +// CHECK:STDOUT: %Eats.impl_witness.loc7_35.2: = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A.loc7_15.2) [symbolic = %Eats.impl_witness.loc7_35.2 (constants.%Eats.impl_witness.a23)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc7_25 as %Eats.ref { // CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @A.as_type.as.Eats.impl [concrete] -// CHECK:STDOUT: %Eats.impl_witness.loc7_35.1: = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(constants.%A) [symbolic = %Eats.impl_witness.loc7_35.2 (constants.%Eats.impl_witness.e08)] +// CHECK:STDOUT: %Eats.impl_witness.loc7_35.1: = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(constants.%A) [symbolic = %Eats.impl_witness.loc7_35.2 (constants.%Eats.impl_witness.a23)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Eats.ref @@ -821,7 +821,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %A.loc7_15.2 => constants.%A // CHECK:STDOUT: %A.as_type.loc7_25.2 => constants.%A.as_type // CHECK:STDOUT: %.loc7_35 => constants.%.2b4 -// CHECK:STDOUT: %Eats.impl_witness.loc7_35.2 => constants.%Eats.impl_witness.e08 +// CHECK:STDOUT: %Eats.impl_witness.loc7_35.2 => constants.%Eats.impl_witness.a23 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Eats.WithSelf(constants.%Eats.facet) { @@ -851,7 +851,7 @@ fn CallsWithTypeExplicit(generic U: type) { // CHECK:STDOUT: %A.loc7_15.2 => constants.%Animal.facet // CHECK:STDOUT: %A.as_type.loc7_25.2 => constants.%W.as_type // CHECK:STDOUT: %.loc7_35 => constants.%.2a6 -// CHECK:STDOUT: %Eats.impl_witness.loc7_35.2 => constants.%Eats.impl_witness.7a5 +// CHECK:STDOUT: %Eats.impl_witness.loc7_35.2 => constants.%Eats.impl_witness.881 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } 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 c4c3cf131d5b..c25648415ab6 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 @@ -35,8 +35,8 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %A: %Animal.type = symbolic_binding A, 0 [symbolic] // CHECK:STDOUT: %A.as_type: type = facet_access_type %A [symbolic] // CHECK:STDOUT: %.2b411f.1: = impl_self_witness %A.as_type, @Eats [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.e0811c.1: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A) [symbolic] -// CHECK:STDOUT: %Eats.facet.f93: %Eats.type = facet_value %A.as_type, (%Eats.impl_witness.e0811c.1) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.a23593.1: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A) [symbolic] +// CHECK:STDOUT: %Eats.facet.f5f: %Eats.type = facet_value %A.as_type, (%Eats.impl_witness.a23593.1) [symbolic] // CHECK:STDOUT: %pattern_type.880: type = pattern_type %Eats.type [concrete] // CHECK:STDOUT: %T.patt.9e8: %pattern_type.880 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.672: %Eats.type = symbolic_binding T, 0 [symbolic] @@ -59,7 +59,7 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %require_complete.db4: = require_complete_type %T.as_type.01d [symbolic] // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %T.443, @Eats [symbolic] // CHECK:STDOUT: %.2b411f.2: = impl_self_witness %T.as_type.01d, @Eats [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.e0811c.2: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%T.443) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.a23593.2: = impl_witness @A.as_type.as.Eats.impl.%Eats.impl_witness_table, @A.as_type.as.Eats.impl(%T.443) [symbolic] // CHECK:STDOUT: %.2fe: require_specific_def_type = require_specific_def @A.as_type.as.Eats.impl(%T.443) [symbolic] // CHECK:STDOUT: %Eats.facet.934: %Eats.type = facet_value %T.as_type.01d, (%Eats.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %e.param_patt.1c7: %pattern_type.e90 = value_param_pattern [symbolic] @@ -164,13 +164,13 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %A.loc18_15.2: %Animal.type = symbolic_binding A, 0 [symbolic = %A.loc18_15.2 (constants.%A)] // CHECK:STDOUT: %A.as_type.loc18_25.2: type = facet_access_type %A.loc18_15.2 [symbolic = %A.as_type.loc18_25.2 (constants.%A.as_type)] // CHECK:STDOUT: %.loc18_35: = impl_self_witness %A.as_type.loc18_25.2, @Eats [symbolic = %.loc18_35 (constants.%.2b411f.1)] -// CHECK:STDOUT: %Eats.impl_witness.loc18_35.2: = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A.loc18_15.2) [symbolic = %Eats.impl_witness.loc18_35.2 (constants.%Eats.impl_witness.e0811c.1)] +// CHECK:STDOUT: %Eats.impl_witness.loc18_35.2: = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(%A.loc18_15.2) [symbolic = %Eats.impl_witness.loc18_35.2 (constants.%Eats.impl_witness.a23593.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc18_25 as %Eats.ref { // CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @A.as_type.as.Eats.impl [concrete] -// CHECK:STDOUT: %Eats.impl_witness.loc18_35.1: = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(constants.%A) [symbolic = %Eats.impl_witness.loc18_35.2 (constants.%Eats.impl_witness.e0811c.1)] +// CHECK:STDOUT: %Eats.impl_witness.loc18_35.1: = impl_witness %Eats.impl_witness_table, @A.as_type.as.Eats.impl(constants.%A) [symbolic = %Eats.impl_witness.loc18_35.2 (constants.%Eats.impl_witness.a23593.1)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Eats.ref @@ -235,10 +235,10 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %A.loc18_15.2 => constants.%A // CHECK:STDOUT: %A.as_type.loc18_25.2 => constants.%A.as_type // CHECK:STDOUT: %.loc18_35 => constants.%.2b411f.1 -// CHECK:STDOUT: %Eats.impl_witness.loc18_35.2 => constants.%Eats.impl_witness.e0811c.1 +// CHECK:STDOUT: %Eats.impl_witness.loc18_35.2 => constants.%Eats.impl_witness.a23593.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Eats.WithSelf(constants.%Eats.facet.f93) { +// CHECK:STDOUT: specific @Eats.WithSelf(constants.%Eats.facet.f5f) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -265,7 +265,7 @@ fn HandleAnimal[T: Animal](a: T) { Feed(a); } // CHECK:STDOUT: %A.loc18_15.2 => constants.%T.443 // CHECK:STDOUT: %A.as_type.loc18_25.2 => constants.%T.as_type.01d // CHECK:STDOUT: %.loc18_35 => constants.%.2b411f.2 -// CHECK:STDOUT: %Eats.impl_witness.loc18_35.2 => constants.%Eats.impl_witness.e0811c.2 +// CHECK:STDOUT: %Eats.impl_witness.loc18_35.2 => constants.%Eats.impl_witness.a23593.2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } 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 69838bf0489b..b1dd9c8f03e2 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 @@ -68,10 +68,10 @@ fn F() { // CHECK:STDOUT: %U.as_type: type = facet_access_type %U [symbolic] // CHECK:STDOUT: %Eats.type.ceea62.1: type = facet_type <@Eats, @Eats(%U.as_type)> [symbolic] // CHECK:STDOUT: %.23c3b4.1: = impl_self_witness %T.as_type.01d, @Eats, @Eats(%U.as_type) [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.4ca0a7.1: = impl_witness @T.as_type.as.Eats.impl.%Eats.impl_witness_table, @T.as_type.as.Eats.impl(%T.443, %U) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.eb80b1.1: = impl_witness @T.as_type.as.Eats.impl.%Eats.impl_witness_table, @T.as_type.as.Eats.impl(%T.443, %U) [symbolic] // CHECK:STDOUT: %Self.e18: %Eats.type.ceea62.1 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %require_complete.54fb7e.1: = require_complete_type %Eats.type.ceea62.1 [symbolic] -// CHECK:STDOUT: %Eats.facet.509: %Eats.type.ceea62.1 = facet_value %T.as_type.01d, (%Eats.impl_witness.4ca0a7.1) [symbolic] +// CHECK:STDOUT: %Eats.facet.79d: %Eats.type.ceea62.1 = facet_value %T.as_type.01d, (%Eats.impl_witness.eb80b1.1) [symbolic] // CHECK:STDOUT: %Goat: type = class_type @Goat [concrete] // CHECK:STDOUT: %.629: = impl_self_witness %Goat, @Animal [concrete] // CHECK:STDOUT: %Animal.impl_witness: = impl_witness @Goat.as.Animal.impl.%Animal.impl_witness_table [concrete] @@ -113,7 +113,7 @@ fn F() { // CHECK:STDOUT: %Eats.type.ceea62.2: type = facet_type <@Eats, @Eats(%Food.as_type.24e)> [symbolic] // CHECK:STDOUT: %Eats.lookup_impl_witness: = lookup_impl_witness %A, @Eats, @Eats(%Food.as_type.24e) [symbolic] // CHECK:STDOUT: %.23c3b4.2: = impl_self_witness %A.as_type, @Eats, @Eats(%Food.as_type.24e) [symbolic] -// CHECK:STDOUT: %Eats.impl_witness.4ca0a7.2: = impl_witness @T.as_type.as.Eats.impl.%Eats.impl_witness_table, @T.as_type.as.Eats.impl(%A, %Food.5f8) [symbolic] +// CHECK:STDOUT: %Eats.impl_witness.eb80b1.2: = impl_witness @T.as_type.as.Eats.impl.%Eats.impl_witness_table, @T.as_type.as.Eats.impl(%A, %Food.5f8) [symbolic] // CHECK:STDOUT: %require_complete.54fb7e.2: = require_complete_type %Eats.type.ceea62.2 [symbolic] // CHECK:STDOUT: %.86d: require_specific_def_type = require_specific_def @T.as_type.as.Eats.impl(%A, %Food.5f8) [symbolic] // CHECK:STDOUT: %Eats.facet.f11: %Eats.type.ceea62.2 = facet_value %A.as_type, (%Eats.lookup_impl_witness) [symbolic] @@ -146,17 +146,17 @@ fn F() { // CHECK:STDOUT: %Destroy.Op.bound.115: = bound_method %.4ea, %Destroy.Op.1a2547.3 [concrete] // CHECK:STDOUT: %Eats.type.682: type = facet_type <@Eats, @Eats(%Grass)> [concrete] // CHECK:STDOUT: %.6da: = impl_self_witness %Goat, @Eats, @Eats(%Grass) [concrete] -// CHECK:STDOUT: %Eats.impl_witness.fd5: = impl_witness @T.as_type.as.Eats.impl.%Eats.impl_witness_table, @T.as_type.as.Eats.impl(%Animal.facet, %Edible.facet) [concrete] +// CHECK:STDOUT: %Eats.impl_witness.86c: = impl_witness @T.as_type.as.Eats.impl.%Eats.impl_witness_table, @T.as_type.as.Eats.impl(%Animal.facet, %Edible.facet) [concrete] // CHECK:STDOUT: %Self.3ec: %Eats.type.682 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %complete_type.70f: = complete_type_witness %Eats.type.682 [concrete] -// CHECK:STDOUT: %.86e: require_specific_def_type = require_specific_def @T.as_type.as.Eats.impl(%Animal.facet, %Edible.facet) [concrete] -// CHECK:STDOUT: %Eats.facet.d00: %Eats.type.682 = facet_value %Goat, (%Eats.impl_witness.fd5) [concrete] +// CHECK:STDOUT: %.c1b: require_specific_def_type = require_specific_def @T.as_type.as.Eats.impl(%Animal.facet, %Edible.facet) [concrete] +// CHECK:STDOUT: %Eats.facet.c73: %Eats.type.682 = facet_value %Goat, (%Eats.impl_witness.86c) [concrete] // CHECK:STDOUT: %pattern_type.a69: type = pattern_type %Eats.type.682 [concrete] // CHECK:STDOUT: %T.patt.55e: %pattern_type.a69 = symbolic_binding_pattern T, 1 [symbolic] // CHECK:STDOUT: %e.param_patt.b2f: %pattern_type.283 = value_param_pattern [concrete] // CHECK:STDOUT: %e.patt.ccf: %pattern_type.283 = at_binding_pattern e, %e.param_patt.b2f [concrete] // CHECK:STDOUT: %food.patt.b2a068.2: %pattern_type.92e = at_binding_pattern food, %food.param_patt.42e [concrete] -// CHECK:STDOUT: %Feed.specific_fn.166: = specific_function %Feed, @Feed(%Edible.facet, %Eats.facet.d00) [concrete] +// CHECK:STDOUT: %Feed.specific_fn.e56: = specific_function %Feed, @Feed(%Edible.facet, %Eats.facet.c73) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -361,14 +361,14 @@ fn F() { // CHECK:STDOUT: %U.as_type.loc26_47.2: type = facet_access_type %U.loc26_26.2 [symbolic = %U.as_type.loc26_47.2 (constants.%U.as_type)] // CHECK:STDOUT: %Eats.type.loc26_47.2: type = facet_type <@Eats, @Eats(%U.as_type.loc26_47.2)> [symbolic = %Eats.type.loc26_47.2 (constants.%Eats.type.ceea62.1)] // CHECK:STDOUT: %.loc26_49: = impl_self_witness %T.as_type.loc26_36.2, @Eats, @Eats(%U.as_type.loc26_47.2) [symbolic = %.loc26_49 (constants.%.23c3b4.1)] -// CHECK:STDOUT: %Eats.impl_witness.loc26_49.2: = impl_witness %Eats.impl_witness_table, @T.as_type.as.Eats.impl(%T.loc26_15.2, %U.loc26_26.2) [symbolic = %Eats.impl_witness.loc26_49.2 (constants.%Eats.impl_witness.4ca0a7.1)] +// CHECK:STDOUT: %Eats.impl_witness.loc26_49.2: = impl_witness %Eats.impl_witness_table, @T.as_type.as.Eats.impl(%T.loc26_15.2, %U.loc26_26.2) [symbolic = %Eats.impl_witness.loc26_49.2 (constants.%Eats.impl_witness.eb80b1.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %Eats.type.loc26_47.2 [symbolic = %require_complete (constants.%require_complete.54fb7e.1)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc26_36 as %Eats.type.loc26_47.1 { // CHECK:STDOUT: %Eats.impl_witness_table = impl_witness_table (), @T.as_type.as.Eats.impl [concrete] -// CHECK:STDOUT: %Eats.impl_witness.loc26_49.1: = impl_witness %Eats.impl_witness_table, @T.as_type.as.Eats.impl(constants.%T.443, constants.%U) [symbolic = %Eats.impl_witness.loc26_49.2 (constants.%Eats.impl_witness.4ca0a7.1)] +// CHECK:STDOUT: %Eats.impl_witness.loc26_49.1: = impl_witness %Eats.impl_witness_table, @T.as_type.as.Eats.impl(constants.%T.443, constants.%U) [symbolic = %Eats.impl_witness.loc26_49.2 (constants.%Eats.impl_witness.eb80b1.1)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Eats.type.loc26_47.1 @@ -546,14 +546,14 @@ fn F() { // CHECK:STDOUT: %U.as_type.loc26_47.2 => constants.%U.as_type // CHECK:STDOUT: %Eats.type.loc26_47.2 => constants.%Eats.type.ceea62.1 // CHECK:STDOUT: %.loc26_49 => constants.%.23c3b4.1 -// CHECK:STDOUT: %Eats.impl_witness.loc26_49.2 => constants.%Eats.impl_witness.4ca0a7.1 +// CHECK:STDOUT: %Eats.impl_witness.loc26_49.2 => constants.%Eats.impl_witness.eb80b1.1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Eats.WithSelf(constants.%U.as_type, constants.%Self.db3) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Eats.WithSelf(constants.%U.as_type, constants.%Eats.facet.509) { +// CHECK:STDOUT: specific @Eats.WithSelf(constants.%U.as_type, constants.%Eats.facet.79d) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -612,7 +612,7 @@ fn F() { // CHECK:STDOUT: %U.as_type.loc26_47.2 => constants.%Food.as_type.24e // CHECK:STDOUT: %Eats.type.loc26_47.2 => constants.%Eats.type.ceea62.2 // CHECK:STDOUT: %.loc26_49 => constants.%.23c3b4.2 -// CHECK:STDOUT: %Eats.impl_witness.loc26_49.2 => constants.%Eats.impl_witness.4ca0a7.2 +// CHECK:STDOUT: %Eats.impl_witness.loc26_49.2 => constants.%Eats.impl_witness.eb80b1.2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%require_complete.54fb7e.2 @@ -656,11 +656,11 @@ fn F() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc32_43 => constants.%complete_type.357 // CHECK:STDOUT: %require_complete.loc32_52 => constants.%complete_type.357 -// CHECK:STDOUT: %.loc32_74.4 => constants.%.86e +// CHECK:STDOUT: %.loc32_74.4 => constants.%.c1b // CHECK:STDOUT: %Eats.type => constants.%Eats.type.682 -// CHECK:STDOUT: %Eats.lookup_impl_witness => constants.%Eats.impl_witness.fd5 -// CHECK:STDOUT: %Eats.facet.loc32_74.2 => constants.%Eats.facet.d00 -// CHECK:STDOUT: %Feed.specific_fn.loc32_62.2 => constants.%Feed.specific_fn.166 +// CHECK:STDOUT: %Eats.lookup_impl_witness => constants.%Eats.impl_witness.86c +// CHECK:STDOUT: %Eats.facet.loc32_74.2 => constants.%Eats.facet.c73 +// CHECK:STDOUT: %Feed.specific_fn.loc32_62.2 => constants.%Feed.specific_fn.e56 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as_type.as.Eats.impl(constants.%Animal.facet, constants.%Edible.facet) { @@ -672,7 +672,7 @@ fn F() { // CHECK:STDOUT: %U.as_type.loc26_47.2 => constants.%Grass // CHECK:STDOUT: %Eats.type.loc26_47.2 => constants.%Eats.type.682 // CHECK:STDOUT: %.loc26_49 => constants.%.6da -// CHECK:STDOUT: %Eats.impl_witness.loc26_49.2 => constants.%Eats.impl_witness.fd5 +// CHECK:STDOUT: %Eats.impl_witness.loc26_49.2 => constants.%Eats.impl_witness.86c // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.70f @@ -691,14 +691,14 @@ fn F() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Feed(constants.%Edible.facet, constants.%Eats.facet.d00) { +// CHECK:STDOUT: specific @Feed(constants.%Edible.facet, constants.%Eats.facet.c73) { // CHECK:STDOUT: %Food.patt.loc31_13.2 => constants.%Food.patt.bbd // CHECK:STDOUT: %Food.loc31_13.1 => constants.%Edible.facet // CHECK:STDOUT: %Food.as_type.loc31_35.1 => constants.%Grass // CHECK:STDOUT: %Eats.type.loc31_35.1 => constants.%Eats.type.682 // CHECK:STDOUT: %pattern_type.loc31_24 => constants.%pattern_type.a69 // CHECK:STDOUT: %T.patt.loc31_24.2 => constants.%T.patt.55e -// CHECK:STDOUT: %T.loc31_24.1 => constants.%Eats.facet.d00 +// CHECK:STDOUT: %T.loc31_24.1 => constants.%Eats.facet.c73 // CHECK:STDOUT: %T.as_type.loc31_48.1 => constants.%Goat // CHECK:STDOUT: %pattern_type.loc31_46 => constants.%pattern_type.283 // CHECK:STDOUT: %e.param_patt.loc31_46.2 => constants.%e.param_patt.b2f 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 93a21a3d7f0e..00962605c0e7 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 @@ -67,7 +67,7 @@ fn F() { // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.4ea, %Destroy.Op.1a2547.2 [concrete] // CHECK:STDOUT: %a.patt.8aa5e9.2: %pattern_type.283 = at_binding_pattern a, %a.param_patt.8f5 [concrete] -// CHECK:STDOUT: %FeedAnimal.specific_fn.42c: = specific_function %FeedAnimal, @FeedAnimal(%Animal.facet) [concrete] +// CHECK:STDOUT: %FeedAnimal.specific_fn.99a: = specific_function %FeedAnimal, @FeedAnimal(%Animal.facet) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -270,7 +270,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type -// CHECK:STDOUT: %FeedAnimal.specific_fn.loc19_36.2 => constants.%FeedAnimal.specific_fn.42c +// CHECK:STDOUT: %FeedAnimal.specific_fn.loc19_36.2 => constants.%FeedAnimal.specific_fn.99a // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @FeedAnimal(constants.%Animal.facet) { 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 940b3108368c..ce77f39c4605 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 @@ -69,8 +69,8 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F.type: type = fn_type @ImplsGeneric.as.Generic.impl.F [concrete] // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F: %ImplsGeneric.as.Generic.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.type.c45: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.d7c: %Generic.WithSelf.F.type.c45 = struct_value () [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.type.7ef: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.e1b: %Generic.WithSelf.F.type.7ef = struct_value () [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] @@ -267,8 +267,8 @@ fn G() { // CHECK:STDOUT: %Scalar => constants.%GenericParam // CHECK:STDOUT: %Generic.type => constants.%Generic.type.b40 // CHECK:STDOUT: %Self => constants.%Generic.facet -// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.c45 -// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.d7c +// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.7ef +// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.e1b // CHECK:STDOUT: %Generic.assoc_type => constants.%Generic.assoc_type.c13 // CHECK:STDOUT: %assoc0.loc16_9.2 => constants.%assoc0.b4a // 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 ac482afff49b..9cb1640cb6a1 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 @@ -74,7 +74,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.type: type = fn_type @RuntimeConvertFrom.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %RuntimeConvertFrom.as.ImplicitAs.impl.Convert: %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.286 = facet_value %RuntimeConvertFrom, (%ImplicitAs.impl_witness) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f8a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%RuntimeConvertTo, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.811: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%RuntimeConvertTo, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %RuntimeConvertTo.val: %RuntimeConvertTo = struct_value () [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] @@ -97,7 +97,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: %from: %RuntimeConvertFrom = symbolic_binding from, 0 [symbolic] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] -// CHECK:STDOUT: %.820: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f8a, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %.b6a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.811, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.bound: = bound_method %from, %RuntimeConvertFrom.as.ImplicitAs.impl.Convert [symbolic] // CHECK:STDOUT: %A.patt.797: %pattern_type.c10 = symbolic_binding_pattern A, 1 [symbolic] // CHECK:STDOUT: %x.param_patt.fbd: %pattern_type.905 = value_param_pattern [concrete] @@ -298,7 +298,7 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), generic from: RuntimeConvertFrom // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %from.ref: %RuntimeConvertFrom = name_ref from, %from.loc29_61.2 [symbolic = %from.loc29_61.1 (constants.%from)] // CHECK:STDOUT: %holds_to.ref: %HoldsType.9f2 = name_ref holds_to, %holds_to -// CHECK:STDOUT: %impl.elem0: %.820 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%RuntimeConvertFrom.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0: %.b6a = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%RuntimeConvertFrom.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method: = bound_method constants.%from, %impl.elem0 [symbolic = %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.bound (constants.%RuntimeConvertFrom.as.ImplicitAs.impl.Convert.bound)] // CHECK:STDOUT: %.loc40_19.1: ref %RuntimeConvertTo = temporary_storage // CHECK:STDOUT: %RuntimeConvertFrom.as.ImplicitAs.impl.Convert.call: init %RuntimeConvertTo to %.loc40_19.1 = call %bound_method(constants.%from) diff --git a/toolchain/check/testdata/for/actual.carbon b/toolchain/check/testdata/for/actual.carbon index 2c02f0f7a974..b54600752072 100644 --- a/toolchain/check/testdata/for/actual.carbon +++ b/toolchain/check/testdata/for/actual.carbon @@ -96,7 +96,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %impl.elem1.a93: %Destroy.type = impl_witness_access %.052, element1 [symbolic_self] // CHECK:STDOUT: %Destroy.lookup_impl_witness.173: = lookup_impl_witness %Int.67af24.1, @Destroy [symbolic] // CHECK:STDOUT: %Destroy.facet.7bb: %Destroy.type = facet_value %Int.67af24.1, (%Destroy.lookup_impl_witness.173) [symbolic] -// CHECK:STDOUT: %assoc0.0f0: %Iterate.assoc_type = assoc_entity element0, imports.%Core.import_ref.ebd7 [concrete] +// CHECK:STDOUT: %assoc0.0f0: %Iterate.assoc_type = assoc_entity element0, imports.%Core.import_ref.ebd [concrete] // CHECK:STDOUT: %impl.elem0.3b7: %facet_type.f48 = impl_witness_access %.052, element0 [symbolic_self] // CHECK:STDOUT: %require_complete.4dfb92.1: = require_complete_type %Int.67af24.1 [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] @@ -169,13 +169,13 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.050: %Int.as.OrderedWith.impl.Less.type.89b = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.339: = impl_witness imports.%OrderedWith.impl_witness_table.5c1, @Int.as.OrderedWith.impl.ab3(%N, %N) [symbolic] +// CHECK:STDOUT: %OrderedWith.impl_witness.4b7: = impl_witness imports.%OrderedWith.impl_witness_table.087, @Int.as.OrderedWith.impl.ab3(%N, %N) [symbolic] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.f5c: type = fn_type @Int.as.OrderedWith.impl.Less.1, @Int.as.OrderedWith.impl.ab3(%N, %N) [symbolic] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.13c: %Int.as.OrderedWith.impl.Less.type.f5c = struct_value () [symbolic] // CHECK:STDOUT: %.4a8: require_specific_def_type = require_specific_def @Int.as.OrderedWith.impl.ab3(%N, %N) [symbolic] -// CHECK:STDOUT: %OrderedWith.facet.bf1: %OrderedWith.type.6f8 = facet_value %Int.67af24.1, (%OrderedWith.impl_witness.339) [symbolic] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.c02: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Int.67af24.1, %OrderedWith.facet.bf1) [symbolic] -// CHECK:STDOUT: %.08f: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.c02, %OrderedWith.facet.bf1 [symbolic] +// CHECK:STDOUT: %OrderedWith.facet.9a0: %OrderedWith.type.6f8 = facet_value %Int.67af24.1, (%OrderedWith.impl_witness.4b7) [symbolic] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.5fd: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Int.67af24.1, %OrderedWith.facet.9a0) [symbolic] +// CHECK:STDOUT: %.01a: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.5fd, %OrderedWith.facet.9a0 [symbolic] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.specific_fn.6ce: = specific_function %Int.as.OrderedWith.impl.Less.13c, @Int.as.OrderedWith.impl.Less.1(%N, %N) [symbolic] // CHECK:STDOUT: %Inc.type: type = facet_type <@Inc> [concrete] // CHECK:STDOUT: %Inc.lookup_impl_witness: = lookup_impl_witness %Int.67af24.1, @Inc [symbolic] @@ -220,23 +220,23 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_0.3c0: %i32 = int_value 0 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] // CHECK:STDOUT: %.cf6: require_specific_def_type = require_specific_def @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -260,13 +260,13 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Core.import_ref.96b: %Iterate.assoc_type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [concrete = constants.%assoc0.0f0] // CHECK:STDOUT: %Core.import_ref.5be: %Iterate.assoc_type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [concrete = constants.%assoc1.c91] // CHECK:STDOUT: %Core.import_ref.6e4: @Optional.%Optional.None.type (%Optional.None.type.bdc) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.None (constants.%Optional.None.01e)] -// CHECK:STDOUT: %Core.import_ref.84ba: @Optional.%Optional.Some.type (%Optional.Some.type.304) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Some (constants.%Optional.Some.2a0)] +// CHECK:STDOUT: %Core.import_ref.84b: @Optional.%Optional.Some.type (%Optional.Some.type.304) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Some (constants.%Optional.Some.2a0)] // CHECK:STDOUT: %Core.import_ref.dd9: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [concrete = %CursorType] // CHECK:STDOUT: %CursorType: %Destroy.type = assoc_const_decl @CursorType [concrete] {} -// CHECK:STDOUT: %Core.import_ref.ebd7: %facet_type.f48 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [concrete = %ElementType] +// CHECK:STDOUT: %Core.import_ref.ebd: %facet_type.f48 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [concrete = %ElementType] // CHECK:STDOUT: %ElementType: %facet_type.f48 = assoc_const_decl @ElementType [concrete] {} // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Optional: %Optional.type = import_ref Core//prelude/types/optional, Optional, loaded [concrete = constants.%Optional.generic] // CHECK:STDOUT: %Core.Copy.e5d: type = import_ref Core//prelude/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.OrderedWith: %OrderedWith.type.ad8 = import_ref Core//prelude/operators/comparison, OrderedWith, loaded [concrete = constants.%OrderedWith.generic] @@ -277,12 +277,12 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Core.import_ref.30c = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.664 = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.9d4 = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OrderedWith.impl_witness_table.5c1 = impl_witness_table (%Core.import_ref.c1c, %Core.import_ref.30c, %Core.import_ref.664, %Core.import_ref.9d4), @Int.as.OrderedWith.impl.ab3 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.087 = impl_witness_table (%Core.import_ref.c1c, %Core.import_ref.30c, %Core.import_ref.664, %Core.import_ref.9d4), @Int.as.OrderedWith.impl.ab3 [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.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -658,10 +658,10 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %OrderedWith.assoc_type: type = assoc_entity_type @OrderedWith, @OrderedWith(%Int.loc11_37.1) [symbolic = %OrderedWith.assoc_type (constants.%OrderedWith.assoc_type.e6d)] // CHECK:STDOUT: %assoc0: @IntRange.as.Iterate.impl.Next.%OrderedWith.assoc_type (%OrderedWith.assoc_type.e6d) = assoc_entity element0, imports.%Core.import_ref.e7a [symbolic = %assoc0 (constants.%assoc0.ebc)] // CHECK:STDOUT: %.loc13_17.2: require_specific_def_type = require_specific_def @Int.as.OrderedWith.impl.ab3(%N, %N) [symbolic = %.loc13_17.2 (constants.%.4a8)] -// CHECK:STDOUT: %OrderedWith.impl_witness: = impl_witness imports.%OrderedWith.impl_witness_table.5c1, @Int.as.OrderedWith.impl.ab3(%N, %N) [symbolic = %OrderedWith.impl_witness (constants.%OrderedWith.impl_witness.339)] -// CHECK:STDOUT: %OrderedWith.facet: @IntRange.as.Iterate.impl.Next.%OrderedWith.type.loc13_17.2 (%OrderedWith.type.6f8) = facet_value %Int.loc11_37.1, (%OrderedWith.impl_witness) [symbolic = %OrderedWith.facet (constants.%OrderedWith.facet.bf1)] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Int.loc11_37.1, %OrderedWith.facet) [symbolic = %OrderedWith.WithSelf.Less.type (constants.%OrderedWith.WithSelf.Less.type.c02)] -// CHECK:STDOUT: %.loc13_17.3: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type, %OrderedWith.facet [symbolic = %.loc13_17.3 (constants.%.08f)] +// CHECK:STDOUT: %OrderedWith.impl_witness: = impl_witness imports.%OrderedWith.impl_witness_table.087, @Int.as.OrderedWith.impl.ab3(%N, %N) [symbolic = %OrderedWith.impl_witness (constants.%OrderedWith.impl_witness.4b7)] +// CHECK:STDOUT: %OrderedWith.facet: @IntRange.as.Iterate.impl.Next.%OrderedWith.type.loc13_17.2 (%OrderedWith.type.6f8) = facet_value %Int.loc11_37.1, (%OrderedWith.impl_witness) [symbolic = %OrderedWith.facet (constants.%OrderedWith.facet.9a0)] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Int.loc11_37.1, %OrderedWith.facet) [symbolic = %OrderedWith.WithSelf.Less.type (constants.%OrderedWith.WithSelf.Less.type.5fd)] +// CHECK:STDOUT: %.loc13_17.3: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type, %OrderedWith.facet [symbolic = %.loc13_17.3 (constants.%.01a)] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type: type = fn_type @Int.as.OrderedWith.impl.Less.1, @Int.as.OrderedWith.impl.ab3(%N, %N) [symbolic = %Int.as.OrderedWith.impl.Less.type (constants.%Int.as.OrderedWith.impl.Less.type.f5c)] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less: @IntRange.as.Iterate.impl.Next.%Int.as.OrderedWith.impl.Less.type (%Int.as.OrderedWith.impl.Less.type.f5c) = struct_value () [symbolic = %Int.as.OrderedWith.impl.Less (constants.%Int.as.OrderedWith.impl.Less.13c)] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.specific_fn: = specific_function %Int.as.OrderedWith.impl.Less, @Int.as.OrderedWith.impl.Less.1(%N, %N) [symbolic = %Int.as.OrderedWith.impl.Less.specific_fn (constants.%Int.as.OrderedWith.impl.Less.specific_fn.6ce)] @@ -719,7 +719,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %OrderedWith.type.loc13_17.1: type = facet_type <@OrderedWith, @OrderedWith(constants.%Int.67af24.1)> [symbolic = %OrderedWith.type.loc13_17.2 (constants.%OrderedWith.type.6f8)] // CHECK:STDOUT: %.loc13_17.1: @IntRange.as.Iterate.impl.Next.%OrderedWith.assoc_type (%OrderedWith.assoc_type.e6d) = specific_constant imports.%Core.import_ref.ef7, @OrderedWith.WithSelf(constants.%Int.67af24.1, constants.%Self.7df) [symbolic = %assoc0 (constants.%assoc0.ebc)] // CHECK:STDOUT: %Less.ref: @IntRange.as.Iterate.impl.Next.%OrderedWith.assoc_type (%OrderedWith.assoc_type.e6d) = name_ref Less, %.loc13_17.1 [symbolic = %assoc0 (constants.%assoc0.ebc)] -// CHECK:STDOUT: %impl.elem0.loc13: @IntRange.as.Iterate.impl.Next.%.loc13_17.3 (%.08f) = impl_witness_access constants.%OrderedWith.impl_witness.339, element0 [symbolic = %Int.as.OrderedWith.impl.Less (constants.%Int.as.OrderedWith.impl.Less.13c)] +// CHECK:STDOUT: %impl.elem0.loc13: @IntRange.as.Iterate.impl.Next.%.loc13_17.3 (%.01a) = impl_witness_access constants.%OrderedWith.impl_witness.4b7, element0 [symbolic = %Int.as.OrderedWith.impl.Less (constants.%Int.as.OrderedWith.impl.Less.13c)] // CHECK:STDOUT: %bound_method.loc13_17.1: = bound_method %value.ref.loc13, %impl.elem0.loc13 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc13, @Int.as.OrderedWith.impl.Less.1(constants.%N, constants.%N) [symbolic = %Int.as.OrderedWith.impl.Less.specific_fn (constants.%Int.as.OrderedWith.impl.Less.specific_fn.6ce)] // CHECK:STDOUT: %bound_method.loc13_17.2: = bound_method %value.ref.loc13, %specific_fn @@ -750,7 +750,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %OptionalStorage.facet.loc15_41: %OptionalStorage.type = facet_value %Int.loc15, (constants.%OptionalStorage.lookup_impl_witness.a32) [symbolic = %OptionalStorage.facet.loc11_69.1 (constants.%OptionalStorage.facet.b99)] // CHECK:STDOUT: %.loc15_41: %OptionalStorage.type = converted %Int.loc15, %OptionalStorage.facet.loc15_41 [symbolic = %OptionalStorage.facet.loc11_69.1 (constants.%OptionalStorage.facet.b99)] // CHECK:STDOUT: %Optional.loc15: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.b99) [symbolic = %Optional.loc11_69.1 (constants.%Optional.5ec)] -// CHECK:STDOUT: %.loc15_42: @IntRange.as.Iterate.impl.Next.%Optional.Some.type (%Optional.Some.type.422) = specific_constant imports.%Core.import_ref.84ba, @Optional(constants.%OptionalStorage.facet.b99) [symbolic = %Optional.Some (constants.%Optional.Some.bcf)] +// CHECK:STDOUT: %.loc15_42: @IntRange.as.Iterate.impl.Next.%Optional.Some.type (%Optional.Some.type.422) = specific_constant imports.%Core.import_ref.84b, @Optional(constants.%OptionalStorage.facet.b99) [symbolic = %Optional.Some (constants.%Optional.Some.bcf)] // CHECK:STDOUT: %Some.ref: @IntRange.as.Iterate.impl.Next.%Optional.Some.type (%Optional.Some.type.422) = name_ref Some, %.loc15_42 [symbolic = %Optional.Some (constants.%Optional.Some.bcf)] // CHECK:STDOUT: %value.ref.loc15: ref @IntRange.as.Iterate.impl.Next.%Int.loc11_37.1 (%Int.67af24.1) = name_ref value, %value // CHECK:STDOUT: %OptionalStorage.facet.loc15_53.1: %OptionalStorage.type = facet_value constants.%Int.67af24.1, (constants.%OptionalStorage.lookup_impl_witness.a32) [symbolic = %OptionalStorage.facet.loc11_69.1 (constants.%OptionalStorage.facet.b99)] @@ -811,7 +811,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %end.ref: %i32 = name_ref end, %end // CHECK:STDOUT: %IntRange.Make.specific_fn: = specific_function %Make.ref, @IntRange.Make(constants.%int_32) [concrete = constants.%IntRange.Make.specific_fn] // CHECK:STDOUT: %.loc26_34.1: ref %IntRange.bbd = splice_block %return.param {} -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc27_28.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc27_28.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] @@ -949,10 +949,10 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %require_complete.loc5_49 => constants.%complete_type.ec7 // CHECK:STDOUT: %struct_type.start.end => constants.%struct_type.start.end.e93 // CHECK:STDOUT: %.loc6_22.3 => constants.%.cf6 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.0e0 -// CHECK:STDOUT: %Copy.facet.loc6_22.3 => constants.%Copy.facet.987 -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.d09 -// CHECK:STDOUT: %.loc6_22.4 => constants.%.7a6 +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.b51 +// CHECK:STDOUT: %Copy.facet.loc6_22.3 => constants.%Copy.facet.1e1 +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.381 +// CHECK:STDOUT: %.loc6_22.4 => constants.%.737 // CHECK:STDOUT: %impl.elem0.loc6_22.2 => constants.%Int.as.Copy.impl.Op.4f6 // CHECK:STDOUT: %specific_impl_fn.loc6_22.2 => constants.%Int.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } @@ -1024,12 +1024,12 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %y, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %y, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -1059,7 +1059,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Main.import_ref.6b552a.2: Core.IntLiteral = import_ref Main//lib, loc4_17, loaded [symbolic = @IntRange.%N (constants.%N)] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1127,7 +1127,7 @@ fn Read(generic y: Core.IntLiteral) { // CHECK:STDOUT: %Range.ref: %Range.type = name_ref Range, imports.%Main.Range [concrete = constants.%Range] // CHECK:STDOUT: %y.ref: Core.IntLiteral = name_ref y, %y.loc4_18.2 [symbolic = %y.loc4_18.1 (constants.%y)] // CHECK:STDOUT: %.loc5_3: ref %IntRange.bbd = splice_block %x.var {} -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_38.1: = bound_method %y.ref, %impl.elem0 [symbolic = %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_38.2: = bound_method %y.ref, %specific_fn [symbolic = %bound_method.loc5_38.3 (constants.%bound_method)] diff --git a/toolchain/check/testdata/for/basic.carbon b/toolchain/check/testdata/for/basic.carbon index 4ec9b05017d8..7fd3d7623a81 100644 --- a/toolchain/check/testdata/for/basic.carbon +++ b/toolchain/check/testdata/for/basic.carbon @@ -67,26 +67,26 @@ fn Run() { // CHECK:STDOUT: %Optional.HasValue.type.224: type = fn_type @Optional.HasValue, @Optional(%T.f84) [symbolic] // CHECK:STDOUT: %Optional.HasValue.c4f: %Optional.HasValue.type.224 = struct_value () [symbolic] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] -// CHECK:STDOUT: %Copy.impl_witness.77e: = impl_witness imports.%Copy.impl_witness_table.938 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %empty_tuple.type, (%Copy.impl_witness.77e) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.37a: = impl_witness imports.%Copy.impl_witness_table.229 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %empty_tuple.type, (%Copy.impl_witness.37a) [concrete] // CHECK:STDOUT: %Iterate.impl_witness: = impl_witness @TrivialRange.as.Iterate.impl.%Iterate.impl_witness_table [concrete] // CHECK:STDOUT: %TrivialRange.as.Iterate.impl.NewCursor.type.de32c1.1: type = fn_type @TrivialRange.as.Iterate.impl.NewCursor.loc6_31.1 [concrete] // CHECK:STDOUT: %TrivialRange.as.Iterate.impl.NewCursor.93de00.1: %TrivialRange.as.Iterate.impl.NewCursor.type.de32c1.1 = struct_value () [concrete] // CHECK:STDOUT: %ptr.843: type = ptr_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %Optional.21a: type = class_type @Optional, @Optional(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.0cb: type = class_type @Optional, @Optional(%Copy.facet) [concrete] // CHECK:STDOUT: %TrivialRange.as.Iterate.impl.Next.type: type = fn_type @TrivialRange.as.Iterate.impl.Next [concrete] // CHECK:STDOUT: %TrivialRange.as.Iterate.impl.Next: %TrivialRange.as.Iterate.impl.Next.type = struct_value () [concrete] // CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %TrivialRange, (%Iterate.impl_witness) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.627: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.711: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.f14: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.8fe: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %TrivialRange.as.Iterate.impl.NewCursor.type.de32c1.2: type = fn_type @TrivialRange.as.Iterate.impl.NewCursor.loc6_31.2 [concrete] // CHECK:STDOUT: %TrivialRange.as.Iterate.impl.NewCursor.93de00.2: %TrivialRange.as.Iterate.impl.NewCursor.type.de32c1.2 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] -// CHECK:STDOUT: %Optional.HasValue.type.650: type = fn_type @Optional.HasValue, @Optional(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.HasValue.d37: %Optional.HasValue.type.650 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.5f1: type = fn_type @Optional.Get, @Optional(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.Get.2aa: %Optional.Get.type.5f1 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.a09: type = fn_type @Optional.HasValue, @Optional(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.HasValue.3ad: %Optional.HasValue.type.a09 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.9ee: type = fn_type @Optional.Get, @Optional(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.Get.20b: %Optional.Get.type.9ee = struct_value () [concrete] // CHECK:STDOUT: %struct_type.has_value.value.da2: type = struct_type {.has_value: bool, .value: %empty_tuple.type} [concrete] // CHECK:STDOUT: %Body.type: type = fn_type @Body [concrete] // CHECK:STDOUT: %Body: %Body.type = struct_value () [concrete] @@ -96,13 +96,13 @@ fn Run() { // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %TrivialRange.val: %TrivialRange = struct_value () [concrete] // CHECK:STDOUT: %.50e: ref %TrivialRange = temporary invalid, %TrivialRange.val [concrete] -// CHECK:STDOUT: %.3ea: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.627, %Iterate.facet [concrete] +// CHECK:STDOUT: %.9fa: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.f14, %Iterate.facet [concrete] // CHECK:STDOUT: %TrivialRange.as.Iterate.impl.NewCursor.bound.464: = bound_method %.50e, %TrivialRange.as.Iterate.impl.NewCursor.93de00.2 [concrete] // CHECK:STDOUT: %TrivialRange.as.Iterate.impl.NewCursor.bound.410: = bound_method %TrivialRange.val, %TrivialRange.as.Iterate.impl.NewCursor.93de00.1 [concrete] -// CHECK:STDOUT: %.228: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.711, %Iterate.facet [concrete] +// CHECK:STDOUT: %.98d: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.8fe, %Iterate.facet [concrete] // CHECK:STDOUT: %TrivialRange.as.Iterate.impl.Next.bound: = bound_method %.50e, %TrivialRange.as.Iterate.impl.Next [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.d37, @Optional.HasValue(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.2aa, @Optional.Get(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.3ad, @Optional.HasValue(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.20b, @Optional.Get(%Copy.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.1: type = fn_type @Destroy.Op.loc18_35.1 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.1: %Destroy.Op.type.1d8f74.1 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc18_35.4 [concrete] @@ -118,7 +118,7 @@ fn Run() { // CHECK:STDOUT: %Core.import_ref.1db: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.224) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.c4f)] // CHECK:STDOUT: %Core.import_ref.73b: @Optional.%Optional.Get.type (%Optional.Get.type.e1b) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.20c)] // CHECK:STDOUT: %Core.import_ref.9c3: %empty_tuple.type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%empty_tuple.type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.938 = impl_witness_table (%Core.import_ref.9c3), @empty_tuple.type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.229 = impl_witness_table (%Core.import_ref.9c3), @empty_tuple.type.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @Run() { @@ -132,7 +132,7 @@ fn Run() { // CHECK:STDOUT: %.loc18_18.3: init %TrivialRange to %.loc18_18.2 = class_init () [concrete = constants.%TrivialRange.val] // CHECK:STDOUT: %.loc18_20.1: init %TrivialRange = converted %.loc18_18.1, %.loc18_18.3 [concrete = constants.%TrivialRange.val] // CHECK:STDOUT: %.loc18_20.2: ref %TrivialRange = temporary %.loc18_18.2, %.loc18_20.1 [concrete = constants.%.50e] -// CHECK:STDOUT: %impl.elem2: %.3ea = impl_witness_access constants.%Iterate.impl_witness, element2 [concrete = constants.%TrivialRange.as.Iterate.impl.NewCursor.93de00.2] +// CHECK:STDOUT: %impl.elem2: %.9fa = impl_witness_access constants.%Iterate.impl_witness, element2 [concrete = constants.%TrivialRange.as.Iterate.impl.NewCursor.93de00.2] // CHECK:STDOUT: %bound_method.loc18_35.1: = bound_method %.loc18_20.2, %impl.elem2 [concrete = constants.%TrivialRange.as.Iterate.impl.NewCursor.bound.464] // CHECK:STDOUT: %.loc18_20.3: %TrivialRange = acquire_value %.loc18_20.2 [concrete = constants.%TrivialRange.val] // CHECK:STDOUT: %NewCursor.ref: %TrivialRange.as.Iterate.impl.NewCursor.type.de32c1.1 = name_ref NewCursor, @TrivialRange.as.Iterate.impl.%TrivialRange.as.Iterate.impl.NewCursor.decl.loc6_31.1 [concrete = constants.%TrivialRange.as.Iterate.impl.NewCursor.93de00.1] @@ -144,30 +144,30 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr: %ptr.843 = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.228 = impl_witness_access constants.%Iterate.impl_witness, element3 [concrete = constants.%TrivialRange.as.Iterate.impl.Next] +// CHECK:STDOUT: %impl.elem3: %.98d = impl_witness_access constants.%Iterate.impl_witness, element3 [concrete = constants.%TrivialRange.as.Iterate.impl.Next] // CHECK:STDOUT: %bound_method.loc18_35.2: = bound_method %.loc18_20.2, %impl.elem3 [concrete = constants.%TrivialRange.as.Iterate.impl.Next.bound] -// CHECK:STDOUT: %.loc18_35.1: ref %Optional.21a = temporary_storage +// CHECK:STDOUT: %.loc18_35.1: ref %Optional.0cb = temporary_storage // CHECK:STDOUT: %.loc18_20.4: %TrivialRange = acquire_value %.loc18_20.2 [concrete = constants.%TrivialRange.val] -// CHECK:STDOUT: %TrivialRange.as.Iterate.impl.Next.call: init %Optional.21a to %.loc18_35.1 = call %bound_method.loc18_35.2(%.loc18_20.4, %addr) -// CHECK:STDOUT: %.loc18_35.2: ref %Optional.21a = temporary %.loc18_35.1, %TrivialRange.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc18_35.3: %Optional.HasValue.type.650 = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.HasValue.d37] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.650 = name_ref HasValue, %.loc18_35.3 [concrete = constants.%Optional.HasValue.d37] +// CHECK:STDOUT: %TrivialRange.as.Iterate.impl.Next.call: init %Optional.0cb to %.loc18_35.1 = call %bound_method.loc18_35.2(%.loc18_20.4, %addr) +// CHECK:STDOUT: %.loc18_35.2: ref %Optional.0cb = temporary %.loc18_35.1, %TrivialRange.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc18_35.3: %Optional.HasValue.type.a09 = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.HasValue.3ad] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.a09 = name_ref HasValue, %.loc18_35.3 [concrete = constants.%Optional.HasValue.3ad] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc18_35.2, %HasValue.ref // CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%Copy.facet) [concrete = constants.%Optional.HasValue.specific_fn] // CHECK:STDOUT: %bound_method.loc18_35.3: = bound_method %.loc18_35.2, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc18_35.4: %Optional.21a = acquire_value %.loc18_35.2 +// CHECK:STDOUT: %.loc18_35.4: %Optional.0cb = acquire_value %.loc18_35.2 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc18_35.3(%.loc18_35.4) // CHECK:STDOUT: %.loc18_35.5: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc18_35.6: bool = converted %Optional.HasValue.call, %.loc18_35.5 // CHECK:STDOUT: if %.loc18_35.6 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc18_35.7: %Optional.Get.type.5f1 = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.Get.2aa] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.5f1 = name_ref Get, %.loc18_35.7 [concrete = constants.%Optional.Get.2aa] +// CHECK:STDOUT: %.loc18_35.7: %Optional.Get.type.9ee = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.Get.20b] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.9ee = name_ref Get, %.loc18_35.7 [concrete = constants.%Optional.Get.20b] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc18_35.2, %Get.ref // CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%Copy.facet) [concrete = constants.%Optional.Get.specific_fn] // CHECK:STDOUT: %bound_method.loc18_35.4: = bound_method %.loc18_35.2, %Optional.Get.specific_fn -// CHECK:STDOUT: %.loc18_35.8: %Optional.21a = acquire_value %.loc18_35.2 +// CHECK:STDOUT: %.loc18_35.8: %Optional.0cb = acquire_value %.loc18_35.2 // CHECK:STDOUT: %Optional.Get.call: init %empty_tuple.type = call %bound_method.loc18_35.4(%.loc18_35.8) // CHECK:STDOUT: %.loc18_35.9: ref %empty_tuple.type = temporary_storage // CHECK:STDOUT: %.loc18_35.10: ref %empty_tuple.type = temporary %.loc18_35.9, %Optional.Get.call @@ -206,7 +206,7 @@ fn Run() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc18_35.4(%self.param: ref %Optional.21a) { +// CHECK:STDOUT: fn @Destroy.Op.loc18_35.4(%self.param: ref %Optional.0cb) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/for/pattern.carbon b/toolchain/check/testdata/for/pattern.carbon index bbb3b917d4e4..c63c9a5a7e6d 100644 --- a/toolchain/check/testdata/for/pattern.carbon +++ b/toolchain/check/testdata/for/pattern.carbon @@ -135,12 +135,12 @@ fn Run() { // CHECK:STDOUT: %T.f84: %Copy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %EmptyRange.Make.type.140: type = fn_type @EmptyRange.Make, @EmptyRange(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.Make.0de: %EmptyRange.Make.type.140 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.2ff: = impl_witness imports.%Copy.impl_witness_table.506 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %C, (%Copy.impl_witness.2ff) [concrete] -// CHECK:STDOUT: %EmptyRange.de0: type = class_type @EmptyRange, @EmptyRange(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.Make.type.3a3: type = fn_type @EmptyRange.Make, @EmptyRange(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.Make.8c5: %EmptyRange.Make.type.3a3 = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %EmptyRange.Make.8c5, @EmptyRange.Make(%Copy.facet) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.518: = impl_witness imports.%Copy.impl_witness_table.b4f [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %C, (%Copy.impl_witness.518) [concrete] +// CHECK:STDOUT: %EmptyRange.b10: type = class_type @EmptyRange, @EmptyRange(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.Make.type.a90: type = fn_type @EmptyRange.Make, @EmptyRange(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.Make.72e: %EmptyRange.Make.type.a90 = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %EmptyRange.Make.72e, @EmptyRange.Make(%Copy.facet) [concrete] // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %Optional.Get.type.e1b: type = fn_type @Optional.Get, @Optional(%T.f84) [symbolic] // CHECK:STDOUT: %Optional.Get.20c: %Optional.Get.type.e1b = struct_value () [symbolic] @@ -150,26 +150,26 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.cdc: %EmptyRange.as.Iterate.impl.Next.type.c04 = struct_value () [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.561: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.31b: %EmptyRange.as.Iterate.impl.NewCursor.type.561 = struct_value () [symbolic] -// CHECK:STDOUT: %Iterate.impl_witness.489: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.671: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.944: %EmptyRange.as.Iterate.impl.NewCursor.type.671 = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.4ff: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.ef7: %EmptyRange.as.Iterate.impl.Next.type.4ff = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.de0, (%Iterate.impl_witness.489) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.d72: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.3ec: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] -// CHECK:STDOUT: %.1ab: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.d72, %Iterate.facet [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.944, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a6a: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.3ec, %Iterate.facet [concrete] -// CHECK:STDOUT: %Optional.f82: type = class_type @Optional, @Optional(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.Next.ef7, @EmptyRange.as.Iterate.impl.Next(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.HasValue.type.c5b: type = fn_type @Optional.HasValue, @Optional(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.HasValue.a88: %Optional.HasValue.type.c5b = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.0a8: type = fn_type @Optional.Get, @Optional(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.Get.d5d: %Optional.Get.type.0a8 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.3a0: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.fdf: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.120: %EmptyRange.as.Iterate.impl.NewCursor.type.fdf = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.74b: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.795: %EmptyRange.as.Iterate.impl.Next.type.74b = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.b10, (%Iterate.impl_witness.3a0) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.2e7: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.645: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %.f81: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.2e7, %Iterate.facet [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.120, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet) [concrete] +// CHECK:STDOUT: %.1d5: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.645, %Iterate.facet [concrete] +// CHECK:STDOUT: %Optional.0e3: type = class_type @Optional, @Optional(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.Next.795, @EmptyRange.as.Iterate.impl.Next(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.383: type = fn_type @Optional.HasValue, @Optional(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.HasValue.45e: %Optional.HasValue.type.383 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.599: type = fn_type @Optional.Get, @Optional(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.Get.dc7: %Optional.Get.type.599 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.has_value.value.9e7: type = struct_type {.has_value: bool, .value: %C} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.a88, @Optional.HasValue(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.d5d, @Optional.Get(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.45e, @Optional.HasValue(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.dc7, @Optional.Get(%Copy.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.1: type = fn_type @Destroy.Op.loc10_36.1 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.1: %Destroy.Op.type.1d8f74.1 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc10_36.2 [concrete] @@ -187,7 +187,7 @@ fn Run() { // CHECK:STDOUT: %Main.C: type = import_ref Main//empty_range, C, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.a9e: @EmptyRange.%EmptyRange.Make.type (%EmptyRange.Make.type.140) = import_ref Main//empty_range, loc5_21, loaded [symbolic = @EmptyRange.%EmptyRange.Make (constants.%EmptyRange.Make.0de)] // CHECK:STDOUT: %Main.import_ref.341: %C.as.Copy.impl.Op.type = import_ref Main//empty_range, loc19_32, loaded [concrete = constants.%C.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.506 = impl_witness_table (%Main.import_ref.341), @C.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.b4f = impl_witness_table (%Main.import_ref.341), @C.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.1db: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.224) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.c4f)] // CHECK:STDOUT: %Core.import_ref.73b: @Optional.%Optional.Get.type (%Optional.Get.type.e1b) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.20c)] // CHECK:STDOUT: %Main.import_ref.71a = import_ref Main//empty_range, loc7_68, unloaded @@ -204,20 +204,20 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: %EmptyRange.ref: %EmptyRange.type = name_ref EmptyRange, imports.%Main.EmptyRange [concrete = constants.%EmptyRange.generic] // CHECK:STDOUT: %C.ref.loc10_27: type = name_ref C, imports.%Main.C [concrete = constants.%C] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %C.ref.loc10_27, (constants.%Copy.impl_witness.2ff) [concrete = constants.%Copy.facet] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %C.ref.loc10_27, (constants.%Copy.impl_witness.518) [concrete = constants.%Copy.facet] // CHECK:STDOUT: %.loc10_28: %Copy.type = converted %C.ref.loc10_27, %Copy.facet [concrete = constants.%Copy.facet] -// CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet) [concrete = constants.%EmptyRange.de0] -// CHECK:STDOUT: %.loc10_29: %EmptyRange.Make.type.3a3 = specific_constant imports.%Main.import_ref.a9e, @EmptyRange(constants.%Copy.facet) [concrete = constants.%EmptyRange.Make.8c5] -// CHECK:STDOUT: %Make.ref: %EmptyRange.Make.type.3a3 = name_ref Make, %.loc10_29 [concrete = constants.%EmptyRange.Make.8c5] +// CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet) [concrete = constants.%EmptyRange.b10] +// CHECK:STDOUT: %.loc10_29: %EmptyRange.Make.type.a90 = specific_constant imports.%Main.import_ref.a9e, @EmptyRange(constants.%Copy.facet) [concrete = constants.%EmptyRange.Make.72e] +// CHECK:STDOUT: %Make.ref: %EmptyRange.Make.type.a90 = name_ref Make, %.loc10_29 [concrete = constants.%EmptyRange.Make.72e] // CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %Make.ref, @EmptyRange.Make(constants.%Copy.facet) [concrete = constants.%EmptyRange.Make.specific_fn] -// CHECK:STDOUT: %.loc10_35.1: ref %EmptyRange.de0 = temporary_storage -// CHECK:STDOUT: %EmptyRange.Make.call: init %EmptyRange.de0 to %.loc10_35.1 = call %EmptyRange.Make.specific_fn() -// CHECK:STDOUT: %.loc10_35.2: ref %EmptyRange.de0 = temporary %.loc10_35.1, %EmptyRange.Make.call -// CHECK:STDOUT: %impl.elem2: %.1ab = impl_witness_access constants.%Iterate.impl_witness.489, element2 [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.944] +// CHECK:STDOUT: %.loc10_35.1: ref %EmptyRange.b10 = temporary_storage +// CHECK:STDOUT: %EmptyRange.Make.call: init %EmptyRange.b10 to %.loc10_35.1 = call %EmptyRange.Make.specific_fn() +// CHECK:STDOUT: %.loc10_35.2: ref %EmptyRange.b10 = temporary %.loc10_35.1, %EmptyRange.Make.call +// CHECK:STDOUT: %impl.elem2: %.f81 = impl_witness_access constants.%Iterate.impl_witness.3a0, element2 [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.120] // CHECK:STDOUT: %bound_method.loc10_36.1: = bound_method %.loc10_35.2, %impl.elem2 // CHECK:STDOUT: %specific_fn.loc10_36.1: = specific_function %impl.elem2, @EmptyRange.as.Iterate.impl.NewCursor(constants.%Copy.facet) [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.specific_fn] // CHECK:STDOUT: %bound_method.loc10_36.2: = bound_method %.loc10_35.2, %specific_fn.loc10_36.1 -// CHECK:STDOUT: %.loc10_35.3: %EmptyRange.de0 = acquire_value %.loc10_35.2 +// CHECK:STDOUT: %.loc10_35.3: %EmptyRange.b10 = acquire_value %.loc10_35.2 // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.call: init %empty_struct_type = call %bound_method.loc10_36.2(%.loc10_35.3) // CHECK:STDOUT: %var: ref %empty_struct_type = var_storage invalid // CHECK:STDOUT: assign %var, %EmptyRange.as.Iterate.impl.NewCursor.call @@ -225,33 +225,33 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr: %ptr.c28 = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.a6a = impl_witness_access constants.%Iterate.impl_witness.489, element3 [concrete = constants.%EmptyRange.as.Iterate.impl.Next.ef7] +// CHECK:STDOUT: %impl.elem3: %.1d5 = impl_witness_access constants.%Iterate.impl_witness.3a0, element3 [concrete = constants.%EmptyRange.as.Iterate.impl.Next.795] // CHECK:STDOUT: %bound_method.loc10_36.3: = bound_method %.loc10_35.2, %impl.elem3 // CHECK:STDOUT: %specific_fn.loc10_36.2: = specific_function %impl.elem3, @EmptyRange.as.Iterate.impl.Next(constants.%Copy.facet) [concrete = constants.%EmptyRange.as.Iterate.impl.Next.specific_fn] // CHECK:STDOUT: %bound_method.loc10_36.4: = bound_method %.loc10_35.2, %specific_fn.loc10_36.2 -// CHECK:STDOUT: %.loc10_36.1: ref %Optional.f82 = temporary_storage -// CHECK:STDOUT: %.loc10_35.4: %EmptyRange.de0 = acquire_value %.loc10_35.2 -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.call: init %Optional.f82 to %.loc10_36.1 = call %bound_method.loc10_36.4(%.loc10_35.4, %addr) -// CHECK:STDOUT: %.loc10_36.2: ref %Optional.f82 = temporary %.loc10_36.1, %EmptyRange.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc10_36.3: %Optional.HasValue.type.c5b = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.HasValue.a88] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.c5b = name_ref HasValue, %.loc10_36.3 [concrete = constants.%Optional.HasValue.a88] +// CHECK:STDOUT: %.loc10_36.1: ref %Optional.0e3 = temporary_storage +// CHECK:STDOUT: %.loc10_35.4: %EmptyRange.b10 = acquire_value %.loc10_35.2 +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.call: init %Optional.0e3 to %.loc10_36.1 = call %bound_method.loc10_36.4(%.loc10_35.4, %addr) +// CHECK:STDOUT: %.loc10_36.2: ref %Optional.0e3 = temporary %.loc10_36.1, %EmptyRange.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc10_36.3: %Optional.HasValue.type.383 = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.HasValue.45e] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.383 = name_ref HasValue, %.loc10_36.3 [concrete = constants.%Optional.HasValue.45e] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc10_36.2, %HasValue.ref // CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%Copy.facet) [concrete = constants.%Optional.HasValue.specific_fn] // CHECK:STDOUT: %bound_method.loc10_36.5: = bound_method %.loc10_36.2, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc10_36.4: %Optional.f82 = acquire_value %.loc10_36.2 +// CHECK:STDOUT: %.loc10_36.4: %Optional.0e3 = acquire_value %.loc10_36.2 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc10_36.5(%.loc10_36.4) // CHECK:STDOUT: %.loc10_36.5: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc10_36.6: bool = converted %Optional.HasValue.call, %.loc10_36.5 // CHECK:STDOUT: if %.loc10_36.6 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc10_36.7: %Optional.Get.type.0a8 = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.Get.d5d] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.0a8 = name_ref Get, %.loc10_36.7 [concrete = constants.%Optional.Get.d5d] +// CHECK:STDOUT: %.loc10_36.7: %Optional.Get.type.599 = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.Get.dc7] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.599 = name_ref Get, %.loc10_36.7 [concrete = constants.%Optional.Get.dc7] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc10_36.2, %Get.ref // CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%Copy.facet) [concrete = constants.%Optional.Get.specific_fn] // CHECK:STDOUT: %bound_method.loc10_36.6: = bound_method %.loc10_36.2, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc10_36.8: ref %C = temporary_storage -// CHECK:STDOUT: %.loc10_36.9: %Optional.f82 = acquire_value %.loc10_36.2 +// CHECK:STDOUT: %.loc10_36.9: %Optional.0e3 = acquire_value %.loc10_36.2 // CHECK:STDOUT: %Optional.Get.call: init %C to %.loc10_36.8 = call %bound_method.loc10_36.6(%.loc10_36.9) // CHECK:STDOUT: %.loc10_36.10: ref %C = temporary %.loc10_36.8, %Optional.Get.call // CHECK:STDOUT: %.loc10_36.11: %C = acquire_value %.loc10_36.10 @@ -290,12 +290,12 @@ fn Run() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_36.5(%self.param: ref %Optional.f82) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_36.5(%self.param: ref %Optional.0e3) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_35(%self.param: ref %EmptyRange.de0) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_35(%self.param: ref %EmptyRange.b10) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -319,12 +319,12 @@ fn Run() { // CHECK:STDOUT: %T.f84: %Copy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %EmptyRange.Make.type.140: type = fn_type @EmptyRange.Make, @EmptyRange(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.Make.0de: %EmptyRange.Make.type.140 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.2ff: = impl_witness imports.%Copy.impl_witness_table.506 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %C, (%Copy.impl_witness.2ff) [concrete] -// CHECK:STDOUT: %EmptyRange.de0: type = class_type @EmptyRange, @EmptyRange(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.Make.type.3a3: type = fn_type @EmptyRange.Make, @EmptyRange(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.Make.8c5: %EmptyRange.Make.type.3a3 = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %EmptyRange.Make.8c5, @EmptyRange.Make(%Copy.facet) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.518: = impl_witness imports.%Copy.impl_witness_table.b4f [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %C, (%Copy.impl_witness.518) [concrete] +// CHECK:STDOUT: %EmptyRange.b10: type = class_type @EmptyRange, @EmptyRange(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.Make.type.a90: type = fn_type @EmptyRange.Make, @EmptyRange(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.Make.72e: %EmptyRange.Make.type.a90 = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %EmptyRange.Make.72e, @EmptyRange.Make(%Copy.facet) [concrete] // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %Optional.Get.type.e1b: type = fn_type @Optional.Get, @Optional(%T.f84) [symbolic] // CHECK:STDOUT: %Optional.Get.20c: %Optional.Get.type.e1b = struct_value () [symbolic] @@ -334,26 +334,26 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.cdc: %EmptyRange.as.Iterate.impl.Next.type.c04 = struct_value () [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.561: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.31b: %EmptyRange.as.Iterate.impl.NewCursor.type.561 = struct_value () [symbolic] -// CHECK:STDOUT: %Iterate.impl_witness.489: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.671: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.944: %EmptyRange.as.Iterate.impl.NewCursor.type.671 = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.4ff: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.ef7: %EmptyRange.as.Iterate.impl.Next.type.4ff = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.de0, (%Iterate.impl_witness.489) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.d72: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.3ec: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] -// CHECK:STDOUT: %.1ab: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.d72, %Iterate.facet [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.944, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a6a: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.3ec, %Iterate.facet [concrete] -// CHECK:STDOUT: %Optional.f82: type = class_type @Optional, @Optional(%Copy.facet) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.Next.ef7, @EmptyRange.as.Iterate.impl.Next(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.HasValue.type.c5b: type = fn_type @Optional.HasValue, @Optional(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.HasValue.a88: %Optional.HasValue.type.c5b = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.0a8: type = fn_type @Optional.Get, @Optional(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.Get.d5d: %Optional.Get.type.0a8 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.3a0: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.fdf: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.120: %EmptyRange.as.Iterate.impl.NewCursor.type.fdf = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.74b: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.795: %EmptyRange.as.Iterate.impl.Next.type.74b = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.b10, (%Iterate.impl_witness.3a0) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.2e7: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.645: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %.f81: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.2e7, %Iterate.facet [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.120, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet) [concrete] +// CHECK:STDOUT: %.1d5: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.645, %Iterate.facet [concrete] +// CHECK:STDOUT: %Optional.0e3: type = class_type @Optional, @Optional(%Copy.facet) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.Next.795, @EmptyRange.as.Iterate.impl.Next(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.383: type = fn_type @Optional.HasValue, @Optional(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.HasValue.45e: %Optional.HasValue.type.383 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.599: type = fn_type @Optional.Get, @Optional(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.Get.dc7: %Optional.Get.type.599 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.has_value.value.9e7: type = struct_type {.has_value: bool, .value: %C} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.a88, @Optional.HasValue(%Copy.facet) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.d5d, @Optional.Get(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.45e, @Optional.HasValue(%Copy.facet) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.dc7, @Optional.Get(%Copy.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc10_40.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc10_40.3 [concrete] @@ -371,7 +371,7 @@ fn Run() { // CHECK:STDOUT: %Main.C: type = import_ref Main//empty_range, C, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.a9e: @EmptyRange.%EmptyRange.Make.type (%EmptyRange.Make.type.140) = import_ref Main//empty_range, loc5_21, loaded [symbolic = @EmptyRange.%EmptyRange.Make (constants.%EmptyRange.Make.0de)] // CHECK:STDOUT: %Main.import_ref.341: %C.as.Copy.impl.Op.type = import_ref Main//empty_range, loc19_32, loaded [concrete = constants.%C.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.506 = impl_witness_table (%Main.import_ref.341), @C.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.b4f = impl_witness_table (%Main.import_ref.341), @C.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.1db: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.224) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.c4f)] // CHECK:STDOUT: %Core.import_ref.73b: @Optional.%Optional.Get.type (%Optional.Get.type.e1b) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.20c)] // CHECK:STDOUT: %Main.import_ref.71a = import_ref Main//empty_range, loc7_68, unloaded @@ -390,20 +390,20 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: %EmptyRange.ref: %EmptyRange.type = name_ref EmptyRange, imports.%Main.EmptyRange [concrete = constants.%EmptyRange.generic] // CHECK:STDOUT: %C.ref.loc10_31: type = name_ref C, imports.%Main.C [concrete = constants.%C] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %C.ref.loc10_31, (constants.%Copy.impl_witness.2ff) [concrete = constants.%Copy.facet] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %C.ref.loc10_31, (constants.%Copy.impl_witness.518) [concrete = constants.%Copy.facet] // CHECK:STDOUT: %.loc10_32: %Copy.type = converted %C.ref.loc10_31, %Copy.facet [concrete = constants.%Copy.facet] -// CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet) [concrete = constants.%EmptyRange.de0] -// CHECK:STDOUT: %.loc10_33: %EmptyRange.Make.type.3a3 = specific_constant imports.%Main.import_ref.a9e, @EmptyRange(constants.%Copy.facet) [concrete = constants.%EmptyRange.Make.8c5] -// CHECK:STDOUT: %Make.ref: %EmptyRange.Make.type.3a3 = name_ref Make, %.loc10_33 [concrete = constants.%EmptyRange.Make.8c5] +// CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet) [concrete = constants.%EmptyRange.b10] +// CHECK:STDOUT: %.loc10_33: %EmptyRange.Make.type.a90 = specific_constant imports.%Main.import_ref.a9e, @EmptyRange(constants.%Copy.facet) [concrete = constants.%EmptyRange.Make.72e] +// CHECK:STDOUT: %Make.ref: %EmptyRange.Make.type.a90 = name_ref Make, %.loc10_33 [concrete = constants.%EmptyRange.Make.72e] // CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %Make.ref, @EmptyRange.Make(constants.%Copy.facet) [concrete = constants.%EmptyRange.Make.specific_fn] -// CHECK:STDOUT: %.loc10_39.1: ref %EmptyRange.de0 = temporary_storage -// CHECK:STDOUT: %EmptyRange.Make.call: init %EmptyRange.de0 to %.loc10_39.1 = call %EmptyRange.Make.specific_fn() -// CHECK:STDOUT: %.loc10_39.2: ref %EmptyRange.de0 = temporary %.loc10_39.1, %EmptyRange.Make.call -// CHECK:STDOUT: %impl.elem2: %.1ab = impl_witness_access constants.%Iterate.impl_witness.489, element2 [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.944] +// CHECK:STDOUT: %.loc10_39.1: ref %EmptyRange.b10 = temporary_storage +// CHECK:STDOUT: %EmptyRange.Make.call: init %EmptyRange.b10 to %.loc10_39.1 = call %EmptyRange.Make.specific_fn() +// CHECK:STDOUT: %.loc10_39.2: ref %EmptyRange.b10 = temporary %.loc10_39.1, %EmptyRange.Make.call +// CHECK:STDOUT: %impl.elem2: %.f81 = impl_witness_access constants.%Iterate.impl_witness.3a0, element2 [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.120] // CHECK:STDOUT: %bound_method.loc10_40.1: = bound_method %.loc10_39.2, %impl.elem2 // CHECK:STDOUT: %specific_fn.loc10_40.1: = specific_function %impl.elem2, @EmptyRange.as.Iterate.impl.NewCursor(constants.%Copy.facet) [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.specific_fn] // CHECK:STDOUT: %bound_method.loc10_40.2: = bound_method %.loc10_39.2, %specific_fn.loc10_40.1 -// CHECK:STDOUT: %.loc10_39.3: %EmptyRange.de0 = acquire_value %.loc10_39.2 +// CHECK:STDOUT: %.loc10_39.3: %EmptyRange.b10 = acquire_value %.loc10_39.2 // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.call: init %empty_struct_type = call %bound_method.loc10_40.2(%.loc10_39.3) // CHECK:STDOUT: %var: ref %empty_struct_type = var_storage invalid // CHECK:STDOUT: assign %var, %EmptyRange.as.Iterate.impl.NewCursor.call @@ -411,33 +411,33 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr.loc10: %ptr.c28 = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.a6a = impl_witness_access constants.%Iterate.impl_witness.489, element3 [concrete = constants.%EmptyRange.as.Iterate.impl.Next.ef7] +// CHECK:STDOUT: %impl.elem3: %.1d5 = impl_witness_access constants.%Iterate.impl_witness.3a0, element3 [concrete = constants.%EmptyRange.as.Iterate.impl.Next.795] // CHECK:STDOUT: %bound_method.loc10_40.3: = bound_method %.loc10_39.2, %impl.elem3 // CHECK:STDOUT: %specific_fn.loc10_40.2: = specific_function %impl.elem3, @EmptyRange.as.Iterate.impl.Next(constants.%Copy.facet) [concrete = constants.%EmptyRange.as.Iterate.impl.Next.specific_fn] // CHECK:STDOUT: %bound_method.loc10_40.4: = bound_method %.loc10_39.2, %specific_fn.loc10_40.2 -// CHECK:STDOUT: %.loc10_40.1: ref %Optional.f82 = temporary_storage -// CHECK:STDOUT: %.loc10_39.4: %EmptyRange.de0 = acquire_value %.loc10_39.2 -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.call: init %Optional.f82 to %.loc10_40.1 = call %bound_method.loc10_40.4(%.loc10_39.4, %addr.loc10) -// CHECK:STDOUT: %.loc10_40.2: ref %Optional.f82 = temporary %.loc10_40.1, %EmptyRange.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc10_40.3: %Optional.HasValue.type.c5b = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.HasValue.a88] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.c5b = name_ref HasValue, %.loc10_40.3 [concrete = constants.%Optional.HasValue.a88] +// CHECK:STDOUT: %.loc10_40.1: ref %Optional.0e3 = temporary_storage +// CHECK:STDOUT: %.loc10_39.4: %EmptyRange.b10 = acquire_value %.loc10_39.2 +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.call: init %Optional.0e3 to %.loc10_40.1 = call %bound_method.loc10_40.4(%.loc10_39.4, %addr.loc10) +// CHECK:STDOUT: %.loc10_40.2: ref %Optional.0e3 = temporary %.loc10_40.1, %EmptyRange.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc10_40.3: %Optional.HasValue.type.383 = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.HasValue.45e] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.383 = name_ref HasValue, %.loc10_40.3 [concrete = constants.%Optional.HasValue.45e] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc10_40.2, %HasValue.ref // CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%Copy.facet) [concrete = constants.%Optional.HasValue.specific_fn] // CHECK:STDOUT: %bound_method.loc10_40.5: = bound_method %.loc10_40.2, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc10_40.4: %Optional.f82 = acquire_value %.loc10_40.2 +// CHECK:STDOUT: %.loc10_40.4: %Optional.0e3 = acquire_value %.loc10_40.2 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc10_40.5(%.loc10_40.4) // CHECK:STDOUT: %.loc10_40.5: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc10_40.6: bool = converted %Optional.HasValue.call, %.loc10_40.5 // CHECK:STDOUT: if %.loc10_40.6 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc10_40.7: %Optional.Get.type.0a8 = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.Get.d5d] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.0a8 = name_ref Get, %.loc10_40.7 [concrete = constants.%Optional.Get.d5d] +// CHECK:STDOUT: %.loc10_40.7: %Optional.Get.type.599 = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet) [concrete = constants.%Optional.Get.dc7] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.599 = name_ref Get, %.loc10_40.7 [concrete = constants.%Optional.Get.dc7] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc10_40.2, %Get.ref // CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%Copy.facet) [concrete = constants.%Optional.Get.specific_fn] // CHECK:STDOUT: %bound_method.loc10_40.6: = bound_method %.loc10_40.2, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc10_8: ref %C = splice_block %c.var {} -// CHECK:STDOUT: %.loc10_40.8: %Optional.f82 = acquire_value %.loc10_40.2 +// CHECK:STDOUT: %.loc10_40.8: %Optional.0e3 = acquire_value %.loc10_40.2 // CHECK:STDOUT: %Optional.Get.call: init %C to %.loc10_8 = call %bound_method.loc10_40.6(%.loc10_40.8) // CHECK:STDOUT: assign %c.var, %Optional.Get.call // CHECK:STDOUT: %C.ref.loc10_15: type = name_ref C, imports.%Main.C [concrete = constants.%C] @@ -478,12 +478,12 @@ fn Run() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_40.5(%self.param: ref %Optional.f82) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_40.5(%self.param: ref %Optional.0e3) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_39(%self.param: ref %EmptyRange.de0) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_39(%self.param: ref %EmptyRange.b10) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -512,15 +512,15 @@ fn Run() { // CHECK:STDOUT: %U: %Copy.type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %tuple.type.as.Copy.impl.Op.type.3ed: type = fn_type @tuple.type.as.Copy.impl.Op.1, @tuple.type.as.Copy.impl.9bd(%T.f84, %U) [symbolic] // CHECK:STDOUT: %tuple.type.as.Copy.impl.Op.0f8: %tuple.type.as.Copy.impl.Op.type.3ed = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.713: = impl_witness imports.%Copy.impl_witness_table.1ff [concrete] -// CHECK:STDOUT: %Copy.facet.fa7: %Copy.type = facet_value bool, (%Copy.impl_witness.713) [concrete] -// CHECK:STDOUT: %Copy.impl_witness.8be: = impl_witness imports.%Copy.impl_witness_table.828, @tuple.type.as.Copy.impl.9bd(%Copy.facet.fa7, %Copy.facet.fa7) [concrete] -// CHECK:STDOUT: %Copy.facet.ee8: %Copy.type = facet_value %tuple.type.784, (%Copy.impl_witness.8be) [concrete] -// CHECK:STDOUT: %EmptyRange.012: type = class_type @EmptyRange, @EmptyRange(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %EmptyRange.Make.type.201: type = fn_type @EmptyRange.Make, @EmptyRange(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %EmptyRange.Make.b93: %EmptyRange.Make.type.201 = struct_value () [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5e1: = impl_witness imports.%Copy.impl_witness_table.bda [concrete] +// CHECK:STDOUT: %Copy.facet.7af: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.493: = impl_witness imports.%Copy.impl_witness_table.e5a, @tuple.type.as.Copy.impl.9bd(%Copy.facet.7af, %Copy.facet.7af) [concrete] +// CHECK:STDOUT: %Copy.facet.701: %Copy.type = facet_value %tuple.type.784, (%Copy.impl_witness.493) [concrete] +// CHECK:STDOUT: %EmptyRange.d81: type = class_type @EmptyRange, @EmptyRange(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %EmptyRange.Make.type.059: type = fn_type @EmptyRange.Make, @EmptyRange(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %EmptyRange.Make.787: %EmptyRange.Make.type.059 = struct_value () [concrete] // CHECK:STDOUT: %ptr.c28: type = ptr_type %empty_struct_type [concrete] -// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %EmptyRange.Make.b93, @EmptyRange.Make(%Copy.facet.ee8) [concrete] +// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %EmptyRange.Make.787, @EmptyRange.Make(%Copy.facet.701) [concrete] // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %Optional.Get.type.e1b: type = fn_type @Optional.Get, @Optional(%T.f84) [symbolic] // CHECK:STDOUT: %Optional.Get.20c: %Optional.Get.type.e1b = struct_value () [symbolic] @@ -530,26 +530,26 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.cdc: %EmptyRange.as.Iterate.impl.Next.type.c04 = struct_value () [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.561: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.31b: %EmptyRange.as.Iterate.impl.NewCursor.type.561 = struct_value () [symbolic] -// CHECK:STDOUT: %Iterate.impl_witness.8d0: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.937: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.bc5: %EmptyRange.as.Iterate.impl.NewCursor.type.937 = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.0f3: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.df2: %EmptyRange.as.Iterate.impl.Next.type.0f3 = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.012, (%Iterate.impl_witness.8d0) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.fe1: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.de9: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] -// CHECK:STDOUT: %.3d8: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.fe1, %Iterate.facet [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.bc5, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %.2a4: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.de9, %Iterate.facet [concrete] -// CHECK:STDOUT: %Optional.8b2: type = class_type @Optional, @Optional(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.Next.df2, @EmptyRange.as.Iterate.impl.Next(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %Optional.HasValue.type.462: type = fn_type @Optional.HasValue, @Optional(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %Optional.HasValue.c8b: %Optional.HasValue.type.462 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.d91: type = fn_type @Optional.Get, @Optional(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %Optional.Get.7e9: %Optional.Get.type.d91 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.65f: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.351: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.49c: %EmptyRange.as.Iterate.impl.NewCursor.type.351 = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.5a2: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.3fd: %EmptyRange.as.Iterate.impl.Next.type.5a2 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.d81, (%Iterate.impl_witness.65f) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.28e: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.2e8: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %.d54: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.28e, %Iterate.facet [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.49c, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %.a85: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.2e8, %Iterate.facet [concrete] +// CHECK:STDOUT: %Optional.4d1: type = class_type @Optional, @Optional(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.Next.3fd, @EmptyRange.as.Iterate.impl.Next(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.34e: type = fn_type @Optional.HasValue, @Optional(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %Optional.HasValue.55e: %Optional.HasValue.type.34e = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.b0a: type = fn_type @Optional.Get, @Optional(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %Optional.Get.018: %Optional.Get.type.b0a = struct_value () [concrete] // CHECK:STDOUT: %struct_type.has_value.value.6f9: type = struct_type {.has_value: bool, .value: %tuple.type.784} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.c8b, @Optional.HasValue(%Copy.facet.ee8) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.7e9, @Optional.Get(%Copy.facet.ee8) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.55e, @Optional.HasValue(%Copy.facet.701) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.018, @Optional.Get(%Copy.facet.701) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc10_61.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc10_61.4 [concrete] @@ -566,9 +566,9 @@ fn Run() { // CHECK:STDOUT: %Main.EmptyRange: %EmptyRange.type = import_ref Main//empty_range, EmptyRange, loaded [concrete = constants.%EmptyRange.generic] // CHECK:STDOUT: %Main.import_ref.a9e: @EmptyRange.%EmptyRange.Make.type (%EmptyRange.Make.type.140) = import_ref Main//empty_range, loc5_21, loaded [symbolic = @EmptyRange.%EmptyRange.Make (constants.%EmptyRange.Make.0de)] // CHECK:STDOUT: %Core.import_ref.44a: @tuple.type.as.Copy.impl.9bd.%tuple.type.as.Copy.impl.Op.type (%tuple.type.as.Copy.impl.Op.type.3ed) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @tuple.type.as.Copy.impl.9bd.%tuple.type.as.Copy.impl.Op (constants.%tuple.type.as.Copy.impl.Op.0f8)] -// CHECK:STDOUT: %Copy.impl_witness_table.828 = impl_witness_table (%Core.import_ref.44a), @tuple.type.as.Copy.impl.9bd [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.e5a = impl_witness_table (%Core.import_ref.44a), @tuple.type.as.Copy.impl.9bd [concrete] // CHECK:STDOUT: %Core.import_ref.9c3: %bool.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%bool.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.1ff = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.bda = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.1db: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.224) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.c4f)] // CHECK:STDOUT: %Core.import_ref.73b: @Optional.%Optional.Get.type (%Optional.Get.type.e1b) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.20c)] // CHECK:STDOUT: %Main.import_ref.71a = import_ref Main//empty_range, loc7_68, unloaded @@ -589,20 +589,20 @@ fn Run() { // CHECK:STDOUT: %.loc10_42: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc10_48: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc10_52: %tuple.type.24b = tuple_literal (%.loc10_42, %.loc10_48) [concrete = constants.%tuple.9fa] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value constants.%tuple.type.784, (constants.%Copy.impl_witness.8be) [concrete = constants.%Copy.facet.ee8] -// CHECK:STDOUT: %.loc10_53: %Copy.type = converted %.loc10_52, %Copy.facet [concrete = constants.%Copy.facet.ee8] -// CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet.ee8) [concrete = constants.%EmptyRange.012] -// CHECK:STDOUT: %.loc10_54: %EmptyRange.Make.type.201 = specific_constant imports.%Main.import_ref.a9e, @EmptyRange(constants.%Copy.facet.ee8) [concrete = constants.%EmptyRange.Make.b93] -// CHECK:STDOUT: %Make.ref: %EmptyRange.Make.type.201 = name_ref Make, %.loc10_54 [concrete = constants.%EmptyRange.Make.b93] -// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %Make.ref, @EmptyRange.Make(constants.%Copy.facet.ee8) [concrete = constants.%EmptyRange.Make.specific_fn] -// CHECK:STDOUT: %.loc10_60.1: ref %EmptyRange.012 = temporary_storage -// CHECK:STDOUT: %EmptyRange.Make.call: init %EmptyRange.012 to %.loc10_60.1 = call %EmptyRange.Make.specific_fn() -// CHECK:STDOUT: %.loc10_60.2: ref %EmptyRange.012 = temporary %.loc10_60.1, %EmptyRange.Make.call -// CHECK:STDOUT: %impl.elem2: %.3d8 = impl_witness_access constants.%Iterate.impl_witness.8d0, element2 [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.bc5] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value constants.%tuple.type.784, (constants.%Copy.impl_witness.493) [concrete = constants.%Copy.facet.701] +// CHECK:STDOUT: %.loc10_53: %Copy.type = converted %.loc10_52, %Copy.facet [concrete = constants.%Copy.facet.701] +// CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet.701) [concrete = constants.%EmptyRange.d81] +// CHECK:STDOUT: %.loc10_54: %EmptyRange.Make.type.059 = specific_constant imports.%Main.import_ref.a9e, @EmptyRange(constants.%Copy.facet.701) [concrete = constants.%EmptyRange.Make.787] +// CHECK:STDOUT: %Make.ref: %EmptyRange.Make.type.059 = name_ref Make, %.loc10_54 [concrete = constants.%EmptyRange.Make.787] +// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %Make.ref, @EmptyRange.Make(constants.%Copy.facet.701) [concrete = constants.%EmptyRange.Make.specific_fn] +// CHECK:STDOUT: %.loc10_60.1: ref %EmptyRange.d81 = temporary_storage +// CHECK:STDOUT: %EmptyRange.Make.call: init %EmptyRange.d81 to %.loc10_60.1 = call %EmptyRange.Make.specific_fn() +// CHECK:STDOUT: %.loc10_60.2: ref %EmptyRange.d81 = temporary %.loc10_60.1, %EmptyRange.Make.call +// CHECK:STDOUT: %impl.elem2: %.d54 = impl_witness_access constants.%Iterate.impl_witness.65f, element2 [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.49c] // CHECK:STDOUT: %bound_method.loc10_61.1: = bound_method %.loc10_60.2, %impl.elem2 -// CHECK:STDOUT: %specific_fn.loc10_61.1: = specific_function %impl.elem2, @EmptyRange.as.Iterate.impl.NewCursor(constants.%Copy.facet.ee8) [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.specific_fn] +// CHECK:STDOUT: %specific_fn.loc10_61.1: = specific_function %impl.elem2, @EmptyRange.as.Iterate.impl.NewCursor(constants.%Copy.facet.701) [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.specific_fn] // CHECK:STDOUT: %bound_method.loc10_61.2: = bound_method %.loc10_60.2, %specific_fn.loc10_61.1 -// CHECK:STDOUT: %.loc10_60.3: %EmptyRange.012 = acquire_value %.loc10_60.2 +// CHECK:STDOUT: %.loc10_60.3: %EmptyRange.d81 = acquire_value %.loc10_60.2 // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.call: init %empty_struct_type = call %bound_method.loc10_61.2(%.loc10_60.3) // CHECK:STDOUT: %var: ref %empty_struct_type = var_storage invalid // CHECK:STDOUT: assign %var, %EmptyRange.as.Iterate.impl.NewCursor.call @@ -610,33 +610,33 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr: %ptr.c28 = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.2a4 = impl_witness_access constants.%Iterate.impl_witness.8d0, element3 [concrete = constants.%EmptyRange.as.Iterate.impl.Next.df2] +// CHECK:STDOUT: %impl.elem3: %.a85 = impl_witness_access constants.%Iterate.impl_witness.65f, element3 [concrete = constants.%EmptyRange.as.Iterate.impl.Next.3fd] // CHECK:STDOUT: %bound_method.loc10_61.3: = bound_method %.loc10_60.2, %impl.elem3 -// CHECK:STDOUT: %specific_fn.loc10_61.2: = specific_function %impl.elem3, @EmptyRange.as.Iterate.impl.Next(constants.%Copy.facet.ee8) [concrete = constants.%EmptyRange.as.Iterate.impl.Next.specific_fn] +// CHECK:STDOUT: %specific_fn.loc10_61.2: = specific_function %impl.elem3, @EmptyRange.as.Iterate.impl.Next(constants.%Copy.facet.701) [concrete = constants.%EmptyRange.as.Iterate.impl.Next.specific_fn] // CHECK:STDOUT: %bound_method.loc10_61.4: = bound_method %.loc10_60.2, %specific_fn.loc10_61.2 -// CHECK:STDOUT: %.loc10_61.1: ref %Optional.8b2 = temporary_storage -// CHECK:STDOUT: %.loc10_60.4: %EmptyRange.012 = acquire_value %.loc10_60.2 -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.call: init %Optional.8b2 to %.loc10_61.1 = call %bound_method.loc10_61.4(%.loc10_60.4, %addr) -// CHECK:STDOUT: %.loc10_61.2: ref %Optional.8b2 = temporary %.loc10_61.1, %EmptyRange.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc10_61.3: %Optional.HasValue.type.462 = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet.ee8) [concrete = constants.%Optional.HasValue.c8b] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.462 = name_ref HasValue, %.loc10_61.3 [concrete = constants.%Optional.HasValue.c8b] +// CHECK:STDOUT: %.loc10_61.1: ref %Optional.4d1 = temporary_storage +// CHECK:STDOUT: %.loc10_60.4: %EmptyRange.d81 = acquire_value %.loc10_60.2 +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.call: init %Optional.4d1 to %.loc10_61.1 = call %bound_method.loc10_61.4(%.loc10_60.4, %addr) +// CHECK:STDOUT: %.loc10_61.2: ref %Optional.4d1 = temporary %.loc10_61.1, %EmptyRange.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc10_61.3: %Optional.HasValue.type.34e = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet.701) [concrete = constants.%Optional.HasValue.55e] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.34e = name_ref HasValue, %.loc10_61.3 [concrete = constants.%Optional.HasValue.55e] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc10_61.2, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%Copy.facet.ee8) [concrete = constants.%Optional.HasValue.specific_fn] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%Copy.facet.701) [concrete = constants.%Optional.HasValue.specific_fn] // CHECK:STDOUT: %bound_method.loc10_61.5: = bound_method %.loc10_61.2, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc10_61.4: %Optional.8b2 = acquire_value %.loc10_61.2 +// CHECK:STDOUT: %.loc10_61.4: %Optional.4d1 = acquire_value %.loc10_61.2 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc10_61.5(%.loc10_61.4) // CHECK:STDOUT: %.loc10_61.5: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc10_61.6: bool = converted %Optional.HasValue.call, %.loc10_61.5 // CHECK:STDOUT: if %.loc10_61.6 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc10_61.7: %Optional.Get.type.d91 = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet.ee8) [concrete = constants.%Optional.Get.7e9] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.d91 = name_ref Get, %.loc10_61.7 [concrete = constants.%Optional.Get.7e9] +// CHECK:STDOUT: %.loc10_61.7: %Optional.Get.type.b0a = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet.701) [concrete = constants.%Optional.Get.018] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.b0a = name_ref Get, %.loc10_61.7 [concrete = constants.%Optional.Get.018] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc10_61.2, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%Copy.facet.ee8) [concrete = constants.%Optional.Get.specific_fn] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%Copy.facet.701) [concrete = constants.%Optional.Get.specific_fn] // CHECK:STDOUT: %bound_method.loc10_61.6: = bound_method %.loc10_61.2, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc10_61.8: ref %tuple.type.784 = temporary_storage -// CHECK:STDOUT: %.loc10_61.9: %Optional.8b2 = acquire_value %.loc10_61.2 +// CHECK:STDOUT: %.loc10_61.9: %Optional.4d1 = acquire_value %.loc10_61.2 // CHECK:STDOUT: %Optional.Get.call: init %tuple.type.784 to %.loc10_61.8 = call %bound_method.loc10_61.6(%.loc10_61.9) // CHECK:STDOUT: %.loc10_61.10: ref %tuple.type.784 = temporary %.loc10_61.8, %Optional.Get.call // CHECK:STDOUT: %tuple.elem0: ref bool = tuple_access %.loc10_61.10, element0 @@ -679,14 +679,14 @@ fn Run() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_61.4(%self.param: ref %Optional.8b2) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_61.4(%self.param: ref %Optional.4d1) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @Destroy.Op.loc10_61.5(%self.param: ref %empty_struct_type) = "no_op"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_60(%self.param: ref %EmptyRange.012) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_60(%self.param: ref %EmptyRange.d81) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -717,14 +717,14 @@ fn Run() { // CHECK:STDOUT: %U: %Copy.type = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %tuple.type.as.Copy.impl.Op.type.3ed: type = fn_type @tuple.type.as.Copy.impl.Op.1, @tuple.type.as.Copy.impl.9bd(%T.f84, %U) [symbolic] // CHECK:STDOUT: %tuple.type.as.Copy.impl.Op.0f8: %tuple.type.as.Copy.impl.Op.type.3ed = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.2ff: = impl_witness imports.%Copy.impl_witness_table.506 [concrete] -// CHECK:STDOUT: %Copy.facet.3c3: %Copy.type = facet_value %C, (%Copy.impl_witness.2ff) [concrete] -// CHECK:STDOUT: %Copy.impl_witness.a7a: = impl_witness imports.%Copy.impl_witness_table.828, @tuple.type.as.Copy.impl.9bd(%Copy.facet.3c3, %Copy.facet.3c3) [concrete] -// CHECK:STDOUT: %Copy.facet.bb7: %Copy.type = facet_value %tuple.type.748, (%Copy.impl_witness.a7a) [concrete] -// CHECK:STDOUT: %EmptyRange.617: type = class_type @EmptyRange, @EmptyRange(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %EmptyRange.Make.type.14e: type = fn_type @EmptyRange.Make, @EmptyRange(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %EmptyRange.Make.4ae: %EmptyRange.Make.type.14e = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %EmptyRange.Make.4ae, @EmptyRange.Make(%Copy.facet.bb7) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.518: = impl_witness imports.%Copy.impl_witness_table.b4f [concrete] +// CHECK:STDOUT: %Copy.facet.e83: %Copy.type = facet_value %C, (%Copy.impl_witness.518) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5b5: = impl_witness imports.%Copy.impl_witness_table.e5a, @tuple.type.as.Copy.impl.9bd(%Copy.facet.e83, %Copy.facet.e83) [concrete] +// CHECK:STDOUT: %Copy.facet.38c: %Copy.type = facet_value %tuple.type.748, (%Copy.impl_witness.5b5) [concrete] +// CHECK:STDOUT: %EmptyRange.8d3: type = class_type @EmptyRange, @EmptyRange(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %EmptyRange.Make.type.96a: type = fn_type @EmptyRange.Make, @EmptyRange(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %EmptyRange.Make.24e: %EmptyRange.Make.type.96a = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %EmptyRange.Make.24e, @EmptyRange.Make(%Copy.facet.38c) [concrete] // CHECK:STDOUT: %Iterate.type: type = facet_type <@Iterate> [concrete] // CHECK:STDOUT: %Optional.Get.type.e1b: type = fn_type @Optional.Get, @Optional(%T.f84) [symbolic] // CHECK:STDOUT: %Optional.Get.20c: %Optional.Get.type.e1b = struct_value () [symbolic] @@ -734,26 +734,26 @@ fn Run() { // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.cdc: %EmptyRange.as.Iterate.impl.Next.type.c04 = struct_value () [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.561: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%T.f84) [symbolic] // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.31b: %EmptyRange.as.Iterate.impl.NewCursor.type.561 = struct_value () [symbolic] -// CHECK:STDOUT: %Iterate.impl_witness.6fb: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.34e: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.ea5: %EmptyRange.as.Iterate.impl.NewCursor.type.34e = struct_value () [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.8f5: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.8b1: %EmptyRange.as.Iterate.impl.Next.type.8f5 = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.617, (%Iterate.impl_witness.6fb) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.921: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.cb7: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] -// CHECK:STDOUT: %.d45: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.921, %Iterate.facet [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.ea5, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %.116: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.cb7, %Iterate.facet [concrete] -// CHECK:STDOUT: %Optional.8e2: type = class_type @Optional, @Optional(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.Next.8b1, @EmptyRange.as.Iterate.impl.Next(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %Optional.HasValue.type.472: type = fn_type @Optional.HasValue, @Optional(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %Optional.HasValue.563: %Optional.HasValue.type.472 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.a18: type = fn_type @Optional.Get, @Optional(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %Optional.Get.d38: %Optional.Get.type.a18 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.28e: = impl_witness imports.%Iterate.impl_witness_table, @EmptyRange.as.Iterate.impl(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.type.b49: type = fn_type @EmptyRange.as.Iterate.impl.NewCursor, @EmptyRange.as.Iterate.impl(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.b24: %EmptyRange.as.Iterate.impl.NewCursor.type.b49 = struct_value () [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.type.af7: type = fn_type @EmptyRange.as.Iterate.impl.Next, @EmptyRange.as.Iterate.impl(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.e7f: %EmptyRange.as.Iterate.impl.Next.type.af7 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.facet: %Iterate.type = facet_value %EmptyRange.8d3, (%Iterate.impl_witness.28e) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.59a: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.bd6: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet) [concrete] +// CHECK:STDOUT: %.522: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.59a, %Iterate.facet [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.NewCursor.b24, @EmptyRange.as.Iterate.impl.NewCursor(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %.f09: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.bd6, %Iterate.facet [concrete] +// CHECK:STDOUT: %Optional.992: type = class_type @Optional, @Optional(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.specific_fn: = specific_function %EmptyRange.as.Iterate.impl.Next.e7f, @EmptyRange.as.Iterate.impl.Next(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.e1b: type = fn_type @Optional.HasValue, @Optional(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %Optional.HasValue.b06: %Optional.HasValue.type.e1b = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.4b3: type = fn_type @Optional.Get, @Optional(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %Optional.Get.091: %Optional.Get.type.4b3 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.has_value.value.9b1: type = struct_type {.has_value: bool, .value: %tuple.type.748} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.563, @Optional.HasValue(%Copy.facet.bb7) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.d38, @Optional.Get(%Copy.facet.bb7) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.b06, @Optional.HasValue(%Copy.facet.38c) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.091, @Optional.Get(%Copy.facet.38c) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.1: type = fn_type @Destroy.Op.loc10_49.1 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.1: %Destroy.Op.type.1d8f74.1 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc10_49.3 [concrete] @@ -771,9 +771,9 @@ fn Run() { // CHECK:STDOUT: %Main.C: type = import_ref Main//empty_range, C, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.a9e: @EmptyRange.%EmptyRange.Make.type (%EmptyRange.Make.type.140) = import_ref Main//empty_range, loc5_21, loaded [symbolic = @EmptyRange.%EmptyRange.Make (constants.%EmptyRange.Make.0de)] // CHECK:STDOUT: %Core.import_ref.44a: @tuple.type.as.Copy.impl.9bd.%tuple.type.as.Copy.impl.Op.type (%tuple.type.as.Copy.impl.Op.type.3ed) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @tuple.type.as.Copy.impl.9bd.%tuple.type.as.Copy.impl.Op (constants.%tuple.type.as.Copy.impl.Op.0f8)] -// CHECK:STDOUT: %Copy.impl_witness_table.828 = impl_witness_table (%Core.import_ref.44a), @tuple.type.as.Copy.impl.9bd [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.e5a = impl_witness_table (%Core.import_ref.44a), @tuple.type.as.Copy.impl.9bd [concrete] // CHECK:STDOUT: %Main.import_ref.341: %C.as.Copy.impl.Op.type = import_ref Main//empty_range, loc19_32, loaded [concrete = constants.%C.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.506 = impl_witness_table (%Main.import_ref.341), @C.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.b4f = impl_witness_table (%Main.import_ref.341), @C.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.1db: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.224) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.c4f)] // CHECK:STDOUT: %Core.import_ref.73b: @Optional.%Optional.Get.type (%Optional.Get.type.e1b) = import_ref Core//prelude/parts/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.20c)] // CHECK:STDOUT: %Main.import_ref.71a = import_ref Main//empty_range, loc7_68, unloaded @@ -794,20 +794,20 @@ fn Run() { // CHECK:STDOUT: %C.ref.loc10_36: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %C.ref.loc10_39: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %.loc10_40: %tuple.type.24b = tuple_literal (%C.ref.loc10_36, %C.ref.loc10_39) [concrete = constants.%tuple.d95] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value constants.%tuple.type.748, (constants.%Copy.impl_witness.a7a) [concrete = constants.%Copy.facet.bb7] -// CHECK:STDOUT: %.loc10_41: %Copy.type = converted %.loc10_40, %Copy.facet [concrete = constants.%Copy.facet.bb7] -// CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet.bb7) [concrete = constants.%EmptyRange.617] -// CHECK:STDOUT: %.loc10_42: %EmptyRange.Make.type.14e = specific_constant imports.%Main.import_ref.a9e, @EmptyRange(constants.%Copy.facet.bb7) [concrete = constants.%EmptyRange.Make.4ae] -// CHECK:STDOUT: %Make.ref: %EmptyRange.Make.type.14e = name_ref Make, %.loc10_42 [concrete = constants.%EmptyRange.Make.4ae] -// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %Make.ref, @EmptyRange.Make(constants.%Copy.facet.bb7) [concrete = constants.%EmptyRange.Make.specific_fn] -// CHECK:STDOUT: %.loc10_48.1: ref %EmptyRange.617 = temporary_storage -// CHECK:STDOUT: %EmptyRange.Make.call: init %EmptyRange.617 to %.loc10_48.1 = call %EmptyRange.Make.specific_fn() -// CHECK:STDOUT: %.loc10_48.2: ref %EmptyRange.617 = temporary %.loc10_48.1, %EmptyRange.Make.call -// CHECK:STDOUT: %impl.elem2: %.d45 = impl_witness_access constants.%Iterate.impl_witness.6fb, element2 [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.ea5] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value constants.%tuple.type.748, (constants.%Copy.impl_witness.5b5) [concrete = constants.%Copy.facet.38c] +// CHECK:STDOUT: %.loc10_41: %Copy.type = converted %.loc10_40, %Copy.facet [concrete = constants.%Copy.facet.38c] +// CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet.38c) [concrete = constants.%EmptyRange.8d3] +// CHECK:STDOUT: %.loc10_42: %EmptyRange.Make.type.96a = specific_constant imports.%Main.import_ref.a9e, @EmptyRange(constants.%Copy.facet.38c) [concrete = constants.%EmptyRange.Make.24e] +// CHECK:STDOUT: %Make.ref: %EmptyRange.Make.type.96a = name_ref Make, %.loc10_42 [concrete = constants.%EmptyRange.Make.24e] +// CHECK:STDOUT: %EmptyRange.Make.specific_fn: = specific_function %Make.ref, @EmptyRange.Make(constants.%Copy.facet.38c) [concrete = constants.%EmptyRange.Make.specific_fn] +// CHECK:STDOUT: %.loc10_48.1: ref %EmptyRange.8d3 = temporary_storage +// CHECK:STDOUT: %EmptyRange.Make.call: init %EmptyRange.8d3 to %.loc10_48.1 = call %EmptyRange.Make.specific_fn() +// CHECK:STDOUT: %.loc10_48.2: ref %EmptyRange.8d3 = temporary %.loc10_48.1, %EmptyRange.Make.call +// CHECK:STDOUT: %impl.elem2: %.522 = impl_witness_access constants.%Iterate.impl_witness.28e, element2 [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.b24] // CHECK:STDOUT: %bound_method.loc10_49.1: = bound_method %.loc10_48.2, %impl.elem2 -// CHECK:STDOUT: %specific_fn.loc10_49.1: = specific_function %impl.elem2, @EmptyRange.as.Iterate.impl.NewCursor(constants.%Copy.facet.bb7) [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.specific_fn] +// CHECK:STDOUT: %specific_fn.loc10_49.1: = specific_function %impl.elem2, @EmptyRange.as.Iterate.impl.NewCursor(constants.%Copy.facet.38c) [concrete = constants.%EmptyRange.as.Iterate.impl.NewCursor.specific_fn] // CHECK:STDOUT: %bound_method.loc10_49.2: = bound_method %.loc10_48.2, %specific_fn.loc10_49.1 -// CHECK:STDOUT: %.loc10_48.3: %EmptyRange.617 = acquire_value %.loc10_48.2 +// CHECK:STDOUT: %.loc10_48.3: %EmptyRange.8d3 = acquire_value %.loc10_48.2 // CHECK:STDOUT: %EmptyRange.as.Iterate.impl.NewCursor.call: init %empty_struct_type = call %bound_method.loc10_49.2(%.loc10_48.3) // CHECK:STDOUT: %var: ref %empty_struct_type = var_storage invalid // CHECK:STDOUT: assign %var, %EmptyRange.as.Iterate.impl.NewCursor.call @@ -815,33 +815,33 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr: %ptr.c28 = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.116 = impl_witness_access constants.%Iterate.impl_witness.6fb, element3 [concrete = constants.%EmptyRange.as.Iterate.impl.Next.8b1] +// CHECK:STDOUT: %impl.elem3: %.f09 = impl_witness_access constants.%Iterate.impl_witness.28e, element3 [concrete = constants.%EmptyRange.as.Iterate.impl.Next.e7f] // CHECK:STDOUT: %bound_method.loc10_49.3: = bound_method %.loc10_48.2, %impl.elem3 -// CHECK:STDOUT: %specific_fn.loc10_49.2: = specific_function %impl.elem3, @EmptyRange.as.Iterate.impl.Next(constants.%Copy.facet.bb7) [concrete = constants.%EmptyRange.as.Iterate.impl.Next.specific_fn] +// CHECK:STDOUT: %specific_fn.loc10_49.2: = specific_function %impl.elem3, @EmptyRange.as.Iterate.impl.Next(constants.%Copy.facet.38c) [concrete = constants.%EmptyRange.as.Iterate.impl.Next.specific_fn] // CHECK:STDOUT: %bound_method.loc10_49.4: = bound_method %.loc10_48.2, %specific_fn.loc10_49.2 -// CHECK:STDOUT: %.loc10_49.1: ref %Optional.8e2 = temporary_storage -// CHECK:STDOUT: %.loc10_48.4: %EmptyRange.617 = acquire_value %.loc10_48.2 -// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.call: init %Optional.8e2 to %.loc10_49.1 = call %bound_method.loc10_49.4(%.loc10_48.4, %addr) -// CHECK:STDOUT: %.loc10_49.2: ref %Optional.8e2 = temporary %.loc10_49.1, %EmptyRange.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc10_49.3: %Optional.HasValue.type.472 = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet.bb7) [concrete = constants.%Optional.HasValue.563] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.472 = name_ref HasValue, %.loc10_49.3 [concrete = constants.%Optional.HasValue.563] +// CHECK:STDOUT: %.loc10_49.1: ref %Optional.992 = temporary_storage +// CHECK:STDOUT: %.loc10_48.4: %EmptyRange.8d3 = acquire_value %.loc10_48.2 +// CHECK:STDOUT: %EmptyRange.as.Iterate.impl.Next.call: init %Optional.992 to %.loc10_49.1 = call %bound_method.loc10_49.4(%.loc10_48.4, %addr) +// CHECK:STDOUT: %.loc10_49.2: ref %Optional.992 = temporary %.loc10_49.1, %EmptyRange.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc10_49.3: %Optional.HasValue.type.e1b = specific_constant imports.%Core.import_ref.1db, @Optional(constants.%Copy.facet.38c) [concrete = constants.%Optional.HasValue.b06] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.e1b = name_ref HasValue, %.loc10_49.3 [concrete = constants.%Optional.HasValue.b06] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc10_49.2, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%Copy.facet.bb7) [concrete = constants.%Optional.HasValue.specific_fn] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%Copy.facet.38c) [concrete = constants.%Optional.HasValue.specific_fn] // CHECK:STDOUT: %bound_method.loc10_49.5: = bound_method %.loc10_49.2, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc10_49.4: %Optional.8e2 = acquire_value %.loc10_49.2 +// CHECK:STDOUT: %.loc10_49.4: %Optional.992 = acquire_value %.loc10_49.2 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc10_49.5(%.loc10_49.4) // CHECK:STDOUT: %.loc10_49.5: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc10_49.6: bool = converted %Optional.HasValue.call, %.loc10_49.5 // CHECK:STDOUT: if %.loc10_49.6 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc10_49.7: %Optional.Get.type.a18 = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet.bb7) [concrete = constants.%Optional.Get.d38] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.a18 = name_ref Get, %.loc10_49.7 [concrete = constants.%Optional.Get.d38] +// CHECK:STDOUT: %.loc10_49.7: %Optional.Get.type.4b3 = specific_constant imports.%Core.import_ref.73b, @Optional(constants.%Copy.facet.38c) [concrete = constants.%Optional.Get.091] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.4b3 = name_ref Get, %.loc10_49.7 [concrete = constants.%Optional.Get.091] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc10_49.2, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%Copy.facet.bb7) [concrete = constants.%Optional.Get.specific_fn] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%Copy.facet.38c) [concrete = constants.%Optional.Get.specific_fn] // CHECK:STDOUT: %bound_method.loc10_49.6: = bound_method %.loc10_49.2, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc10_49.8: ref %tuple.type.748 = temporary_storage -// CHECK:STDOUT: %.loc10_49.9: %Optional.8e2 = acquire_value %.loc10_49.2 +// CHECK:STDOUT: %.loc10_49.9: %Optional.992 = acquire_value %.loc10_49.2 // CHECK:STDOUT: %Optional.Get.call: init %tuple.type.748 to %.loc10_49.8 = call %bound_method.loc10_49.6(%.loc10_49.9) // CHECK:STDOUT: %.loc10_49.10: ref %tuple.type.748 = temporary %.loc10_49.8, %Optional.Get.call // CHECK:STDOUT: %tuple.elem0: ref %C = tuple_access %.loc10_49.10, element0 @@ -891,12 +891,12 @@ fn Run() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_49.6(%self.param: ref %Optional.8e2) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_49.6(%self.param: ref %Optional.992) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_48(%self.param: ref %EmptyRange.617) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_48(%self.param: ref %EmptyRange.8d3) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/call.carbon b/toolchain/check/testdata/function/builtin/call.carbon index 2c746a231f9f..6f73ca798fa2 100644 --- a/toolchain/check/testdata/function/builtin/call.carbon +++ b/toolchain/check/testdata/function/builtin/call.carbon @@ -49,12 +49,12 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -63,12 +63,12 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %bound_method.3cb: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.295: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %int_3.410: %i32 = int_value 3 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.657: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.657) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet.657 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8de: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.8de) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet.8de [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.410, %Int.as.ImplicitAs.impl.Convert.69e [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.545: = bound_method %int_3.410, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -81,10 +81,10 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e6f: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%array_type) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.8fb: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%array_type) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.f29: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%array_type) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.2c9: %T.as.DefaultOrUnformed.impl.Op.type.f29 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %array_type, (%DefaultOrUnformed.impl_witness.e6f) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %array_type, (%DefaultOrUnformed.impl_witness.8fb) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.2c9, @T.as.DefaultOrUnformed.impl.Op(%array_type) [concrete] // CHECK:STDOUT: %RuntimeCall.type: type = fn_type @RuntimeCall [concrete] // CHECK:STDOUT: %RuntimeCall: %RuntimeCall.type = struct_value () [concrete] @@ -101,12 +101,12 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -142,14 +142,14 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %Add.ref: %Add.type = name_ref Add, %Add.decl [concrete = constants.%Add] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc17_25: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc17_25: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_25.1: = bound_method %int_1, %impl.elem0.loc17_25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc17_25: = specific_function %impl.elem0.loc17_25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_25.2: = bound_method %int_1, %specific_fn.loc17_25 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17_25: init %i32 = call %bound_method.loc17_25.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc17_25.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17_25 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc17_25.2: %i32 = converted %int_1, %.loc17_25.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc17_28: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc17_28: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_28.1: = bound_method %int_2, %impl.elem0.loc17_28 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc17_28: = specific_function %impl.elem0.loc17_28, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_28.2: = bound_method %int_2, %specific_fn.loc17_28 [concrete = constants.%bound_method.3cb] @@ -157,7 +157,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %.loc17_28.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17_28 [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc17_28.2: %i32 = converted %int_2, %.loc17_28.1 [concrete = constants.%int_2.295] // CHECK:STDOUT: %Add.call: init %i32 = call %Add.ref(%.loc17_25.2, %.loc17_28.2) [concrete = constants.%int_3.410] -// CHECK:STDOUT: %impl.elem0.loc17_29: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0.loc17_29: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc17_29.1: = bound_method %Add.call, %impl.elem0.loc17_29 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc17_29: = specific_function %impl.elem0.loc17_29, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_29.2: = bound_method %Add.call, %specific_fn.loc17_29 [concrete = constants.%bound_method.545] @@ -207,7 +207,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%array_type, (constants.%DefaultOrUnformed.impl_witness.e6f) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%array_type, (constants.%DefaultOrUnformed.impl_witness.8fb) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc17_31.1: %DefaultOrUnformed.type = converted constants.%array_type, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc17_31.1 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc17_31.2: type = converted %.loc17_31.1, %as_type [concrete = constants.%array_type] diff --git a/toolchain/check/testdata/function/builtin/call_from_operator.carbon b/toolchain/check/testdata/function/builtin/call_from_operator.carbon index d8b67e96ba9e..8f319aea5526 100644 --- a/toolchain/check/testdata/function/builtin/call_from_operator.carbon +++ b/toolchain/check/testdata/function/builtin/call_from_operator.carbon @@ -139,8 +139,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op.type: type = fn_type @i32.builtin.as.AddWith.impl.Op [concrete] // CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op: %i32.builtin.as.AddWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %AddWith.facet: %AddWith.type.7c6 = facet_value %i32.builtin, (%AddWith.impl_witness) [concrete] -// CHECK:STDOUT: %AddWith.WithSelf.Op.type.2dc: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%i32.builtin, %AddWith.facet) [concrete] -// CHECK:STDOUT: %AddWith.WithSelf.Op.921: %AddWith.WithSelf.Op.type.2dc = struct_value () [concrete] +// CHECK:STDOUT: %AddWith.WithSelf.Op.type.5c5: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%i32.builtin, %AddWith.facet) [concrete] +// CHECK:STDOUT: %AddWith.WithSelf.Op.2a7: %AddWith.WithSelf.Op.type.5c5 = struct_value () [concrete] // CHECK:STDOUT: %As.type.dfb: type = facet_type <@As, @As(%i32.builtin)> [concrete] // CHECK:STDOUT: %.559: = impl_self_witness Core.IntLiteral, @As, @As(%i32.builtin) [concrete] // CHECK:STDOUT: %As.impl_witness: = impl_witness @Core.IntLiteral.as.As.impl.%As.impl_witness_table [concrete] @@ -154,11 +154,11 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %As.facet: %As.type.dfb = facet_value Core.IntLiteral, (%As.impl_witness) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.e08: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32.builtin, %As.facet) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.5a5: %As.WithSelf.Convert.type.e08 = struct_value () [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.f44: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32.builtin, %As.facet) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.1b6: %As.WithSelf.Convert.type.f44 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.9df: type = facet_type <@ImplicitAs, @ImplicitAs(%i32.builtin)> [concrete] // CHECK:STDOUT: %.e10: = impl_self_witness Core.IntLiteral, @ImplicitAs, @ImplicitAs(%i32.builtin) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.300: = impl_witness @Core.IntLiteral.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.aea: = impl_witness @Core.IntLiteral.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %Self.19a: %ImplicitAs.type.9df = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.247: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32.builtin, %Self.bb1) [symbolic] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.e9a: %ImplicitAs.WithSelf.Convert.type.247 = struct_value () [symbolic] @@ -166,12 +166,12 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.0d1: %ImplicitAs.assoc_type.081 = assoc_entity element0, @ImplicitAs.WithSelf.%ImplicitAs.WithSelf.Convert.decl [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.18f: %ImplicitAs.type.9df = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.300) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.20b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32.builtin, %ImplicitAs.facet.18f) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.b9f: %ImplicitAs.WithSelf.Convert.type.20b = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.cb9: %ImplicitAs.type.9df = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.aea) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.be8: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32.builtin, %ImplicitAs.facet.cb9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.d1d: %ImplicitAs.WithSelf.Convert.type.be8 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %.328: = impl_self_witness %i32.builtin, @ImplicitAs, @ImplicitAs(Core.IntLiteral) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.9d7: = impl_witness @i32.builtin.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.fe8: = impl_witness @i32.builtin.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %Self.c40: %ImplicitAs.type.7cb = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.46f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %Self.bb1) [symbolic] // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.a78: %ImplicitAs.WithSelf.Convert.type.46f = struct_value () [symbolic] @@ -182,9 +182,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return.patt.cd4: %pattern_type.dc0 = return_slot_pattern %return.param_patt.eab, Core.IntLiteral [concrete] // CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.builtin.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert: %i32.builtin.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.776: %ImplicitAs.type.7cb = facet_value %i32.builtin, (%ImplicitAs.impl_witness.9d7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc2: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.776) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.c73: %ImplicitAs.WithSelf.Convert.type.dc2 = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.1c1: %ImplicitAs.type.7cb = facet_value %i32.builtin, (%ImplicitAs.impl_witness.fe8) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a32: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.1c1) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.70a: %ImplicitAs.WithSelf.Convert.type.a32 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -497,7 +497,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return: ref %i32.builtin = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%Core.IntLiteral.as.ImplicitAs.impl.Convert.decl), @Core.IntLiteral.as.ImplicitAs.impl [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.300] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.aea] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Convert = %Core.IntLiteral.as.ImplicitAs.impl.Convert.decl @@ -521,7 +521,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return: ref Core.IntLiteral = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%i32.builtin.as.ImplicitAs.impl.Convert.decl), @i32.builtin.as.ImplicitAs.impl [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.9d7] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.fe8] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .IntLiteral = @@ -680,8 +680,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %AddWith.type => constants.%AddWith.type.7c6 // CHECK:STDOUT: %Self => constants.%AddWith.facet -// CHECK:STDOUT: %AddWith.WithSelf.Op.type => constants.%AddWith.WithSelf.Op.type.2dc -// CHECK:STDOUT: %AddWith.WithSelf.Op => constants.%AddWith.WithSelf.Op.921 +// CHECK:STDOUT: %AddWith.WithSelf.Op.type => constants.%AddWith.WithSelf.Op.type.5c5 +// CHECK:STDOUT: %AddWith.WithSelf.Op => constants.%AddWith.WithSelf.Op.2a7 // CHECK:STDOUT: %AddWith.assoc_type => constants.%AddWith.assoc_type.439 // CHECK:STDOUT: %assoc0.loc9_35.2 => constants.%assoc0.7f8 // CHECK:STDOUT: } @@ -726,8 +726,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %As.type => constants.%As.type.dfb // CHECK:STDOUT: %Self => constants.%As.facet -// CHECK:STDOUT: %As.WithSelf.Convert.type => constants.%As.WithSelf.Convert.type.e08 -// CHECK:STDOUT: %As.WithSelf.Convert => constants.%As.WithSelf.Convert.5a5 +// CHECK:STDOUT: %As.WithSelf.Convert.type => constants.%As.WithSelf.Convert.type.f44 +// CHECK:STDOUT: %As.WithSelf.Convert => constants.%As.WithSelf.Convert.1b6 // CHECK:STDOUT: %As.assoc_type => constants.%As.assoc_type.7f2 // CHECK:STDOUT: %assoc0.loc13_24.2 => constants.%assoc0.402 // CHECK:STDOUT: } @@ -766,21 +766,21 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.loc17_24.2 => constants.%assoc0.0d1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @ImplicitAs.WithSelf(constants.%i32.builtin, constants.%ImplicitAs.facet.18f) { +// CHECK:STDOUT: specific @ImplicitAs.WithSelf(constants.%i32.builtin, constants.%ImplicitAs.facet.cb9) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.9df -// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.18f -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.20b -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.b9f +// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.cb9 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.be8 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.d1d // CHECK:STDOUT: %ImplicitAs.assoc_type => constants.%ImplicitAs.assoc_type.081 // CHECK:STDOUT: %assoc0.loc17_24.2 => constants.%assoc0.0d1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @ImplicitAs.WithSelf.Convert(constants.%i32.builtin, constants.%ImplicitAs.facet.18f) { +// CHECK:STDOUT: specific @ImplicitAs.WithSelf.Convert(constants.%i32.builtin, constants.%ImplicitAs.facet.cb9) { // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.9df -// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.18f +// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.cb9 // CHECK:STDOUT: %Self.as_type.loc17_14.1 => Core.IntLiteral // CHECK:STDOUT: %pattern_type.loc17_14 => constants.%pattern_type.dc0 // CHECK:STDOUT: %self.param_patt.loc17_14.2 => constants.%self.param_patt.1ca @@ -811,21 +811,21 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.loc17_24.2 => constants.%assoc0.a37 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @ImplicitAs.WithSelf(Core.IntLiteral, constants.%ImplicitAs.facet.776) { +// CHECK:STDOUT: specific @ImplicitAs.WithSelf(Core.IntLiteral, constants.%ImplicitAs.facet.1c1) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => Core.IntLiteral // CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.7cb -// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.776 -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.dc2 -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.c73 +// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.1c1 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.a32 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.70a // CHECK:STDOUT: %ImplicitAs.assoc_type => constants.%ImplicitAs.assoc_type.e73 // CHECK:STDOUT: %assoc0.loc17_24.2 => constants.%assoc0.a37 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @ImplicitAs.WithSelf.Convert(Core.IntLiteral, constants.%ImplicitAs.facet.776) { +// CHECK:STDOUT: specific @ImplicitAs.WithSelf.Convert(Core.IntLiteral, constants.%ImplicitAs.facet.1c1) { // CHECK:STDOUT: %T => Core.IntLiteral // CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.7cb -// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.776 +// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.1c1 // CHECK:STDOUT: %Self.as_type.loc17_14.1 => constants.%i32.builtin // CHECK:STDOUT: %pattern_type.loc17_14 => constants.%pattern_type.956 // CHECK:STDOUT: %self.param_patt.loc17_14.2 => constants.%self.param_patt.936 @@ -871,9 +871,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.4ec: %As.assoc_type.b40 = assoc_entity element0, imports.%Core.import_ref.47a [symbolic] // CHECK:STDOUT: %As.impl_witness: = impl_witness imports.%As.impl_witness_table [concrete] // CHECK:STDOUT: %As.facet: %As.type.dfb = facet_value Core.IntLiteral, (%As.impl_witness) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.dbd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32.builtin, %As.facet) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.82a: %As.WithSelf.Convert.type.dbd = struct_value () [concrete] -// CHECK:STDOUT: %.161: type = fn_type_with_self_type %As.WithSelf.Convert.type.dbd, %As.facet [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.414: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32.builtin, %As.facet) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.ae6: %As.WithSelf.Convert.type.414 = struct_value () [concrete] +// CHECK:STDOUT: %.d50: type = fn_type_with_self_type %As.WithSelf.Convert.type.414, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert [concrete] @@ -906,9 +906,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.912: %AddWith.assoc_type.588 = assoc_entity element0, imports.%Core.import_ref.976 [symbolic] // CHECK:STDOUT: %AddWith.impl_witness: = impl_witness imports.%AddWith.impl_witness_table [concrete] // CHECK:STDOUT: %AddWith.facet: %AddWith.type.7c6 = facet_value %i32.builtin, (%AddWith.impl_witness) [concrete] -// CHECK:STDOUT: %AddWith.WithSelf.Op.type.43a: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%i32.builtin, %AddWith.facet) [concrete] -// CHECK:STDOUT: %AddWith.WithSelf.Op.128: %AddWith.WithSelf.Op.type.43a = struct_value () [concrete] -// CHECK:STDOUT: %.e4a: type = fn_type_with_self_type %AddWith.WithSelf.Op.type.43a, %AddWith.facet [concrete] +// CHECK:STDOUT: %AddWith.WithSelf.Op.type.4b4: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%i32.builtin, %AddWith.facet) [concrete] +// CHECK:STDOUT: %AddWith.WithSelf.Op.d02: %AddWith.WithSelf.Op.type.4b4 = struct_value () [concrete] +// CHECK:STDOUT: %.125: type = fn_type_with_self_type %AddWith.WithSelf.Op.type.4b4, %AddWith.facet [concrete] // CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op.type: type = fn_type @i32.builtin.as.AddWith.impl.Op [concrete] // CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op: %i32.builtin.as.AddWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op.bound.351: = bound_method %int_1.f38, %i32.builtin.as.AddWith.impl.Op [concrete] @@ -933,11 +933,11 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0.0ac9: %ImplicitAs.assoc_type.fcc = assoc_entity element0, imports.%Core.import_ref.f9d [symbolic] // CHECK:STDOUT: %ImplicitAs.type.9df: type = facet_type <@ImplicitAs, @ImplicitAs(%i32.builtin)> [concrete] // CHECK:STDOUT: %Self.a70: %ImplicitAs.type.9df = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.750: = impl_witness imports.%ImplicitAs.impl_witness_table.5cf [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.a82: %ImplicitAs.type.7cb = facet_value %i32.builtin, (%ImplicitAs.impl_witness.750) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7af: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.a82) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.a32: %ImplicitAs.WithSelf.Convert.type.7af = struct_value () [concrete] -// CHECK:STDOUT: %.5b0: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7af, %ImplicitAs.facet.a82 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.b0f: = impl_witness imports.%ImplicitAs.impl_witness_table.c60 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.3c8: %ImplicitAs.type.7cb = facet_value %i32.builtin, (%ImplicitAs.impl_witness.b0f) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.369: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.3c8) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.9c5: %ImplicitAs.WithSelf.Convert.type.369 = struct_value () [concrete] +// CHECK:STDOUT: %.60f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.369, %ImplicitAs.facet.3c8 [concrete] // CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.builtin.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert: %i32.builtin.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.a0f, %i32.builtin.as.ImplicitAs.impl.Convert [concrete] @@ -959,11 +959,11 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.78c: %ImplicitAs.WithSelf.Convert.type.51c = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.assoc_type.081: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%i32.builtin) [concrete] // CHECK:STDOUT: %assoc0.da6: %ImplicitAs.assoc_type.081 = assoc_entity element0, imports.%Core.import_ref.cb2 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.da4: = impl_witness imports.%ImplicitAs.impl_witness_table.dfd [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9b9: %ImplicitAs.type.9df = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.da4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4fb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32.builtin, %ImplicitAs.facet.9b9) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.838: %ImplicitAs.WithSelf.Convert.type.4fb = struct_value () [concrete] -// CHECK:STDOUT: %.b73: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4fb, %ImplicitAs.facet.9b9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.133: = impl_witness imports.%ImplicitAs.impl_witness_table.dc9 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.3d8: %ImplicitAs.type.9df = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.133) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.796: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32.builtin, %ImplicitAs.facet.3d8) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.75d: %ImplicitAs.WithSelf.Convert.type.796 = struct_value () [concrete] +// CHECK:STDOUT: %.005: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.796, %ImplicitAs.facet.3d8 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.94b: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -989,7 +989,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Core.import_ref.3f4 = import_ref Core//default, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.b3bc94.3: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [symbolic = @As.%T (constants.%T)] // CHECK:STDOUT: %Core.import_ref.47a = import_ref Core//default, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %Core.import_ref.ed7: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%As.impl_witness] +// CHECK:STDOUT: %Core.import_ref.8b0: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%As.impl_witness] // CHECK:STDOUT: %Core.import_ref.2dc10a.1: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = Core.IntLiteral] // CHECK:STDOUT: %Core.import_ref.908: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%As.type.dfb] // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] @@ -1003,7 +1003,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Core.import_ref.763 = import_ref Core//default, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.b3bc94.6: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [symbolic = @AddWith.%T (constants.%T)] // CHECK:STDOUT: %Core.import_ref.976 = import_ref Core//default, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %Core.import_ref.37d: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%AddWith.impl_witness] +// CHECK:STDOUT: %Core.import_ref.1df: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%AddWith.impl_witness] // CHECK:STDOUT: %Core.import_ref.63cbb1.2: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin] // CHECK:STDOUT: %Core.import_ref.4ee: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%AddWith.type.7c6] // CHECK:STDOUT: %Core.import_ref.9c3: %i32.builtin.as.AddWith.impl.Op.type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin.as.AddWith.impl.Op] @@ -1017,16 +1017,16 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Core.import_ref.8c8 = import_ref Core//default, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.b3bc94.9: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [symbolic = @ImplicitAs.%T (constants.%T)] // CHECK:STDOUT: %Core.import_ref.f9d = import_ref Core//default, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %Core.import_ref.eab: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%ImplicitAs.impl_witness.da4] +// CHECK:STDOUT: %Core.import_ref.157: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%ImplicitAs.impl_witness.133] // CHECK:STDOUT: %Core.import_ref.2dc10a.2: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = Core.IntLiteral] // CHECK:STDOUT: %Core.import_ref.7e0: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%ImplicitAs.type.9df] -// CHECK:STDOUT: %Core.import_ref.f49: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%ImplicitAs.impl_witness.750] +// CHECK:STDOUT: %Core.import_ref.0d8: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%ImplicitAs.impl_witness.b0f] // CHECK:STDOUT: %Core.import_ref.63cbb1.3: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin] // CHECK:STDOUT: %Core.import_ref.017: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%ImplicitAs.type.7cb] // CHECK:STDOUT: %Core.import_ref.06c923.2: %i32.builtin.as.ImplicitAs.impl.Convert.type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5cf = impl_witness_table (%Core.import_ref.06c923.2), @i32.builtin.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.c60 = impl_witness_table (%Core.import_ref.06c923.2), @i32.builtin.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.3: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.dfd = impl_witness_table (%Core.import_ref.06c923.3), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.dc9 = impl_witness_table (%Core.import_ref.06c923.3), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1040,22 +1040,22 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc4_16: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc4_27: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %impl.elem0.loc4_24: %.161 = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc4_24: %.d50 = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_24: = bound_method %int_1, %impl.elem0.loc4_24 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc4_24: init %i32.builtin = call %bound_method.loc4_24(%int_1) [concrete = constants.%int_1.f38] // CHECK:STDOUT: %.loc4_24.1: %i32.builtin = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc4_24 [concrete = constants.%int_1.f38] // CHECK:STDOUT: %.loc4_24.2: %i32.builtin = converted %int_1, %.loc4_24.1 [concrete = constants.%int_1.f38] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc4_40: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %impl.elem0.loc4_37: %.161 = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc4_37: %.d50 = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_37: = bound_method %int_2, %impl.elem0.loc4_37 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.959] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc4_37: init %i32.builtin = call %bound_method.loc4_37(%int_2) [concrete = constants.%int_2.5a1] // CHECK:STDOUT: %.loc4_37.1: %i32.builtin = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc4_37 [concrete = constants.%int_2.5a1] // CHECK:STDOUT: %.loc4_37.2: %i32.builtin = converted %int_2, %.loc4_37.1 [concrete = constants.%int_2.5a1] -// CHECK:STDOUT: %impl.elem0.loc4_32.1: %.e4a = impl_witness_access constants.%AddWith.impl_witness, element0 [concrete = constants.%i32.builtin.as.AddWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc4_32.1: %.125 = impl_witness_access constants.%AddWith.impl_witness, element0 [concrete = constants.%i32.builtin.as.AddWith.impl.Op] // CHECK:STDOUT: %bound_method.loc4_32.1: = bound_method %.loc4_24.2, %impl.elem0.loc4_32.1 [concrete = constants.%i32.builtin.as.AddWith.impl.Op.bound.351] // CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op.call: init %i32.builtin = call %bound_method.loc4_32.1(%.loc4_24.2, %.loc4_37.2) [concrete = constants.%int_3.a0f] -// CHECK:STDOUT: %impl.elem0.loc4_32.2: %.5b0 = impl_witness_access constants.%ImplicitAs.impl_witness.750, element0 [concrete = constants.%i32.builtin.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc4_32.2: %.60f = impl_witness_access constants.%ImplicitAs.impl_witness.b0f, element0 [concrete = constants.%i32.builtin.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_32.2: = bound_method %i32.builtin.as.AddWith.impl.Op.call, %impl.elem0.loc4_32.2 [concrete = constants.%i32.builtin.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %.loc4_32.1: %i32.builtin = value_of_initializer %i32.builtin.as.AddWith.impl.Op.call [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %.loc4_32.2: %i32.builtin = converted %i32.builtin.as.AddWith.impl.Op.call, %.loc4_32.1 [concrete = constants.%int_3.a0f] @@ -1127,22 +1127,22 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: // CHECK:STDOUT: impl @Core.IntLiteral.as.As.impl: imports.%Core.import_ref.2dc10a.1 as imports.%Core.import_ref.908 [from "core.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Core.import_ref.ed7 +// CHECK:STDOUT: witness = imports.%Core.import_ref.8b0 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @i32.builtin.as.AddWith.impl: imports.%Core.import_ref.63cbb1.2 as imports.%Core.import_ref.4ee [from "core.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Core.import_ref.37d +// CHECK:STDOUT: witness = imports.%Core.import_ref.1df // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @Core.IntLiteral.as.ImplicitAs.impl: imports.%Core.import_ref.2dc10a.2 as imports.%Core.import_ref.7e0 [from "core.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Core.import_ref.eab +// CHECK:STDOUT: witness = imports.%Core.import_ref.157 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @i32.builtin.as.ImplicitAs.impl: imports.%Core.import_ref.63cbb1.3 as imports.%Core.import_ref.017 [from "core.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Core.import_ref.f49 +// CHECK:STDOUT: witness = imports.%Core.import_ref.0d8 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @Int = "int.make_type_signed" [from "core.carbon"]; @@ -1210,30 +1210,30 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %int_4.loc4_52: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %int_3.loc4_56: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc4_61: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %impl.elem0.loc4_58: %.161 = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc4_58: %.d50 = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_58: = bound_method %int_3.loc4_56, %impl.elem0.loc4_58 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.94b] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc4_58: init %i32.builtin = call %bound_method.loc4_58(%int_3.loc4_56) [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %.loc4_58.1: %i32.builtin = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc4_58 [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %.loc4_58.2: %i32.builtin = converted %int_3.loc4_56, %.loc4_58.1 [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %int_4.loc4_69: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %.loc4_74: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %impl.elem0.loc4_71: %.161 = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc4_71: %.d50 = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_71: = bound_method %int_4.loc4_69, %impl.elem0.loc4_71 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.0f9] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc4_71: init %i32.builtin = call %bound_method.loc4_71(%int_4.loc4_69) [concrete = constants.%int_4.4f1] // CHECK:STDOUT: %.loc4_71.1: %i32.builtin = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc4_71 [concrete = constants.%int_4.4f1] // CHECK:STDOUT: %.loc4_71.2: %i32.builtin = converted %int_4.loc4_69, %.loc4_71.1 [concrete = constants.%int_4.4f1] -// CHECK:STDOUT: %impl.elem0.loc4_66: %.e4a = impl_witness_access constants.%AddWith.impl_witness, element0 [concrete = constants.%i32.builtin.as.AddWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc4_66: %.125 = impl_witness_access constants.%AddWith.impl_witness, element0 [concrete = constants.%i32.builtin.as.AddWith.impl.Op] // CHECK:STDOUT: %bound_method.loc4_66: = bound_method %.loc4_58.2, %impl.elem0.loc4_66 [concrete = constants.%i32.builtin.as.AddWith.impl.Op.bound.c75] // CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op.call: init %i32.builtin = call %bound_method.loc4_66(%.loc4_58.2, %.loc4_71.2) [concrete = constants.%int_7] // CHECK:STDOUT: %.loc4_78.1: %tuple.type = tuple_literal (%int_3.loc4_49, %int_4.loc4_52, %i32.builtin.as.AddWith.impl.Op.call) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc4_78.1: %.b73 = impl_witness_access constants.%ImplicitAs.impl_witness.da4, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc4_78.1: %.005 = impl_witness_access constants.%ImplicitAs.impl_witness.133, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_78.1: = bound_method %int_3.loc4_49, %impl.elem0.loc4_78.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.94b] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc4_78.1: init %i32.builtin = call %bound_method.loc4_78.1(%int_3.loc4_49) [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %.loc4_78.2: init %i32.builtin = converted %int_3.loc4_49, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc4_78.1 [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %.loc4_78.3: ref %i32.builtin = array_index file.%arr.var, %int_0 // CHECK:STDOUT: %.loc4_78.4: init %i32.builtin to %.loc4_78.3 = in_place_init %.loc4_78.2 [concrete = constants.%int_3.a0f] -// CHECK:STDOUT: %impl.elem0.loc4_78.2: %.b73 = impl_witness_access constants.%ImplicitAs.impl_witness.da4, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc4_78.2: %.005 = impl_witness_access constants.%ImplicitAs.impl_witness.133, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_78.2: = bound_method %int_4.loc4_52, %impl.elem0.loc4_78.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.0f9] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc4_78.2: init %i32.builtin = call %bound_method.loc4_78.2(%int_4.loc4_52) [concrete = constants.%int_4.4f1] // CHECK:STDOUT: %.loc4_78.5: init %i32.builtin = converted %int_4.loc4_52, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc4_78.2 [concrete = constants.%int_4.4f1] @@ -1295,8 +1295,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %As.type => constants.%As.type.dfb // CHECK:STDOUT: %Self => constants.%As.facet -// CHECK:STDOUT: %As.WithSelf.Convert.type => constants.%As.WithSelf.Convert.type.dbd -// CHECK:STDOUT: %As.WithSelf.Convert => constants.%As.WithSelf.Convert.82a +// CHECK:STDOUT: %As.WithSelf.Convert.type => constants.%As.WithSelf.Convert.type.414 +// CHECK:STDOUT: %As.WithSelf.Convert => constants.%As.WithSelf.Convert.ae6 // CHECK:STDOUT: %As.assoc_type => constants.%As.assoc_type.7f2 // CHECK:STDOUT: %assoc0 => constants.%assoc0.656 // CHECK:STDOUT: } @@ -1348,8 +1348,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %AddWith.type => constants.%AddWith.type.7c6 // CHECK:STDOUT: %Self => constants.%AddWith.facet -// CHECK:STDOUT: %AddWith.WithSelf.Op.type => constants.%AddWith.WithSelf.Op.type.43a -// CHECK:STDOUT: %AddWith.WithSelf.Op => constants.%AddWith.WithSelf.Op.128 +// CHECK:STDOUT: %AddWith.WithSelf.Op.type => constants.%AddWith.WithSelf.Op.type.4b4 +// CHECK:STDOUT: %AddWith.WithSelf.Op => constants.%AddWith.WithSelf.Op.d02 // CHECK:STDOUT: %AddWith.assoc_type => constants.%AddWith.assoc_type.439 // CHECK:STDOUT: %assoc0 => constants.%assoc0.e3c // CHECK:STDOUT: } @@ -1404,13 +1404,13 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Self => constants.%Self.a70 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @ImplicitAs.WithSelf(Core.IntLiteral, constants.%ImplicitAs.facet.a82) { +// CHECK:STDOUT: specific @ImplicitAs.WithSelf(Core.IntLiteral, constants.%ImplicitAs.facet.3c8) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => Core.IntLiteral // CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.7cb -// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.a82 -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.7af -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.a32 +// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.3c8 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.369 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.9c5 // CHECK:STDOUT: %ImplicitAs.assoc_type => constants.%ImplicitAs.assoc_type.e73 // CHECK:STDOUT: %assoc0 => constants.%assoc0.625 // CHECK:STDOUT: } @@ -1426,13 +1426,13 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %assoc0 => constants.%assoc0.da6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @ImplicitAs.WithSelf(constants.%i32.builtin, constants.%ImplicitAs.facet.9b9) { +// CHECK:STDOUT: specific @ImplicitAs.WithSelf(constants.%i32.builtin, constants.%ImplicitAs.facet.3d8) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%i32.builtin // CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.9df -// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.9b9 -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.4fb -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.838 +// CHECK:STDOUT: %Self => constants.%ImplicitAs.facet.3d8 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.796 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.75d // CHECK:STDOUT: %ImplicitAs.assoc_type => constants.%ImplicitAs.assoc_type.081 // CHECK:STDOUT: %assoc0 => constants.%assoc0.da6 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/fail_redefined.carbon b/toolchain/check/testdata/function/builtin/fail_redefined.carbon index 0544e0598163..2c6b63af2bca 100644 --- a/toolchain/check/testdata/function/builtin/fail_redefined.carbon +++ b/toolchain/check/testdata/function/builtin/fail_redefined.carbon @@ -65,12 +65,12 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %B.type.573c71.1: type = fn_type @B.loc25 [concrete] // CHECK:STDOUT: %B.08ed21.1: %B.type.573c71.1 = struct_value () [concrete] @@ -92,7 +92,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -224,7 +224,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: fn @A.loc23(%n.param: %i32, %m.param: %i32) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc23_45.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc23_45.2: = bound_method %n.ref, %specific_fn @@ -235,7 +235,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: fn @B.loc25(%n.param: %i32, %m.param: %i32) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc25_45.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc25_45.2: = bound_method %n.ref, %specific_fn diff --git a/toolchain/check/testdata/function/builtin/method.carbon b/toolchain/check/testdata/function/builtin/method.carbon index b5b064856b12..c55b7cb8debf 100644 --- a/toolchain/check/testdata/function/builtin/method.carbon +++ b/toolchain/check/testdata/function/builtin/method.carbon @@ -58,8 +58,8 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %i32.as.I.impl.F.type: type = fn_type @i32.as.I.impl.F [concrete] // CHECK:STDOUT: %i32.as.I.impl.F: %i32.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %i32, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.b7c: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.ae9: %I.WithSelf.F.type.b7c = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.201: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.9ed: %I.WithSelf.F.type.201 = struct_value () [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %As.type.116: type = generic_interface_type @As [concrete] // CHECK:STDOUT: %As.generic: %As.type.116 = struct_value () [concrete] @@ -68,17 +68,17 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] // CHECK:STDOUT: %From: Core.IntLiteral = symbolic_binding From, 0 [symbolic] -// CHECK:STDOUT: %As.impl_witness.03e: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.e7f: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.e79: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.8a4: %Core.IntLiteral.as.As.impl.Convert.type.e79 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.03e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8ea: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %As.WithSelf.Convert.type.8ea, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.e7f) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.d02: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] +// CHECK:STDOUT: %.453: type = fn_type_with_self_type %As.WithSelf.Convert.type.d02, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.8a4 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.8a4, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.18b: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.0c6: %i32 = int_value 1 [concrete] -// CHECK:STDOUT: %.21e: type = fn_type_with_self_type %I.WithSelf.F.type.b7c, %I.facet [concrete] +// CHECK:STDOUT: %.a07: type = fn_type_with_self_type %I.WithSelf.F.type.201, %I.facet [concrete] // CHECK:STDOUT: %i32.as.I.impl.F.bound: = bound_method %int_1.0c6, %i32.as.I.impl.F [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] @@ -89,23 +89,23 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3cb: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.295: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %int_3.410: %i32 = int_value 3 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.657: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.657) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet.657 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8de: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.8de) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet.8de [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.410, %Int.as.ImplicitAs.impl.Convert.69e [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.545: = bound_method %int_3.410, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -118,10 +118,10 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e6f: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%array_type) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.8fb: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%array_type) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.f29: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%array_type) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.2c9: %T.as.DefaultOrUnformed.impl.Op.type.f29 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %array_type, (%DefaultOrUnformed.impl_witness.e6f) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %array_type, (%DefaultOrUnformed.impl_witness.8fb) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.2c9, @T.as.DefaultOrUnformed.impl.Op(%array_type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -137,15 +137,15 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.As: %As.type.116 = import_ref Core//prelude/parts/as, As, loaded [concrete = constants.%As.generic] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -166,7 +166,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %i32.loc23_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i32.loc23_27: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0.loc23_24: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0.loc23_24: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc23_24.1: = bound_method %int_1, %impl.elem0.loc23_24 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc23_24: = specific_function %impl.elem0.loc23_24, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_24.2: = bound_method %int_1, %specific_fn.loc23_24 [concrete = constants.%bound_method.18b] @@ -175,10 +175,10 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %.loc23_24.2: %i32 = converted %int_1, %.loc23_24.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %I.ref: type = name_ref I, %I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.WithSelf.%assoc0 [concrete = constants.%assoc0.6c9] -// CHECK:STDOUT: %impl.elem0.loc23_31: %.21e = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%i32.as.I.impl.F] +// CHECK:STDOUT: %impl.elem0.loc23_31: %.a07 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%i32.as.I.impl.F] // CHECK:STDOUT: %bound_method.loc23_31: = bound_method %.loc23_24.2, %impl.elem0.loc23_31 [concrete = constants.%i32.as.I.impl.F.bound] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc23_38: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc23_38: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc23_38.1: = bound_method %int_2, %impl.elem0.loc23_38 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc23_38: = specific_function %impl.elem0.loc23_38, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_38.2: = bound_method %int_2, %specific_fn.loc23_38 [concrete = constants.%bound_method.3cb] @@ -186,7 +186,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %.loc23_38.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc23_38.2: %i32 = converted %int_2, %.loc23_38.1 [concrete = constants.%int_2.295] // CHECK:STDOUT: %i32.as.I.impl.F.call: init %i32 = call %bound_method.loc23_31(%.loc23_24.2, %.loc23_38.2) [concrete = constants.%int_3.410] -// CHECK:STDOUT: %impl.elem0.loc23_39: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0.loc23_39: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc23_39.1: = bound_method %i32.as.I.impl.F.call, %impl.elem0.loc23_39 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc23_39: = specific_function %impl.elem0.loc23_39, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_39.2: = bound_method %i32.as.I.impl.F.call, %specific_fn.loc23_39 [concrete = constants.%bound_method.545] @@ -296,7 +296,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%array_type, (constants.%DefaultOrUnformed.impl_witness.e6f) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%array_type, (constants.%DefaultOrUnformed.impl_witness.8fb) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc23_41.1: %DefaultOrUnformed.type = converted constants.%array_type, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc23_41.1 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc23_41.2: type = converted %.loc23_41.1, %as_type [concrete = constants.%array_type] @@ -330,8 +330,8 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.b7c -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.ae9 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.201 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.9ed // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet) { 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 7615f2d396df..4de5e0643e77 100644 --- a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon +++ b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon @@ -46,12 +46,12 @@ fn Run() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -83,7 +83,7 @@ fn Run() { // CHECK:STDOUT: %Core.Float: %Float.type = import_ref Core//prelude/parts/float, Float, loaded [concrete = constants.%Float.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.c4c7: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/parts/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c7), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c7), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // 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: } @@ -110,7 +110,7 @@ fn Run() { // CHECK:STDOUT: fn @Foo() -> out %return.param: %f64.dc1 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] -// CHECK:STDOUT: %impl.elem0: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc15_29.1: = bound_method %float, %impl.elem0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_29.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/function/call/form.carbon b/toolchain/check/testdata/function/call/form.carbon index e37e1b9ac3d9..c877c6771b3b 100644 --- a/toolchain/check/testdata/function/call/form.carbon +++ b/toolchain/check/testdata/function/call/form.carbon @@ -348,12 +348,12 @@ fn G() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -364,7 +364,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -389,7 +389,7 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_7.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc4_7.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] @@ -427,12 +427,12 @@ fn G() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -441,7 +441,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -465,7 +465,7 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_5.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_5.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] @@ -692,12 +692,12 @@ fn G() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a4c7.1: %pattern_type.6b6 = out_param_pattern [concrete] @@ -723,12 +723,12 @@ fn G() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.6b6 = ref_binding_pattern y [concrete] // CHECK:STDOUT: %.512: Core.Form = ref_form %i32 [concrete] @@ -783,10 +783,10 @@ fn G() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.import_ref.c64: %Destroy.assoc_type = import_ref Core//prelude/parts/destroy, loc{{\d+_\d+}}, loaded [concrete = constants.%assoc0.ae8] // CHECK:STDOUT: %Core.import_ref.918: @Destroy.WithSelf.%Destroy.WithSelf.Op.type (%Destroy.WithSelf.Op.type.d3e) = import_ref Core//prelude/parts/destroy, loc{{\d+_\d+}}, loaded [symbolic = @Destroy.WithSelf.%Destroy.WithSelf.Op (constants.%Destroy.WithSelf.Op.42b)] @@ -854,7 +854,7 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %v.var.loc11: ref %i32 = var_storage %v.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc11: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_3.1: = bound_method %int_0, %impl.elem0.loc11 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_3.2: = bound_method %int_0, %specific_fn.loc11 [concrete = constants.%bound_method] @@ -874,7 +874,7 @@ fn G() { // CHECK:STDOUT: %v.ref.loc13: ref %i32 = name_ref v, %v // CHECK:STDOUT: %F.specific_fn.loc13: = specific_function %F.ref.loc13, @F(constants.%.795f) [concrete = constants.%F.specific_fn.8ea] // CHECK:STDOUT: %.loc13_40: %i32 = acquire_value %v.ref.loc13 -// CHECK:STDOUT: %impl.elem0.loc13: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc13: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc13_40.1: = bound_method %.loc13_40, %impl.elem0.loc13 // CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc13_40.2: = bound_method %.loc13_40, %specific_fn.loc13 diff --git a/toolchain/check/testdata/function/call/i32.carbon b/toolchain/check/testdata/function/call/i32.carbon index 11a22d3f82b0..3782430e84f1 100644 --- a/toolchain/check/testdata/function/call/i32.carbon +++ b/toolchain/check/testdata/function/call/i32.carbon @@ -41,12 +41,12 @@ fn Main() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] // CHECK:STDOUT: %Main: %Main.type = struct_value () [concrete] @@ -59,12 +59,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -86,10 +86,10 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -120,7 +120,7 @@ fn Main() { // CHECK:STDOUT: fn @Echo(%a.param: %i32) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %i32 = name_ref a, %a -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_10.1: = bound_method %a.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_10.2: = bound_method %a.ref, %specific_fn @@ -133,7 +133,7 @@ fn Main() { // CHECK:STDOUT: %b.var: ref %i32 = var_storage %b.var_patt // CHECK:STDOUT: %Echo.ref: %Echo.type = name_ref Echo, file.%Echo.decl [concrete = constants.%Echo] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_28.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_28.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/function/call/more_param_ir.carbon b/toolchain/check/testdata/function/call/more_param_ir.carbon index 8a298d831529..fdbe422d9eb2 100644 --- a/toolchain/check/testdata/function/call/more_param_ir.carbon +++ b/toolchain/check/testdata/function/call/more_param_ir.carbon @@ -53,12 +53,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -85,7 +85,7 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -122,7 +122,7 @@ fn Main() { // CHECK:STDOUT: %x.var: ref %tuple.type.a8a = var_storage %x.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc18_22.1: %tuple.type.985 = tuple_literal (%int_1) [concrete = constants.%tuple.378] -// CHECK:STDOUT: %impl.elem0.loc18: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_22.1: = bound_method %int_1, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_22.2: = bound_method %int_1, %specific_fn.loc18 [concrete = constants.%bound_method.953] @@ -147,7 +147,7 @@ fn Main() { // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %x.ref, element0 // CHECK:STDOUT: %int_6: Core.IntLiteral = int_value 6 [concrete = constants.%int_6.462] // CHECK:STDOUT: %.loc20_8: %i32 = acquire_value %tuple.elem0 -// CHECK:STDOUT: %impl.elem0.loc20: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_12.1: = bound_method %int_6, %impl.elem0.loc20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.13d] // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_12.2: = bound_method %int_6, %specific_fn.loc20 [concrete = constants.%bound_method.be9] diff --git a/toolchain/check/testdata/function/call/params_one.carbon b/toolchain/check/testdata/function/call/params_one.carbon index 7ea0d866660d..0decd1f8052f 100644 --- a/toolchain/check/testdata/function/call/params_one.carbon +++ b/toolchain/check/testdata/function/call/params_one.carbon @@ -40,12 +40,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -62,7 +62,7 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -92,7 +92,7 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Foo.ref: %Foo.type = name_ref Foo, file.%Foo.decl [concrete = constants.%Foo] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_7.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_7.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/function/call/params_one_comma.carbon b/toolchain/check/testdata/function/call/params_one_comma.carbon index 53a02c5429e7..f9c76148171e 100644 --- a/toolchain/check/testdata/function/call/params_one_comma.carbon +++ b/toolchain/check/testdata/function/call/params_one_comma.carbon @@ -41,12 +41,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -63,7 +63,7 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -93,7 +93,7 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Foo.ref.loc18: %Foo.type = name_ref Foo, file.%Foo.decl [concrete = constants.%Foo] // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc18: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_7.1: = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_7.2: = bound_method %int_1.loc18, %specific_fn.loc18 [concrete = constants.%bound_method] @@ -103,7 +103,7 @@ fn Main() { // CHECK:STDOUT: %Foo.call.loc18: init %empty_tuple.type = call %Foo.ref.loc18(%.loc18_7.2) // CHECK:STDOUT: %Foo.ref.loc19: %Foo.type = name_ref Foo, file.%Foo.decl [concrete = constants.%Foo] // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc19: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc19: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_7.1: = bound_method %int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_7.2: = bound_method %int_1.loc19, %specific_fn.loc19 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/function/call/params_two.carbon b/toolchain/check/testdata/function/call/params_two.carbon index c461b1872c44..c98f36ee8535 100644 --- a/toolchain/check/testdata/function/call/params_two.carbon +++ b/toolchain/check/testdata/function/call/params_two.carbon @@ -43,12 +43,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -68,7 +68,7 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -104,14 +104,14 @@ fn Main() { // CHECK:STDOUT: %Foo.ref: %Foo.type = name_ref Foo, file.%Foo.decl [concrete = constants.%Foo] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc18_7: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_7: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_7.1: = bound_method %int_1, %impl.elem0.loc18_7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc18_7: = specific_function %impl.elem0.loc18_7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_7.2: = bound_method %int_1, %specific_fn.loc18_7 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_7: init %i32 = call %bound_method.loc18_7.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc18_7.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_7 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc18_7.2: %i32 = converted %int_1, %.loc18_7.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc18_10: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_10: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_10.1: = bound_method %int_2, %impl.elem0.loc18_10 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc18_10: = specific_function %impl.elem0.loc18_10, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_10.2: = bound_method %int_2, %specific_fn.loc18_10 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/function/call/params_two_comma.carbon b/toolchain/check/testdata/function/call/params_two_comma.carbon index 8360e9de1abe..75eaa4309d4e 100644 --- a/toolchain/check/testdata/function/call/params_two_comma.carbon +++ b/toolchain/check/testdata/function/call/params_two_comma.carbon @@ -44,12 +44,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -69,7 +69,7 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -105,14 +105,14 @@ fn Main() { // CHECK:STDOUT: %Foo.ref.loc18: %Foo.type = name_ref Foo, file.%Foo.decl [concrete = constants.%Foo] // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc18: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc18_7: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_7: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_7.1: = bound_method %int_1.loc18, %impl.elem0.loc18_7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc18_7: = specific_function %impl.elem0.loc18_7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_7.2: = bound_method %int_1.loc18, %specific_fn.loc18_7 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_7: init %i32 = call %bound_method.loc18_7.2(%int_1.loc18) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc18_7.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_7 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc18_7.2: %i32 = converted %int_1.loc18, %.loc18_7.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc18_10: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_10: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_10.1: = bound_method %int_2.loc18, %impl.elem0.loc18_10 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc18_10: = specific_function %impl.elem0.loc18_10, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_10.2: = bound_method %int_2.loc18, %specific_fn.loc18_10 [concrete = constants.%bound_method.3cb] @@ -123,14 +123,14 @@ fn Main() { // CHECK:STDOUT: %Foo.ref.loc19: %Foo.type = name_ref Foo, file.%Foo.decl [concrete = constants.%Foo] // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc19: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc19_7: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc19_7: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_7.1: = bound_method %int_1.loc19, %impl.elem0.loc19_7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc19_7: = specific_function %impl.elem0.loc19_7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_7.2: = bound_method %int_1.loc19, %specific_fn.loc19_7 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19_7: init %i32 = call %bound_method.loc19_7.2(%int_1.loc19) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc19_7.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19_7 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc19_7.2: %i32 = converted %int_1.loc19, %.loc19_7.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc19_10: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc19_10: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_10.1: = bound_method %int_2.loc19, %impl.elem0.loc19_10 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc19_10: = specific_function %impl.elem0.loc19_10, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_10.2: = bound_method %int_2.loc19, %specific_fn.loc19_10 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon index ed39954b5670..51aa44894790 100644 --- a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon +++ b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon @@ -60,12 +60,12 @@ fn Class(F: type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -83,7 +83,7 @@ fn Class(F: type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -178,7 +178,7 @@ fn Class(F: type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: fn() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_29.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_29.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/function/call/ref.carbon b/toolchain/check/testdata/function/call/ref.carbon index 777d60753491..60724a9a8a6d 100644 --- a/toolchain/check/testdata/function/call/ref.carbon +++ b/toolchain/check/testdata/function/call/ref.carbon @@ -132,12 +132,12 @@ fn G(ref d: D) { F(ref d); } // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -148,7 +148,7 @@ fn G(ref d: D) { F(ref d); } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -169,7 +169,7 @@ fn G(ref d: D) { F(ref d); } // CHECK:STDOUT: !entry: // CHECK:STDOUT: %y.var: ref %i32 = var_storage %y.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_3.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_3.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] @@ -218,15 +218,15 @@ fn G(ref d: D) { F(ref d); } // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.59d: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%C) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %C, (%DefaultOrUnformed.impl_witness.59d) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.38f: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%C) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %C, (%DefaultOrUnformed.impl_witness.38f) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc10_3.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -256,7 +256,7 @@ fn G(ref d: D) { F(ref d); } // CHECK:STDOUT: fn @G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.var: ref %C = var_storage %c.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%C, (constants.%DefaultOrUnformed.impl_witness.59d) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%C, (constants.%DefaultOrUnformed.impl_witness.38f) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc10_11.1: %DefaultOrUnformed.type = converted constants.%C, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc10_11.1 [concrete = constants.%C] // CHECK:STDOUT: %.loc10_11.2: type = converted %.loc10_11.1, %as_type [concrete = constants.%C] diff --git a/toolchain/check/testdata/function/declaration/import.carbon b/toolchain/check/testdata/function/declaration/import.carbon index 1d94e37401e0..5fad5adb971b 100644 --- a/toolchain/check/testdata/function/declaration/import.carbon +++ b/toolchain/check/testdata/function/declaration/import.carbon @@ -498,12 +498,12 @@ import library "extern_api"; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -547,7 +547,7 @@ import library "extern_api"; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -632,7 +632,7 @@ import library "extern_api"; // CHECK:STDOUT: assign file.%a.var, %A.call // CHECK:STDOUT: %B.ref: %B.type = name_ref B, imports.%Main.B [concrete = constants.%B] // CHECK:STDOUT: %int_1.loc7: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc7: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_16.1: = bound_method %int_1.loc7, %impl.elem0.loc7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_16.2: = bound_method %int_1.loc7, %specific_fn.loc7 [concrete = constants.%bound_method] @@ -644,7 +644,7 @@ import library "extern_api"; // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc8_25.1: %tuple.type.985 = tuple_literal (%int_1.loc8) [concrete = constants.%tuple.378] -// CHECK:STDOUT: %impl.elem0.loc8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_25.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_25.2: = bound_method %int_1.loc8, %specific_fn.loc8 [concrete = constants.%bound_method] @@ -704,12 +704,12 @@ import library "extern_api"; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -739,7 +739,7 @@ import library "extern_api"; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -850,7 +850,7 @@ import library "extern_api"; // CHECK:STDOUT: assign file.%a.var, %A.call // CHECK:STDOUT: %B.ref: %B.type = name_ref B, file.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %int_1.loc53: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc53: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc53: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc53_16.1: = bound_method %int_1.loc53, %impl.elem0.loc53 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc53: = specific_function %impl.elem0.loc53, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc53_16.2: = bound_method %int_1.loc53, %specific_fn.loc53 [concrete = constants.%bound_method] @@ -862,7 +862,7 @@ import library "extern_api"; // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_1.loc54: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc54_25.1: %tuple.type.985 = tuple_literal (%int_1.loc54) [concrete = constants.%tuple.378] -// CHECK:STDOUT: %impl.elem0.loc54: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc54: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc54_25.1: = bound_method %int_1.loc54, %impl.elem0.loc54 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc54: = specific_function %impl.elem0.loc54, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc54_25.2: = bound_method %int_1.loc54, %specific_fn.loc54 [concrete = constants.%bound_method] @@ -922,12 +922,12 @@ import library "extern_api"; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -957,7 +957,7 @@ import library "extern_api"; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1068,7 +1068,7 @@ import library "extern_api"; // CHECK:STDOUT: assign file.%a.var, %A.call // CHECK:STDOUT: %B.ref: %B.type = name_ref B, file.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %int_1.loc13: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc13: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_16.1: = bound_method %int_1.loc13, %impl.elem0.loc13 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_16.2: = bound_method %int_1.loc13, %specific_fn.loc13 [concrete = constants.%bound_method] @@ -1080,7 +1080,7 @@ import library "extern_api"; // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_1.loc14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc14_25.1: %tuple.type.985 = tuple_literal (%int_1.loc14) [concrete = constants.%tuple.378] -// CHECK:STDOUT: %impl.elem0.loc14: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc14: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_25.1: = bound_method %int_1.loc14, %impl.elem0.loc14 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_25.2: = bound_method %int_1.loc14, %specific_fn.loc14 [concrete = constants.%bound_method] @@ -1127,12 +1127,12 @@ import library "extern_api"; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1176,7 +1176,7 @@ import library "extern_api"; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1261,7 +1261,7 @@ import library "extern_api"; // CHECK:STDOUT: assign file.%a.var, %A.call // CHECK:STDOUT: %B.ref: %B.type = name_ref B, imports.%Main.B [concrete = constants.%B] // CHECK:STDOUT: %int_1.loc53: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc53: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc53: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc53_16.1: = bound_method %int_1.loc53, %impl.elem0.loc53 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc53: = specific_function %impl.elem0.loc53, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc53_16.2: = bound_method %int_1.loc53, %specific_fn.loc53 [concrete = constants.%bound_method] @@ -1273,7 +1273,7 @@ import library "extern_api"; // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %int_1.loc54: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc54_25.1: %tuple.type.985 = tuple_literal (%int_1.loc54) [concrete = constants.%tuple.378] -// CHECK:STDOUT: %impl.elem0.loc54: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc54: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc54_25.1: = bound_method %int_1.loc54, %impl.elem0.loc54 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc54: = specific_function %impl.elem0.loc54, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc54_25.2: = bound_method %int_1.loc54, %specific_fn.loc54 [concrete = constants.%bound_method] @@ -1320,12 +1320,12 @@ import library "extern_api"; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1369,7 +1369,7 @@ import library "extern_api"; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1454,7 +1454,7 @@ import library "extern_api"; // CHECK:STDOUT: assign file.%a.var, %A.call // CHECK:STDOUT: %B.ref: %B.type = name_ref B, imports.%Main.B [concrete = constants.%B] // CHECK:STDOUT: %int_1.loc53: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc53: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc53: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc53_16.1: = bound_method %int_1.loc53, %impl.elem0.loc53 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc53: = specific_function %impl.elem0.loc53, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc53_16.2: = bound_method %int_1.loc53, %specific_fn.loc53 [concrete = constants.%bound_method] @@ -1466,7 +1466,7 @@ import library "extern_api"; // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %int_1.loc54: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc54_25.1: %tuple.type.985 = tuple_literal (%int_1.loc54) [concrete = constants.%tuple.378] -// CHECK:STDOUT: %impl.elem0.loc54: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc54: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc54_25.1: = bound_method %int_1.loc54, %impl.elem0.loc54 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc54: = specific_function %impl.elem0.loc54, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc54_25.2: = bound_method %int_1.loc54, %specific_fn.loc54 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/function/definition/import.carbon b/toolchain/check/testdata/function/definition/import.carbon index 75dca738276c..acd01af3c651 100644 --- a/toolchain/check/testdata/function/definition/import.carbon +++ b/toolchain/check/testdata/function/definition/import.carbon @@ -135,12 +135,12 @@ fn D() {} // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] // CHECK:STDOUT: %tuple.19c: %tuple.type.85c = tuple_value (%i32) [concrete] @@ -170,7 +170,7 @@ fn D() {} // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -227,7 +227,7 @@ fn D() {} // CHECK:STDOUT: fn @B(%b.param: %i32) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %b.ref: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc5_30.1: = bound_method %b.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc5_30.2: = bound_method %b.ref, %specific_fn @@ -241,7 +241,7 @@ fn D() {} // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %tuple.elem0: %i32 = tuple_access %c.ref, element0 // CHECK:STDOUT: %.loc6_48.1: %struct_type.c = struct_literal (%tuple.elem0) -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_46.1: = bound_method %tuple.elem0, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_46.2: = bound_method %tuple.elem0, %specific_fn @@ -304,12 +304,12 @@ fn D() {} // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -340,7 +340,7 @@ fn D() {} // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -398,7 +398,7 @@ fn D() {} // CHECK:STDOUT: assign file.%a.var, %A.call // CHECK:STDOUT: %B.ref: %B.type = name_ref B, imports.%Main.B [concrete = constants.%B] // CHECK:STDOUT: %int_1.loc7: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc7: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_16.1: = bound_method %int_1.loc7, %impl.elem0.loc7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_16.2: = bound_method %int_1.loc7, %specific_fn.loc7 [concrete = constants.%bound_method] @@ -410,7 +410,7 @@ fn D() {} // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc8_25.1: %tuple.type.985 = tuple_literal (%int_1.loc8) [concrete = constants.%tuple.378] -// CHECK:STDOUT: %impl.elem0.loc8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_25.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_25.2: = bound_method %int_1.loc8, %specific_fn.loc8 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/function/generic/call.carbon b/toolchain/check/testdata/function/generic/call.carbon index 661fe7809975..1327ec4ffa04 100644 --- a/toolchain/check/testdata/function/generic/call.carbon +++ b/toolchain/check/testdata/function/generic/call.carbon @@ -121,18 +121,18 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %.8fa: Core.Form = init_form %ptr.6b6 [concrete] // CHECK:STDOUT: %return.param_patt.ada: %pattern_type.fcb = out_param_pattern [concrete] // CHECK:STDOUT: %return.patt.783: %pattern_type.fcb = return_slot_pattern %return.param_patt.ada, %ptr.6b6 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b22: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.c19: %ptr.as.Copy.impl.Op.type.b22 = struct_value () [concrete] // CHECK:STDOUT: %complete_type.bf9: = complete_type_witness %ptr.6b6 [concrete] -// CHECK:STDOUT: %Copy.facet.3f0: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Function.specific_fn.710: = specific_function %Function, @Function(%Copy.facet.3f0) [concrete] +// CHECK:STDOUT: %Copy.facet.291: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Function.specific_fn.33f: = specific_function %Function, @Function(%Copy.facet.291) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.884: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %.be5: type = fn_type_with_self_type %Copy.WithSelf.Op.type.884, %Copy.facet.302 [symbolic] // CHECK:STDOUT: %impl.elem0.484: %.be5 = impl_witness_access %Copy.lookup_impl_witness.1da, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.a76: = specific_impl_function %impl.elem0.484, @Copy.WithSelf.Op(%Copy.facet.302) [symbolic] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c6a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.3f0) [concrete] -// CHECK:STDOUT: %.a68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c6a, %Copy.facet.3f0 [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.439: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.291) [concrete] +// CHECK:STDOUT: %.03d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.439, %Copy.facet.291 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c19, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -144,7 +144,7 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -266,13 +266,13 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %C.ref.loc26: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %ptr.loc26: type = ptr_type %C.ref.loc26 [concrete = constants.%ptr.6b6] // CHECK:STDOUT: %x.ref: %ptr.6b6 = name_ref x, %x -// CHECK:STDOUT: %Copy.facet.loc26_24.1: %Copy.type = facet_value %ptr.loc26, (constants.%Copy.impl_witness.65f) [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %.loc26_24.1: %Copy.type = converted %ptr.loc26, %Copy.facet.loc26_24.1 [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %Copy.facet.loc26_24.2: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.65f) [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %.loc26_24.2: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc26_24.2 [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %Copy.facet.loc26_24.3: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.65f) [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %.loc26_24.3: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc26_24.3 [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %Function.specific_fn: = specific_function %Function.ref, @Function(constants.%Copy.facet.3f0) [concrete = constants.%Function.specific_fn.710] +// CHECK:STDOUT: %Copy.facet.loc26_24.1: %Copy.type = facet_value %ptr.loc26, (constants.%Copy.impl_witness.1ba) [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %.loc26_24.1: %Copy.type = converted %ptr.loc26, %Copy.facet.loc26_24.1 [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %Copy.facet.loc26_24.2: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.1ba) [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %.loc26_24.2: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc26_24.2 [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %Copy.facet.loc26_24.3: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.1ba) [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %.loc26_24.3: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc26_24.3 [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %Function.specific_fn: = specific_function %Function.ref, @Function(constants.%Copy.facet.291) [concrete = constants.%Function.specific_fn.33f] // CHECK:STDOUT: %Function.call: init %ptr.6b6 = call %Function.specific_fn(%x.ref) // CHECK:STDOUT: return %Function.call // CHECK:STDOUT: } @@ -341,9 +341,9 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %specific_impl_fn.loc6_10.2 => constants.%specific_impl_fn.a76 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Function(constants.%Copy.facet.3f0) { +// CHECK:STDOUT: specific @Function(constants.%Copy.facet.291) { // CHECK:STDOUT: %T.patt.loc5_22.2 => constants.%T.patt.fe6 -// CHECK:STDOUT: %T.loc5_22.1 => constants.%Copy.facet.3f0 +// CHECK:STDOUT: %T.loc5_22.1 => constants.%Copy.facet.291 // CHECK:STDOUT: %T.as_type.loc5_38.1 => constants.%ptr.6b6 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.fcb // CHECK:STDOUT: %x.param_patt.loc5_36.2 => constants.%x.param_patt.503 @@ -354,9 +354,9 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.bf9 -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.c6a -// CHECK:STDOUT: %.loc6_10.3 => constants.%.a68 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.65f +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.439 +// CHECK:STDOUT: %.loc6_10.3 => constants.%.03d +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.1ba // CHECK:STDOUT: %impl.elem0.loc6_10.2 => constants.%ptr.as.Copy.impl.Op.c19 // CHECK:STDOUT: %specific_impl_fn.loc6_10.2 => constants.%ptr.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } @@ -411,18 +411,18 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %.8fa: Core.Form = init_form %ptr.6b6 [concrete] // CHECK:STDOUT: %return.param_patt.ada: %pattern_type.fcb = out_param_pattern [concrete] // CHECK:STDOUT: %return.patt.783: %pattern_type.fcb = return_slot_pattern %return.param_patt.ada, %ptr.6b6 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.65f: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ba: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.b22: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.c19: %ptr.as.Copy.impl.Op.type.b22 = struct_value () [concrete] // CHECK:STDOUT: %complete_type.bf9: = complete_type_witness %ptr.6b6 [concrete] -// CHECK:STDOUT: %Copy.facet.3f0: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.65f) [concrete] -// CHECK:STDOUT: %Function.specific_fn.710: = specific_function %Function, @Function(%Copy.facet.3f0) [concrete] +// CHECK:STDOUT: %Copy.facet.291: %Copy.type = facet_value %ptr.6b6, (%Copy.impl_witness.1ba) [concrete] +// CHECK:STDOUT: %Function.specific_fn.33f: = specific_function %Function, @Function(%Copy.facet.291) [concrete] // CHECK:STDOUT: %Copy.WithSelf.Op.type.884: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %.be5: type = fn_type_with_self_type %Copy.WithSelf.Op.type.884, %Copy.facet.302 [symbolic] // CHECK:STDOUT: %impl.elem0.484: %.be5 = impl_witness_access %Copy.lookup_impl_witness.1da, element0 [symbolic] // CHECK:STDOUT: %specific_impl_fn.a76: = specific_impl_function %impl.elem0.484, @Copy.WithSelf.Op(%Copy.facet.302) [symbolic] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c6a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.3f0) [concrete] -// CHECK:STDOUT: %.a68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c6a, %Copy.facet.3f0 [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.439: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.291) [concrete] +// CHECK:STDOUT: %.03d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.439, %Copy.facet.291 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.c19, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -434,7 +434,7 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -549,11 +549,11 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Function.ref: %Function.type = name_ref Function, file.%Function.decl [concrete = constants.%Function] // CHECK:STDOUT: %x.ref: %ptr.6b6 = name_ref x, %x -// CHECK:STDOUT: %Copy.facet.loc26_20.1: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.65f) [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %.loc26_20.1: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc26_20.1 [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %Copy.facet.loc26_20.2: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.65f) [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %.loc26_20.2: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc26_20.2 [concrete = constants.%Copy.facet.3f0] -// CHECK:STDOUT: %Function.specific_fn: = specific_function %Function.ref, @Function(constants.%Copy.facet.3f0) [concrete = constants.%Function.specific_fn.710] +// CHECK:STDOUT: %Copy.facet.loc26_20.1: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.1ba) [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %.loc26_20.1: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc26_20.1 [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %Copy.facet.loc26_20.2: %Copy.type = facet_value constants.%ptr.6b6, (constants.%Copy.impl_witness.1ba) [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %.loc26_20.2: %Copy.type = converted constants.%ptr.6b6, %Copy.facet.loc26_20.2 [concrete = constants.%Copy.facet.291] +// CHECK:STDOUT: %Function.specific_fn: = specific_function %Function.ref, @Function(constants.%Copy.facet.291) [concrete = constants.%Function.specific_fn.33f] // CHECK:STDOUT: %Function.call: init %ptr.6b6 = call %Function.specific_fn(%x.ref) // CHECK:STDOUT: return %Function.call // CHECK:STDOUT: } @@ -622,9 +622,9 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: %specific_impl_fn.loc6_10.2 => constants.%specific_impl_fn.a76 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Function(constants.%Copy.facet.3f0) { +// CHECK:STDOUT: specific @Function(constants.%Copy.facet.291) { // CHECK:STDOUT: %T.patt.loc5_14.2 => constants.%T.patt.fe6 -// CHECK:STDOUT: %T.loc5_14.1 => constants.%Copy.facet.3f0 +// CHECK:STDOUT: %T.loc5_14.1 => constants.%Copy.facet.291 // CHECK:STDOUT: %T.as_type.loc5_30.1 => constants.%ptr.6b6 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.fcb // CHECK:STDOUT: %x.param_patt.loc5_28.2 => constants.%x.param_patt.503 @@ -635,9 +635,9 @@ fn CallSpecific(x: C*) -> C* { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.bf9 -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.c6a -// CHECK:STDOUT: %.loc6_10.3 => constants.%.a68 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.65f +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.439 +// CHECK:STDOUT: %.loc6_10.3 => constants.%.03d +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.1ba // CHECK:STDOUT: %impl.elem0.loc6_10.2 => constants.%ptr.as.Copy.impl.Op.c19 // CHECK:STDOUT: %specific_impl_fn.loc6_10.2 => constants.%ptr.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon b/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon index 4f0829de57e6..9b6b77083225 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 @@ -70,8 +70,8 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F.type: type = fn_type @ImplsGeneric.as.Generic.impl.F [concrete] // CHECK:STDOUT: %ImplsGeneric.as.Generic.impl.F: %ImplsGeneric.as.Generic.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %Generic.facet: %Generic.type.b40 = facet_value %ImplsGeneric, (%Generic.impl_witness) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.type.c45: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] -// CHECK:STDOUT: %Generic.WithSelf.F.d7c: %Generic.WithSelf.F.type.c45 = struct_value () [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.type.7ef: type = fn_type @Generic.WithSelf.F, @Generic.WithSelf(%GenericParam, %Generic.facet) [concrete] +// CHECK:STDOUT: %Generic.WithSelf.F.e1b: %Generic.WithSelf.F.type.7ef = struct_value () [concrete] // CHECK:STDOUT: %Other.type: type = facet_type <@Other> [concrete] // CHECK:STDOUT: %Self.41e: %Other.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Other.WithSelf.G.type.eee: type = fn_type @Other.WithSelf.G, @Other.WithSelf(%Self.41e) [symbolic] @@ -83,8 +83,8 @@ fn G() { // CHECK:STDOUT: %ImplsGeneric.as.Other.impl.G.type: type = fn_type @ImplsGeneric.as.Other.impl.G [concrete] // CHECK:STDOUT: %ImplsGeneric.as.Other.impl.G: %ImplsGeneric.as.Other.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: %Other.facet: %Other.type = facet_value %ImplsGeneric, (%Other.impl_witness) [concrete] -// CHECK:STDOUT: %Other.WithSelf.G.type.933: type = fn_type @Other.WithSelf.G, @Other.WithSelf(%Other.facet) [concrete] -// CHECK:STDOUT: %Other.WithSelf.G.4ce: %Other.WithSelf.G.type.933 = struct_value () [concrete] +// CHECK:STDOUT: %Other.WithSelf.G.type.0fb: type = fn_type @Other.WithSelf.G, @Other.WithSelf(%Other.facet) [concrete] +// CHECK:STDOUT: %Other.WithSelf.G.06b: %Other.WithSelf.G.type.0fb = struct_value () [concrete] // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %Generic.type.ee14e9.2: type = facet_type <@Generic, @Generic(%T)> [symbolic] @@ -112,7 +112,7 @@ fn G() { // CHECK:STDOUT: %U.patt.e09: %pattern_type.de1 = symbolic_binding_pattern U, 1 [symbolic] // CHECK:STDOUT: %CallGenericMethod.specific_fn: = specific_function %CallGenericMethod, @CallGenericMethod(%GenericParam, %Generic.facet) [concrete] // CHECK:STDOUT: %complete_type.35b: = complete_type_witness %Generic.type.b40 [concrete] -// CHECK:STDOUT: %.1fa: type = fn_type_with_self_type %Generic.WithSelf.F.type.c45, %Generic.facet [concrete] +// CHECK:STDOUT: %.636: type = fn_type_with_self_type %Generic.WithSelf.F.type.7ef, %Generic.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -350,8 +350,8 @@ fn G() { // CHECK:STDOUT: %Scalar => constants.%GenericParam // CHECK:STDOUT: %Generic.type => constants.%Generic.type.b40 // CHECK:STDOUT: %Self => constants.%Generic.facet -// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.c45 -// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.d7c +// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.7ef +// CHECK:STDOUT: %Generic.WithSelf.F => constants.%Generic.WithSelf.F.e1b // CHECK:STDOUT: %Generic.assoc_type => constants.%Generic.assoc_type.c13 // CHECK:STDOUT: %assoc0.loc16_9.2 => constants.%assoc0.b4a // CHECK:STDOUT: } @@ -370,8 +370,8 @@ fn G() { // CHECK:STDOUT: specific @Other.WithSelf(constants.%Other.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Other.facet -// CHECK:STDOUT: %Other.WithSelf.G.type => constants.%Other.WithSelf.G.type.933 -// CHECK:STDOUT: %Other.WithSelf.G => constants.%Other.WithSelf.G.4ce +// CHECK:STDOUT: %Other.WithSelf.G.type => constants.%Other.WithSelf.G.type.0fb +// CHECK:STDOUT: %Other.WithSelf.G => constants.%Other.WithSelf.G.06b // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Other.WithSelf.G(constants.%Other.facet) {} @@ -431,8 +431,8 @@ fn G() { // CHECK:STDOUT: %U.as_type.loc34_4.2 => constants.%ImplsGeneric // CHECK:STDOUT: %Generic.assoc_type => constants.%Generic.assoc_type.c13 // CHECK:STDOUT: %assoc0 => constants.%assoc0.b4a -// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.c45 -// CHECK:STDOUT: %.loc34_4.3 => constants.%.1fa +// CHECK:STDOUT: %Generic.WithSelf.F.type => constants.%Generic.WithSelf.F.type.7ef +// CHECK:STDOUT: %.loc34_4.3 => constants.%.636 // CHECK:STDOUT: %Generic.lookup_impl_witness => constants.%Generic.impl_witness // CHECK:STDOUT: %impl.elem0.loc34_4.2 => constants.%ImplsGeneric.as.Generic.impl.F // CHECK:STDOUT: %specific_impl_fn.loc34_4.2 => constants.%ImplsGeneric.as.Generic.impl.F diff --git a/toolchain/check/testdata/function/generic/deduce.carbon b/toolchain/check/testdata/function/generic/deduce.carbon index c8c00d538bdf..564e77744154 100644 --- a/toolchain/check/testdata/function/generic/deduce.carbon +++ b/toolchain/check/testdata/function/generic/deduce.carbon @@ -970,12 +970,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -994,7 +994,7 @@ fn F() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1051,7 +1051,7 @@ fn F() { // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc7_19.1: %tuple.type.f94 = tuple_literal (%int_1, %int_2) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %TupleParam.specific_fn: = specific_function %TupleParam.ref, @TupleParam(Core.IntLiteral) [concrete = constants.%TupleParam.specific_fn] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_19.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_19.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method] @@ -1124,12 +1124,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1148,7 +1148,7 @@ fn F() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1203,7 +1203,7 @@ fn F() { // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc7_30.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) [concrete = constants.%struct.4aa] // CHECK:STDOUT: %StructParam.specific_fn: = specific_function %StructParam.ref, @StructParam(Core.IntLiteral) [concrete = constants.%StructParam.specific_fn] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_30.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_30.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method] @@ -1854,8 +1854,8 @@ fn F() { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %.236: = impl_self_witness %EE, @Z [concrete] -// CHECK:STDOUT: %Z.impl_witness.0e0: = impl_witness @EE.as.Z.impl.%Z.impl_witness_table [concrete] -// CHECK:STDOUT: %Z.facet.a2d: %Z.type = facet_value %EE, (%Z.impl_witness.0e0) [concrete] +// CHECK:STDOUT: %Z.impl_witness.ccc: = impl_witness @EE.as.Z.impl.%Z.impl_witness_table [concrete] +// CHECK:STDOUT: %Z.facet.932: %Z.type = facet_value %EE, (%Z.impl_witness.ccc) [concrete] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] @@ -1865,8 +1865,8 @@ fn F() { // CHECK:STDOUT: %DD.generic: %DD.type = struct_value () [concrete] // CHECK:STDOUT: %DD.699: type = class_type @DD, @DD(%E) [symbolic] // CHECK:STDOUT: %.91f: = impl_self_witness %DD.699, @Z [symbolic] -// CHECK:STDOUT: %Z.impl_witness.7fb: = impl_witness @DD.as.Z.impl.%Z.impl_witness_table, @DD.as.Z.impl(%E) [symbolic] -// CHECK:STDOUT: %Z.facet.419: %Z.type = facet_value %DD.699, (%Z.impl_witness.7fb) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.51d: = impl_witness @DD.as.Z.impl.%Z.impl_witness_table, @DD.as.Z.impl(%E) [symbolic] +// CHECK:STDOUT: %Z.facet.d5d: %Z.type = facet_value %DD.699, (%Z.impl_witness.51d) [symbolic] // CHECK:STDOUT: %pattern_type.5d7: type = pattern_type %Z.type [concrete] // CHECK:STDOUT: %D.patt: %pattern_type.5d7 = symbolic_binding_pattern D, 0 [symbolic] // CHECK:STDOUT: %D: %Z.type = symbolic_binding D, 0 [symbolic] @@ -1878,19 +1878,19 @@ fn F() { // CHECK:STDOUT: %Z.facet.0b6: %Z.type = facet_value %DD.699, (%Z.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %CC.2a8: type = class_type @CC, @CC(%Z.facet.0b6) [symbolic] // CHECK:STDOUT: %.e93: = impl_self_witness %CC.2a8, @Z [symbolic] -// CHECK:STDOUT: %Z.impl_witness.458: = impl_witness @CC.as.Z.impl.%Z.impl_witness_table, @CC.as.Z.impl(%E) [symbolic] -// CHECK:STDOUT: %Z.facet.2d1: %Z.type = facet_value %CC.2a8, (%Z.impl_witness.458) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.b97: = impl_witness @CC.as.Z.impl.%Z.impl_witness_table, @CC.as.Z.impl(%E) [symbolic] +// CHECK:STDOUT: %Z.facet.d37: %Z.type = facet_value %CC.2a8, (%Z.impl_witness.b97) [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %DD.cfc: type = class_type @DD, @DD(%EE) [concrete] // CHECK:STDOUT: %.890: = impl_self_witness %DD.cfc, @Z [concrete] -// CHECK:STDOUT: %Z.impl_witness.7dd: = impl_witness @DD.as.Z.impl.%Z.impl_witness_table, @DD.as.Z.impl(%EE) [concrete] +// CHECK:STDOUT: %Z.impl_witness.e0f: = impl_witness @DD.as.Z.impl.%Z.impl_witness_table, @DD.as.Z.impl(%EE) [concrete] // CHECK:STDOUT: %.061: require_specific_def_type = require_specific_def @DD.as.Z.impl(%EE) [concrete] -// CHECK:STDOUT: %Z.facet.da0: %Z.type = facet_value %DD.cfc, (%Z.impl_witness.7dd) [concrete] -// CHECK:STDOUT: %CC.a5a: type = class_type @CC, @CC(%Z.facet.da0) [concrete] -// CHECK:STDOUT: %.371: = impl_self_witness %CC.a5a, @Z [concrete] -// CHECK:STDOUT: %Z.impl_witness.df9: = impl_witness @CC.as.Z.impl.%Z.impl_witness_table, @CC.as.Z.impl(%EE) [concrete] -// CHECK:STDOUT: %Z.facet.57d: %Z.type = facet_value %CC.a5a, (%Z.impl_witness.df9) [concrete] +// CHECK:STDOUT: %Z.facet.2a1: %Z.type = facet_value %DD.cfc, (%Z.impl_witness.e0f) [concrete] +// CHECK:STDOUT: %CC.207: type = class_type @CC, @CC(%Z.facet.2a1) [concrete] +// CHECK:STDOUT: %.3de: = impl_self_witness %CC.207, @Z [concrete] +// CHECK:STDOUT: %Z.impl_witness.478: = impl_witness @CC.as.Z.impl.%Z.impl_witness_table, @CC.as.Z.impl(%EE) [concrete] +// CHECK:STDOUT: %Z.facet.bcb: %Z.type = facet_value %CC.207, (%Z.impl_witness.478) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1983,7 +1983,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: impl @EE.as.Z.impl: %EE.ref as %Z.ref { // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @EE.as.Z.impl [concrete] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness %Z.impl_witness_table [concrete = constants.%Z.impl_witness.0e0] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness %Z.impl_witness_table [concrete = constants.%Z.impl_witness.ccc] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Z.ref @@ -1995,13 +1995,13 @@ fn F() { // CHECK:STDOUT: %E.loc9_15.2: type = symbolic_binding E, 0 [symbolic = %E.loc9_15.2 (constants.%E)] // CHECK:STDOUT: %DD.loc9_27.2: type = class_type @DD, @DD(%E.loc9_15.2) [symbolic = %DD.loc9_27.2 (constants.%DD.699)] // CHECK:STDOUT: %.loc9_34: = impl_self_witness %DD.loc9_27.2, @Z [symbolic = %.loc9_34 (constants.%.91f)] -// CHECK:STDOUT: %Z.impl_witness.loc9_34.2: = impl_witness %Z.impl_witness_table, @DD.as.Z.impl(%E.loc9_15.2) [symbolic = %Z.impl_witness.loc9_34.2 (constants.%Z.impl_witness.7fb)] +// CHECK:STDOUT: %Z.impl_witness.loc9_34.2: = impl_witness %Z.impl_witness_table, @DD.as.Z.impl(%E.loc9_15.2) [symbolic = %Z.impl_witness.loc9_34.2 (constants.%Z.impl_witness.51d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %DD.loc9_27.1 as %Z.ref { // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @DD.as.Z.impl [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc9_34.1: = impl_witness %Z.impl_witness_table, @DD.as.Z.impl(constants.%E) [symbolic = %Z.impl_witness.loc9_34.2 (constants.%Z.impl_witness.7fb)] +// CHECK:STDOUT: %Z.impl_witness.loc9_34.1: = impl_witness %Z.impl_witness_table, @DD.as.Z.impl(constants.%E) [symbolic = %Z.impl_witness.loc9_34.2 (constants.%Z.impl_witness.51d)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Z.ref @@ -2018,13 +2018,13 @@ fn F() { // CHECK:STDOUT: %Z.facet.loc12_31.2: %Z.type = facet_value %DD.loc12_30.2, (%Z.lookup_impl_witness) [symbolic = %Z.facet.loc12_31.2 (constants.%Z.facet.0b6)] // CHECK:STDOUT: %CC.loc12_31.2: type = class_type @CC, @CC(%Z.facet.loc12_31.2) [symbolic = %CC.loc12_31.2 (constants.%CC.2a8)] // CHECK:STDOUT: %.loc12_38: = impl_self_witness %CC.loc12_31.2, @Z [symbolic = %.loc12_38 (constants.%.e93)] -// CHECK:STDOUT: %Z.impl_witness.loc12_38.2: = impl_witness %Z.impl_witness_table, @CC.as.Z.impl(%E.loc12_15.2) [symbolic = %Z.impl_witness.loc12_38.2 (constants.%Z.impl_witness.458)] +// CHECK:STDOUT: %Z.impl_witness.loc12_38.2: = impl_witness %Z.impl_witness_table, @CC.as.Z.impl(%E.loc12_15.2) [symbolic = %Z.impl_witness.loc12_38.2 (constants.%Z.impl_witness.b97)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %CC.loc12_31.1 as %Z.ref { // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @CC.as.Z.impl [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc12_38.1: = impl_witness %Z.impl_witness_table, @CC.as.Z.impl(constants.%E) [symbolic = %Z.impl_witness.loc12_38.2 (constants.%Z.impl_witness.458)] +// CHECK:STDOUT: %Z.impl_witness.loc12_38.1: = impl_witness %Z.impl_witness_table, @CC.as.Z.impl(constants.%E) [symbolic = %Z.impl_witness.loc12_38.2 (constants.%Z.impl_witness.b97)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Z.ref @@ -2076,12 +2076,12 @@ fn F() { // CHECK:STDOUT: %DD.ref: %DD.type = name_ref DD, file.%DD.decl [concrete = constants.%DD.generic] // CHECK:STDOUT: %EE.ref: type = name_ref EE, file.%EE.decl [concrete = constants.%EE] // CHECK:STDOUT: %DD: type = class_type @DD, @DD(constants.%EE) [concrete = constants.%DD.cfc] -// CHECK:STDOUT: %Z.facet.loc15_12: %Z.type = facet_value %DD, (constants.%Z.impl_witness.7dd) [concrete = constants.%Z.facet.da0] -// CHECK:STDOUT: %.loc15_12: %Z.type = converted %DD, %Z.facet.loc15_12 [concrete = constants.%Z.facet.da0] -// CHECK:STDOUT: %CC: type = class_type @CC, @CC(constants.%Z.facet.da0) [concrete = constants.%CC.a5a] +// CHECK:STDOUT: %Z.facet.loc15_12: %Z.type = facet_value %DD, (constants.%Z.impl_witness.e0f) [concrete = constants.%Z.facet.2a1] +// CHECK:STDOUT: %.loc15_12: %Z.type = converted %DD, %Z.facet.loc15_12 [concrete = constants.%Z.facet.2a1] +// CHECK:STDOUT: %CC: type = class_type @CC, @CC(constants.%Z.facet.2a1) [concrete = constants.%CC.207] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] -// CHECK:STDOUT: %Z.facet.loc15_14: %Z.type = facet_value %CC, (constants.%Z.impl_witness.df9) [concrete = constants.%Z.facet.57d] -// CHECK:STDOUT: %.loc15_14: %Z.type = converted %CC, %Z.facet.loc15_14 [concrete = constants.%Z.facet.57d] +// CHECK:STDOUT: %Z.facet.loc15_14: %Z.type = facet_value %CC, (constants.%Z.impl_witness.478) [concrete = constants.%Z.facet.bcb] +// CHECK:STDOUT: %.loc15_14: %Z.type = converted %CC, %Z.facet.loc15_14 [concrete = constants.%Z.facet.bcb] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2089,7 +2089,7 @@ fn F() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.a2d) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.932) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2103,12 +2103,12 @@ fn F() { // CHECK:STDOUT: %E.loc9_15.2 => constants.%E // CHECK:STDOUT: %DD.loc9_27.2 => constants.%DD.699 // CHECK:STDOUT: %.loc9_34 => constants.%.91f -// CHECK:STDOUT: %Z.impl_witness.loc9_34.2 => constants.%Z.impl_witness.7fb +// CHECK:STDOUT: %Z.impl_witness.loc9_34.2 => constants.%Z.impl_witness.51d // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.419) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.d5d) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2131,10 +2131,10 @@ fn F() { // CHECK:STDOUT: %Z.facet.loc12_31.2 => constants.%Z.facet.0b6 // CHECK:STDOUT: %CC.loc12_31.2 => constants.%CC.2a8 // CHECK:STDOUT: %.loc12_38 => constants.%.e93 -// CHECK:STDOUT: %Z.impl_witness.loc12_38.2 => constants.%Z.impl_witness.458 +// CHECK:STDOUT: %Z.impl_witness.loc12_38.2 => constants.%Z.impl_witness.b97 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.2d1) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.d37) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2148,14 +2148,14 @@ fn F() { // CHECK:STDOUT: %E.loc9_15.2 => constants.%EE // CHECK:STDOUT: %DD.loc9_27.2 => constants.%DD.cfc // CHECK:STDOUT: %.loc9_34 => constants.%.890 -// CHECK:STDOUT: %Z.impl_witness.loc9_34.2 => constants.%Z.impl_witness.7dd +// CHECK:STDOUT: %Z.impl_witness.loc9_34.2 => constants.%Z.impl_witness.e0f // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @CC(constants.%Z.facet.da0) { +// CHECK:STDOUT: specific @CC(constants.%Z.facet.2a1) { // CHECK:STDOUT: %D.patt.loc11_11.2 => constants.%D.patt -// CHECK:STDOUT: %D.loc11_11.1 => constants.%Z.facet.da0 +// CHECK:STDOUT: %D.loc11_11.1 => constants.%Z.facet.2a1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CC.as.Z.impl(constants.%EE) { @@ -2163,11 +2163,11 @@ fn F() { // CHECK:STDOUT: %E.loc12_15.2 => constants.%EE // CHECK:STDOUT: %DD.loc12_30.2 => constants.%DD.cfc // CHECK:STDOUT: %.loc12_31.2 => constants.%.061 -// CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.impl_witness.7dd -// CHECK:STDOUT: %Z.facet.loc12_31.2 => constants.%Z.facet.da0 -// CHECK:STDOUT: %CC.loc12_31.2 => constants.%CC.a5a -// CHECK:STDOUT: %.loc12_38 => constants.%.371 -// CHECK:STDOUT: %Z.impl_witness.loc12_38.2 => constants.%Z.impl_witness.df9 +// CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.impl_witness.e0f +// CHECK:STDOUT: %Z.facet.loc12_31.2 => constants.%Z.facet.2a1 +// CHECK:STDOUT: %CC.loc12_31.2 => constants.%CC.207 +// CHECK:STDOUT: %.loc12_38 => constants.%.3de +// CHECK:STDOUT: %Z.impl_witness.loc12_38.2 => constants.%Z.impl_witness.478 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } 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 61df70d66011..c0d3258accf8 100644 --- a/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon +++ b/toolchain/check/testdata/function/generic/deduce_nested_facet_value.carbon @@ -49,7 +49,7 @@ fn F() { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %.565: = impl_self_witness %DD, @Y [concrete] // CHECK:STDOUT: %Y.impl_witness: = impl_witness @DD.as.Y.impl.%Y.impl_witness_table [concrete] -// CHECK:STDOUT: %Y.facet.2a4: %Y.type = facet_value %DD, (%Y.impl_witness) [concrete] +// CHECK:STDOUT: %Y.facet.af9: %Y.type = facet_value %DD, (%Y.impl_witness) [concrete] // CHECK:STDOUT: %.918: = impl_self_witness %DD, @W [concrete] // CHECK:STDOUT: %W.impl_witness: = impl_witness @DD.as.W.impl.%W.impl_witness_table [concrete] // CHECK:STDOUT: %W.facet: %W.type = facet_value %DD, (%W.impl_witness) [concrete] @@ -68,8 +68,8 @@ fn F() { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Y.type, %type.as.BitAndWith.impl.Op [concrete] @@ -82,15 +82,15 @@ fn F() { // CHECK:STDOUT: %Y.facet.18f: %Y.type = facet_value %E.as_type, (%Y.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %CC.db5: type = class_type @CC, @CC(%Y.facet.18f) [symbolic] // CHECK:STDOUT: %.bd6: = impl_self_witness %CC.db5, @Z [symbolic] -// CHECK:STDOUT: %Z.impl_witness.6a9: = impl_witness @CC.as.Z.impl.%Z.impl_witness_table, @CC.as.Z.impl(%E) [symbolic] -// CHECK:STDOUT: %Z.facet.674: %Z.type = facet_value %CC.db5, (%Z.impl_witness.6a9) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.029: = impl_witness @CC.as.Z.impl.%Z.impl_witness_table, @CC.as.Z.impl(%E) [symbolic] +// CHECK:STDOUT: %Z.facet.9eb: %Z.type = facet_value %CC.db5, (%Z.impl_witness.029) [symbolic] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %CC.d62: type = class_type @CC, @CC(%Y.facet.2a4) [concrete] +// CHECK:STDOUT: %CC.43e: type = class_type @CC, @CC(%Y.facet.af9) [concrete] // CHECK:STDOUT: %facet_value: %facet_type = facet_value %DD, (%Y.impl_witness, %W.impl_witness) [concrete] -// CHECK:STDOUT: %.343: = impl_self_witness %CC.d62, @Z [concrete] -// CHECK:STDOUT: %Z.impl_witness.b3a: = impl_witness @CC.as.Z.impl.%Z.impl_witness_table, @CC.as.Z.impl(%facet_value) [concrete] -// CHECK:STDOUT: %Z.facet.737: %Z.type = facet_value %CC.d62, (%Z.impl_witness.b3a) [concrete] +// CHECK:STDOUT: %.b82: = impl_self_witness %CC.43e, @Z [concrete] +// CHECK:STDOUT: %Z.impl_witness.362: = impl_witness @CC.as.Z.impl.%Z.impl_witness_table, @CC.as.Z.impl(%facet_value) [concrete] +// CHECK:STDOUT: %Z.facet.07b: %Z.type = facet_value %CC.43e, (%Z.impl_witness.362) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -152,7 +152,7 @@ fn F() { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] // CHECK:STDOUT: %W.ref: type = name_ref W, file.%W.decl [concrete = constants.%W.type] -// CHECK:STDOUT: %impl.elem0: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Y.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Y.ref, %W.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc19_19.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -223,13 +223,13 @@ fn F() { // CHECK:STDOUT: %Y.facet.loc19_28.2: %Y.type = facet_value %E.as_type.loc19_28.2, (%Y.lookup_impl_witness) [symbolic = %Y.facet.loc19_28.2 (constants.%Y.facet.18f)] // CHECK:STDOUT: %CC.loc19_28.2: type = class_type @CC, @CC(%Y.facet.loc19_28.2) [symbolic = %CC.loc19_28.2 (constants.%CC.db5)] // CHECK:STDOUT: %.loc19_35: = impl_self_witness %CC.loc19_28.2, @Z [symbolic = %.loc19_35 (constants.%.bd6)] -// CHECK:STDOUT: %Z.impl_witness.loc19_35.2: = impl_witness %Z.impl_witness_table, @CC.as.Z.impl(%E.loc19_15.2) [symbolic = %Z.impl_witness.loc19_35.2 (constants.%Z.impl_witness.6a9)] +// CHECK:STDOUT: %Z.impl_witness.loc19_35.2: = impl_witness %Z.impl_witness_table, @CC.as.Z.impl(%E.loc19_15.2) [symbolic = %Z.impl_witness.loc19_35.2 (constants.%Z.impl_witness.029)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %CC.loc19_28.1 as %Z.ref { // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @CC.as.Z.impl [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc19_35.1: = impl_witness %Z.impl_witness_table, @CC.as.Z.impl(constants.%E) [symbolic = %Z.impl_witness.loc19_35.2 (constants.%Z.impl_witness.6a9)] +// CHECK:STDOUT: %Z.impl_witness.loc19_35.1: = impl_witness %Z.impl_witness_table, @CC.as.Z.impl(constants.%E) [symbolic = %Z.impl_witness.loc19_35.2 (constants.%Z.impl_witness.029)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Z.ref @@ -264,12 +264,12 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %CC.ref: %CC.type = name_ref CC, file.%CC.decl [concrete = constants.%CC.generic] // CHECK:STDOUT: %DD.ref: type = name_ref DD, file.%DD.decl [concrete = constants.%DD] -// CHECK:STDOUT: %Y.facet: %Y.type = facet_value %DD.ref, (constants.%Y.impl_witness) [concrete = constants.%Y.facet.2a4] -// CHECK:STDOUT: %.loc22_9: %Y.type = converted %DD.ref, %Y.facet [concrete = constants.%Y.facet.2a4] -// CHECK:STDOUT: %CC: type = class_type @CC, @CC(constants.%Y.facet.2a4) [concrete = constants.%CC.d62] +// CHECK:STDOUT: %Y.facet: %Y.type = facet_value %DD.ref, (constants.%Y.impl_witness) [concrete = constants.%Y.facet.af9] +// CHECK:STDOUT: %.loc22_9: %Y.type = converted %DD.ref, %Y.facet [concrete = constants.%Y.facet.af9] +// CHECK:STDOUT: %CC: type = class_type @CC, @CC(constants.%Y.facet.af9) [concrete = constants.%CC.43e] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] -// CHECK:STDOUT: %Z.facet: %Z.type = facet_value %CC, (constants.%Z.impl_witness.b3a) [concrete = constants.%Z.facet.737] -// CHECK:STDOUT: %.loc22_12: %Z.type = converted %CC, %Z.facet [concrete = constants.%Z.facet.737] +// CHECK:STDOUT: %Z.facet: %Z.type = facet_value %CC, (constants.%Z.impl_witness.362) [concrete = constants.%Z.facet.07b] +// CHECK:STDOUT: %.loc22_12: %Z.type = converted %CC, %Z.facet [concrete = constants.%Z.facet.07b] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -281,7 +281,7 @@ fn F() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Y.WithSelf(constants.%Y.facet.2a4) { +// CHECK:STDOUT: specific @Y.WithSelf(constants.%Y.facet.af9) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -311,16 +311,16 @@ fn F() { // CHECK:STDOUT: %Y.facet.loc19_28.2 => constants.%Y.facet.18f // CHECK:STDOUT: %CC.loc19_28.2 => constants.%CC.db5 // CHECK:STDOUT: %.loc19_35 => constants.%.bd6 -// CHECK:STDOUT: %Z.impl_witness.loc19_35.2 => constants.%Z.impl_witness.6a9 +// CHECK:STDOUT: %Z.impl_witness.loc19_35.2 => constants.%Z.impl_witness.029 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.674) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.9eb) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @CC(constants.%Y.facet.2a4) { +// CHECK:STDOUT: specific @CC(constants.%Y.facet.af9) { // CHECK:STDOUT: %D.patt.loc12_11.2 => constants.%D.patt -// CHECK:STDOUT: %D.loc12_11.1 => constants.%Y.facet.2a4 +// CHECK:STDOUT: %D.loc12_11.1 => constants.%Y.facet.af9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @CC.as.Z.impl(constants.%facet_value) { @@ -328,10 +328,10 @@ fn F() { // CHECK:STDOUT: %E.loc19_15.2 => constants.%facet_value // CHECK:STDOUT: %E.as_type.loc19_28.2 => constants.%DD // CHECK:STDOUT: %Y.lookup_impl_witness => constants.%Y.impl_witness -// CHECK:STDOUT: %Y.facet.loc19_28.2 => constants.%Y.facet.2a4 -// CHECK:STDOUT: %CC.loc19_28.2 => constants.%CC.d62 -// CHECK:STDOUT: %.loc19_35 => constants.%.343 -// CHECK:STDOUT: %Z.impl_witness.loc19_35.2 => constants.%Z.impl_witness.b3a +// CHECK:STDOUT: %Y.facet.loc19_28.2 => constants.%Y.facet.af9 +// CHECK:STDOUT: %CC.loc19_28.2 => constants.%CC.43e +// CHECK:STDOUT: %.loc19_35 => constants.%.b82 +// CHECK:STDOUT: %Z.impl_witness.loc19_35.2 => constants.%Z.impl_witness.362 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/param_in_type.carbon b/toolchain/check/testdata/function/generic/param_in_type.carbon index dd3bab8b6f9b..200e87fcc862 100644 --- a/toolchain/check/testdata/function/generic/param_in_type.carbon +++ b/toolchain/check/testdata/function/generic/param_in_type.carbon @@ -32,12 +32,12 @@ fn F(generic N: i32, a: array(i32, N)*); // CHECK:STDOUT: %From: Core.IntLiteral = symbolic_binding From, 0 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %N.37f, %Int.as.ImplicitAs.impl.Convert.69e [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %N.37f, %Int.as.ImplicitAs.impl.Convert.specific_fn [symbolic] @@ -61,7 +61,7 @@ fn F(generic N: i32, a: array(i32, N)*); // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -84,7 +84,7 @@ fn F(generic N: i32, a: array(i32, N)*); // CHECK:STDOUT: %.loc15_38: type = splice_block %ptr.loc15_38.2 [symbolic = %ptr.loc15_38.1 (constants.%ptr)] { // CHECK:STDOUT: %i32.loc15_31: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %N.ref: %i32 = name_ref N, %N.loc15_15.2 [symbolic = %N.loc15_15.1 (constants.%N.37f)] -// CHECK:STDOUT: %impl.elem0: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc15_36.2: = bound_method %N.ref, %impl.elem0 [symbolic = %Int.as.ImplicitAs.impl.Convert.bound (constants.%Int.as.ImplicitAs.impl.Convert.bound)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_36.3: = bound_method %N.ref, %specific_fn [symbolic = %bound_method.loc15_36.1 (constants.%bound_method)] diff --git a/toolchain/check/testdata/function/generic/resolve_used.carbon b/toolchain/check/testdata/function/generic/resolve_used.carbon index 6bdced59e74b..425f99574192 100644 --- a/toolchain/check/testdata/function/generic/resolve_used.carbon +++ b/toolchain/check/testdata/function/generic/resolve_used.carbon @@ -83,13 +83,13 @@ fn CallNegative() { // CHECK:STDOUT: %pattern_type.d0e: type = pattern_type %i0 [concrete] // CHECK:STDOUT: %v.patt.53c: %pattern_type.d0e = ref_binding_pattern v [concrete] // CHECK:STDOUT: %v.var_patt.0d0: %pattern_type.d0e = var_pattern %v.patt.53c [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.8d2: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%i0) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.0a7: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%i0) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.baf: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%i0) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.38a: %T.as.DefaultOrUnformed.impl.Op.type.baf = struct_value () [concrete] // CHECK:STDOUT: %.060: require_specific_def_type = require_specific_def @T.as.DefaultOrUnformed.impl(%i0) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.4e3: %DefaultOrUnformed.type = facet_value %i0, (%DefaultOrUnformed.impl_witness.8d2) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.7c9: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.4e3) [concrete] -// CHECK:STDOUT: %.21a: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.7c9, %DefaultOrUnformed.facet.4e3 [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.6c8: %DefaultOrUnformed.type = facet_value %i0, (%DefaultOrUnformed.impl_witness.0a7) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type.2b9: type = fn_type @DefaultOrUnformed.WithSelf.Op, @DefaultOrUnformed.WithSelf(%DefaultOrUnformed.facet.6c8) [concrete] +// CHECK:STDOUT: %.b06: type = fn_type_with_self_type %DefaultOrUnformed.WithSelf.Op.type.2b9, %DefaultOrUnformed.facet.6c8 [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.38a, @T.as.DefaultOrUnformed.impl.Op(%i0) [concrete] // CHECK:STDOUT: %Destroy.Op.type: type = fn_type @Destroy.Op [concrete] // CHECK:STDOUT: %Destroy.Op: %Destroy.Op.type = struct_value () [concrete] @@ -112,7 +112,7 @@ fn CallNegative() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -225,10 +225,10 @@ fn CallNegative() { // CHECK:STDOUT: %v.patt.loc9_15.2 => constants.%v.patt.53c // CHECK:STDOUT: %v.var_patt.loc9_3.2 => constants.%v.var_patt.0d0 // CHECK:STDOUT: %.loc9_28.3 => constants.%.060 -// CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness => constants.%DefaultOrUnformed.impl_witness.8d2 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc9_28.2 => constants.%DefaultOrUnformed.facet.4e3 -// CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type => constants.%DefaultOrUnformed.WithSelf.Op.type.7c9 -// CHECK:STDOUT: %.loc9_28.4 => constants.%.21a +// CHECK:STDOUT: %DefaultOrUnformed.lookup_impl_witness => constants.%DefaultOrUnformed.impl_witness.0a7 +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc9_28.2 => constants.%DefaultOrUnformed.facet.6c8 +// CHECK:STDOUT: %DefaultOrUnformed.WithSelf.Op.type => constants.%DefaultOrUnformed.WithSelf.Op.type.2b9 +// CHECK:STDOUT: %.loc9_28.4 => constants.%.b06 // CHECK:STDOUT: %impl.elem0.loc9_28.2 => constants.%T.as.DefaultOrUnformed.impl.Op.38a // CHECK:STDOUT: %specific_impl_fn.loc9_28.2 => constants.%T.as.DefaultOrUnformed.impl.Op.specific_fn // CHECK:STDOUT: %Destroy.lookup_impl_witness => constants.%custom_witness.df9 diff --git a/toolchain/check/testdata/generic/dependent_param.carbon b/toolchain/check/testdata/generic/dependent_param.carbon index 147c2e8f42c8..a7e7d2497405 100644 --- a/toolchain/check/testdata/generic/dependent_param.carbon +++ b/toolchain/check/testdata/generic/dependent_param.carbon @@ -67,26 +67,26 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: %n.var_patt: %pattern_type.6b6 = var_pattern %n.patt [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Outer.90e: type = class_type @Outer, @Outer(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %Inner.type.053: type = generic_class_type @Inner, @Outer(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %Inner.generic.ab4: %Inner.type.053 = struct_value () [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Outer.6b9: type = class_type @Outer, @Outer(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %Inner.type.a8a: type = generic_class_type @Inner, @Outer(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %Inner.generic.cbc: %Inner.type.a8a = struct_value () [concrete] // CHECK:STDOUT: %int_42.20e: Core.IntLiteral = int_value 42 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.6da: = impl_witness imports.%Copy.impl_witness_table.06e [concrete] -// CHECK:STDOUT: %Copy.facet.f12: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.6da) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0b3: = impl_witness imports.%Copy.impl_witness_table.ee5 [concrete] +// CHECK:STDOUT: %Copy.facet.d66: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.0b3) [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] @@ -94,13 +94,13 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: %bound_method.098: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_42.ac4: %i32 = int_value 42 [concrete] // CHECK:STDOUT: %U.patt.a76: %pattern_type.6b6 = symbolic_binding_pattern U, 1 [symbolic] -// CHECK:STDOUT: %Inner.aad: type = class_type @Inner, @Inner(%Copy.facet.987, %int_42.ac4) [concrete] -// CHECK:STDOUT: %Inner.Get.type.6e9: type = fn_type @Inner.Get, @Inner(%Copy.facet.987, %int_42.ac4) [concrete] -// CHECK:STDOUT: %Inner.Get.bb6: %Inner.Get.type.6e9 = struct_value () [concrete] +// CHECK:STDOUT: %Inner.b54: type = class_type @Inner, @Inner(%Copy.facet.1e1, %int_42.ac4) [concrete] +// CHECK:STDOUT: %Inner.Get.type.6ce: type = fn_type @Inner.Get, @Inner(%Copy.facet.1e1, %int_42.ac4) [concrete] +// CHECK:STDOUT: %Inner.Get.6a7: %Inner.Get.type.6ce = struct_value () [concrete] // CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete] -// CHECK:STDOUT: %Inner.Get.specific_fn: = specific_function %Inner.Get.bb6, @Inner.Get(%Copy.facet.987, %int_42.ac4) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Inner.Get.specific_fn: = specific_function %Inner.Get.6a7, @Inner.Get(%Copy.facet.1e1, %int_42.ac4) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_42.ac4, %Int.as.Copy.impl.Op.4f6 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.590: = bound_method %int_42.ac4, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -108,11 +108,11 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.bbf = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %Copy.impl_witness_table.06e = impl_witness_table (%Core.import_ref.bbf), @Core.IntLiteral.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ee5 = impl_witness_table (%Core.import_ref.bbf), @Core.IntLiteral.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -210,25 +210,25 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Outer.ref: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %Copy.facet.loc13_23: %Copy.type = facet_value %i32, (constants.%Copy.impl_witness.0e0) [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %.loc13_23: %Copy.type = converted %i32, %Copy.facet.loc13_23 [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %Outer: type = class_type @Outer, @Outer(constants.%Copy.facet.987) [concrete = constants.%Outer.90e] -// CHECK:STDOUT: %.loc13_24: %Inner.type.053 = specific_constant @Outer.%Inner.decl, @Outer(constants.%Copy.facet.987) [concrete = constants.%Inner.generic.ab4] -// CHECK:STDOUT: %Inner.ref: %Inner.type.053 = name_ref Inner, %.loc13_24 [concrete = constants.%Inner.generic.ab4] +// CHECK:STDOUT: %Copy.facet.loc13_23: %Copy.type = facet_value %i32, (constants.%Copy.impl_witness.b51) [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %.loc13_23: %Copy.type = converted %i32, %Copy.facet.loc13_23 [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %Outer: type = class_type @Outer, @Outer(constants.%Copy.facet.1e1) [concrete = constants.%Outer.6b9] +// CHECK:STDOUT: %.loc13_24: %Inner.type.a8a = specific_constant @Outer.%Inner.decl, @Outer(constants.%Copy.facet.1e1) [concrete = constants.%Inner.generic.cbc] +// CHECK:STDOUT: %Inner.ref: %Inner.type.a8a = name_ref Inner, %.loc13_24 [concrete = constants.%Inner.generic.cbc] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] -// CHECK:STDOUT: %Copy.facet.loc13_33: %Copy.type = facet_value Core.IntLiteral, (constants.%Copy.impl_witness.6da) [concrete = constants.%Copy.facet.f12] -// CHECK:STDOUT: %.loc13_33.1: %Copy.type = converted Core.IntLiteral, %Copy.facet.loc13_33 [concrete = constants.%Copy.facet.f12] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %Copy.facet.loc13_33: %Copy.type = facet_value Core.IntLiteral, (constants.%Copy.impl_witness.0b3) [concrete = constants.%Copy.facet.d66] +// CHECK:STDOUT: %.loc13_33.1: %Copy.type = converted Core.IntLiteral, %Copy.facet.loc13_33 [concrete = constants.%Copy.facet.d66] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_33.1: = bound_method constants.%int_42.20e, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_33.2: = bound_method constants.%int_42.20e, %specific_fn [concrete = constants.%bound_method.098] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc13_33.2(constants.%int_42.20e) [concrete = constants.%int_42.ac4] // CHECK:STDOUT: %.loc13_33.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_42.ac4] // CHECK:STDOUT: %.loc13_33.3: %i32 = converted constants.%int_42.20e, %.loc13_33.2 [concrete = constants.%int_42.ac4] -// CHECK:STDOUT: %Inner: type = class_type @Inner, @Inner(constants.%Copy.facet.987, constants.%int_42.ac4) [concrete = constants.%Inner.aad] -// CHECK:STDOUT: %.loc13_34: %Inner.Get.type.6e9 = specific_constant @Inner.%Inner.Get.decl, @Inner(constants.%Copy.facet.987, constants.%int_42.ac4) [concrete = constants.%Inner.Get.bb6] -// CHECK:STDOUT: %Get.ref: %Inner.Get.type.6e9 = name_ref Get, %.loc13_34 [concrete = constants.%Inner.Get.bb6] -// CHECK:STDOUT: %Inner.Get.specific_fn: = specific_function %Get.ref, @Inner.Get(constants.%Copy.facet.987, constants.%int_42.ac4) [concrete = constants.%Inner.Get.specific_fn] +// CHECK:STDOUT: %Inner: type = class_type @Inner, @Inner(constants.%Copy.facet.1e1, constants.%int_42.ac4) [concrete = constants.%Inner.b54] +// CHECK:STDOUT: %.loc13_34: %Inner.Get.type.6ce = specific_constant @Inner.%Inner.Get.decl, @Inner(constants.%Copy.facet.1e1, constants.%int_42.ac4) [concrete = constants.%Inner.Get.6a7] +// CHECK:STDOUT: %Get.ref: %Inner.Get.type.6ce = name_ref Get, %.loc13_34 [concrete = constants.%Inner.Get.6a7] +// CHECK:STDOUT: %Inner.Get.specific_fn: = specific_function %Get.ref, @Inner.Get(constants.%Copy.facet.1e1, constants.%int_42.ac4) [concrete = constants.%Inner.Get.specific_fn] // CHECK:STDOUT: %Inner.Get.call: init %i32 = call %Inner.Get.specific_fn() // CHECK:STDOUT: assign file.%n.var, %Inner.Get.call // CHECK:STDOUT: @@ -264,29 +264,29 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: %return.patt.loc7_14.2 => constants.%return.patt.f44 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Outer(constants.%Copy.facet.987) { +// CHECK:STDOUT: specific @Outer(constants.%Copy.facet.1e1) { // CHECK:STDOUT: %T.patt.loc4_14.2 => constants.%T.patt.fe6 -// CHECK:STDOUT: %T.loc4_14.1 => constants.%Copy.facet.987 +// CHECK:STDOUT: %T.loc4_14.1 => constants.%Copy.facet.1e1 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Inner.type => constants.%Inner.type.053 -// CHECK:STDOUT: %Inner.generic => constants.%Inner.generic.ab4 +// CHECK:STDOUT: %Inner.type => constants.%Inner.type.a8a +// CHECK:STDOUT: %Inner.generic => constants.%Inner.generic.cbc // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Inner(constants.%Copy.facet.987, constants.%int_42.ac4) { -// CHECK:STDOUT: %T => constants.%Copy.facet.987 +// CHECK:STDOUT: specific @Inner(constants.%Copy.facet.1e1, constants.%int_42.ac4) { +// CHECK:STDOUT: %T => constants.%Copy.facet.1e1 // CHECK:STDOUT: %T.as_type.loc5_18.1 => constants.%i32 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6b6 // CHECK:STDOUT: %U.patt.loc5_16.2 => constants.%U.patt.a76 // CHECK:STDOUT: %U.loc5_16.1 => constants.%int_42.ac4 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Inner.Get.type => constants.%Inner.Get.type.6e9 -// CHECK:STDOUT: %Inner.Get => constants.%Inner.Get.bb6 +// CHECK:STDOUT: %Inner.Get.type => constants.%Inner.Get.type.6ce +// CHECK:STDOUT: %Inner.Get => constants.%Inner.Get.6a7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Inner.Get(constants.%Copy.facet.987, constants.%int_42.ac4) { -// CHECK:STDOUT: %T => constants.%Copy.facet.987 +// CHECK:STDOUT: specific @Inner.Get(constants.%Copy.facet.1e1, constants.%int_42.ac4) { +// CHECK:STDOUT: %T => constants.%Copy.facet.1e1 // CHECK:STDOUT: %T.as_type.loc7_17.1 => constants.%i32 // CHECK:STDOUT: %.loc7_17.2 => constants.%.795f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6b6 @@ -296,9 +296,9 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.f8a // CHECK:STDOUT: %U => constants.%int_42.ac4 -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.d09 -// CHECK:STDOUT: %.loc7_28.3 => constants.%.7a6 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.0e0 +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.381 +// CHECK:STDOUT: %.loc7_28.3 => constants.%.737 +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.b51 // CHECK:STDOUT: %impl.elem0.loc7_28.2 => constants.%Int.as.Copy.impl.Op.4f6 // CHECK:STDOUT: %bound_method.loc7_28.3 => constants.%Int.as.Copy.impl.Op.bound // CHECK:STDOUT: %specific_impl_fn.loc7_28.2 => constants.%Int.as.Copy.impl.Op.specific_fn diff --git a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon index 267bde537c93..79153749b2bd 100644 --- a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon +++ b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon @@ -351,7 +351,7 @@ fn H(generic T: type) { // CHECK:STDOUT: %ptr.e8f8f9.1: type = ptr_type %AA [symbolic] // CHECK:STDOUT: %B.type.4a0be4.1: type = facet_type <@B, @B(%ptr.e8f8f9.1)> [symbolic] // CHECK:STDOUT: %.a32: = impl_self_witness %BB.as_type, @B, @B(%ptr.e8f8f9.1) [symbolic] -// CHECK:STDOUT: %B.impl_witness.8cc: = impl_witness @BB.as_type.as.B.impl.%B.impl_witness_table, @BB.as_type.as.B.impl(%AA, %BB.6ca) [symbolic] +// CHECK:STDOUT: %B.impl_witness.1f1: = impl_witness @BB.as_type.as.B.impl.%B.impl_witness_table, @BB.as_type.as.B.impl(%AA, %BB.6ca) [symbolic] // CHECK:STDOUT: %require_complete.a5dc9d.1: = require_complete_type %B.type.4a0be4.1 [symbolic] // CHECK:STDOUT: %DD.patt: %pattern_type.98f = symbolic_binding_pattern DD, 0 [symbolic] // CHECK:STDOUT: %DD: type = symbolic_binding DD, 0 [symbolic] @@ -443,14 +443,14 @@ fn H(generic T: type) { // CHECK:STDOUT: %ptr.loc9_59.2: type = ptr_type %AA.loc9_16.2 [symbolic = %ptr.loc9_59.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %B.type.loc9_60.2: type = facet_type <@B, @B(%ptr.loc9_59.2)> [symbolic = %B.type.loc9_60.2 (constants.%B.type.4a0be4.1)] // CHECK:STDOUT: %.loc9_62: = impl_self_witness %BB.as_type.loc9_49.2, @B, @B(%ptr.loc9_59.2) [symbolic = %.loc9_62 (constants.%.a32)] -// CHECK:STDOUT: %B.impl_witness.loc9_62.2: = impl_witness %B.impl_witness_table, @BB.as_type.as.B.impl(%AA.loc9_16.2, %BB.loc9_26.2) [symbolic = %B.impl_witness.loc9_62.2 (constants.%B.impl_witness.8cc)] +// CHECK:STDOUT: %B.impl_witness.loc9_62.2: = impl_witness %B.impl_witness_table, @BB.as_type.as.B.impl(%AA.loc9_16.2, %BB.loc9_26.2) [symbolic = %B.impl_witness.loc9_62.2 (constants.%B.impl_witness.1f1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc9_60: = require_complete_type %B.type.loc9_60.2 [symbolic = %require_complete.loc9_60 (constants.%require_complete.a5dc9d.1)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc9_49 as %B.type.loc9_60.1 { // CHECK:STDOUT: %B.impl_witness_table = impl_witness_table (), @BB.as_type.as.B.impl [concrete] -// CHECK:STDOUT: %B.impl_witness.loc9_62.1: = impl_witness %B.impl_witness_table, @BB.as_type.as.B.impl(constants.%AA, constants.%BB.6ca) [symbolic = %B.impl_witness.loc9_62.2 (constants.%B.impl_witness.8cc)] +// CHECK:STDOUT: %B.impl_witness.loc9_62.1: = impl_witness %B.impl_witness_table, @BB.as_type.as.B.impl(constants.%AA, constants.%BB.6ca) [symbolic = %B.impl_witness.loc9_62.2 (constants.%B.impl_witness.1f1)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %B.type.loc9_60.1 @@ -522,7 +522,7 @@ fn H(generic T: type) { // CHECK:STDOUT: %ptr.loc9_59.2 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %B.type.loc9_60.2 => constants.%B.type.4a0be4.1 // CHECK:STDOUT: %.loc9_62 => constants.%.a32 -// CHECK:STDOUT: %B.impl_witness.loc9_62.2 => constants.%B.impl_witness.8cc +// CHECK:STDOUT: %B.impl_witness.loc9_62.2 => constants.%B.impl_witness.1f1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @D(constants.%DD) { diff --git a/toolchain/check/testdata/generic/local.carbon b/toolchain/check/testdata/generic/local.carbon index 4cd9a10758e6..ed20aa206b69 100644 --- a/toolchain/check/testdata/generic/local.carbon +++ b/toolchain/check/testdata/generic/local.carbon @@ -91,12 +91,12 @@ class C(C: type) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -118,7 +118,7 @@ class C(C: 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.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -170,7 +170,7 @@ class C(C: type) { // CHECK:STDOUT: %v.var: ref %C.8eb = var_storage %v.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc8_33.1: %struct_type.x.c96 = struct_literal (%int_1) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_33.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_33.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/generic/template/convert.carbon b/toolchain/check/testdata/generic/template/convert.carbon index 78f021a4f8c2..3dbbfe01d305 100644 --- a/toolchain/check/testdata/generic/template/convert.carbon +++ b/toolchain/check/testdata/generic/template/convert.carbon @@ -91,12 +91,12 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.6b6 = value_param_pattern [concrete] // CHECK:STDOUT: %n.patt.f0b: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete] @@ -111,14 +111,14 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %.bc7: = impl_self_witness %C, @ImplicitAs, @ImplicitAs(%i32) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.496: = impl_witness @C.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.edb: = impl_witness @C.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %self.param_patt.303: %pattern_type.98b = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.49a: %pattern_type.98b = at_binding_pattern self, %self.param_patt.303 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.type: type = fn_type @C.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert: %C.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value %C, (%ImplicitAs.impl_witness.496) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.034: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value %C, (%ImplicitAs.impl_witness.edb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.5bd: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %struct_type.n: type = struct_type {.n: %i32} [concrete] // CHECK:STDOUT: %complete_type.cdf: = complete_type_witness %struct_type.n [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.98b = value_param_pattern [concrete] @@ -137,14 +137,14 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %inst.as_compatible.d98: = inst_value [concrete] { // CHECK:STDOUT: %.f8c: %C = as_compatible @F.%x.ref // CHECK:STDOUT: } -// CHECK:STDOUT: %.593: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.034, %ImplicitAs.facet [concrete] -// CHECK:STDOUT: %inst.splice_block.15c: = inst_value [concrete] { -// CHECK:STDOUT: %.7a69: %i32 = splice_block %.dc2 { -// CHECK:STDOUT: %impl.elem0.6f7: %.593 = impl_witness_access %ImplicitAs.impl_witness.496, element0 [concrete = %C.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %bound_method: = bound_method %.f8c, %impl.elem0.6f7 +// CHECK:STDOUT: %.ddb: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.5bd, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %inst.splice_block.da9: = inst_value [concrete] { +// CHECK:STDOUT: %.a5c: %i32 = splice_block %.946 { +// CHECK:STDOUT: %impl.elem0.a96: %.ddb = impl_witness_access %ImplicitAs.impl_witness.edb, element0 [concrete = %C.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %bound_method: = bound_method %.f8c, %impl.elem0.a96 // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method(%.f8c) -// CHECK:STDOUT: %.cae: %i32 = value_of_initializer %C.as.ImplicitAs.impl.Convert.call -// CHECK:STDOUT: %.dc2: %i32 = converted %.f8c, %.cae +// CHECK:STDOUT: %.651: %i32 = value_of_initializer %C.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.946: %i32 = converted %.f8c, %.651 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -160,7 +160,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -240,7 +240,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%C.as.ImplicitAs.impl.Convert.decl), @C.as.ImplicitAs.impl [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.496] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.edb] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Convert = %C.as.ImplicitAs.impl.Convert.decl @@ -289,7 +289,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %n.patt: %pattern_type.6b6 = value_binding_pattern n [concrete = constants.%n.patt.c48] // CHECK:STDOUT: } // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n -// CHECK:STDOUT: %impl.elem0: %.7a62 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_10.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_10.2: = bound_method %n.ref, %specific_fn @@ -313,7 +313,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %n.ref: %C.elem = name_ref n, @C.%.loc14 [concrete = @C.%.loc14] // CHECK:STDOUT: %.loc16_42.1: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc16_42.2: %i32 = acquire_value %.loc16_42.1 -// CHECK:STDOUT: %impl.elem0: %.7a62 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_42.1: = bound_method %.loc16_42.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_42.2: = bound_method %.loc16_42.2, %specific_fn @@ -361,7 +361,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.cdf // CHECK:STDOUT: %.loc5_16.3 => constants.%inst.as_compatible.d98 -// CHECK:STDOUT: %.loc5_16.4 => constants.%inst.splice_block.15c +// CHECK:STDOUT: %.loc5_16.4 => constants.%inst.splice_block.da9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_cannot_convert.carbon @@ -391,12 +391,12 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -432,7 +432,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -512,7 +512,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %n.patt: %pattern_type.6b6 = value_binding_pattern n [concrete = constants.%n.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_10.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_10.2: = bound_method %n.ref, %specific_fn diff --git a/toolchain/check/testdata/generic/template/member_access.carbon b/toolchain/check/testdata/generic/template/member_access.carbon index 0e478cd60e85..c87fddbd9bee 100644 --- a/toolchain/check/testdata/generic/template/member_access.carbon +++ b/toolchain/check/testdata/generic/template/member_access.carbon @@ -112,12 +112,12 @@ fn Test(e: E) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %C.elem: type = unbound_element_type %C, %i32 [concrete] @@ -173,7 +173,7 @@ fn Test(e: E) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -264,7 +264,7 @@ fn Test(e: E) { // CHECK:STDOUT: %n.patt: %pattern_type.6b6 = value_binding_pattern n [concrete = constants.%n.patt.c48] // CHECK:STDOUT: } // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_10.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_10.2: = bound_method %n.ref, %specific_fn @@ -356,12 +356,12 @@ fn Test(e: E) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %D.elem: type = unbound_element_type %D, %i32 [concrete] @@ -396,7 +396,7 @@ fn Test(e: E) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -475,7 +475,7 @@ fn Test(e: E) { // CHECK:STDOUT: %n.patt: %pattern_type.6b6 = value_binding_pattern n [concrete = constants.%n.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_10.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_10.2: = bound_method %n.ref, %specific_fn @@ -543,12 +543,12 @@ fn Test(e: E) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %E: type = class_type @E [concrete] // CHECK:STDOUT: %F.76a: type = class_type @F.loc10 [concrete] @@ -595,7 +595,7 @@ fn Test(e: E) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -684,7 +684,7 @@ fn Test(e: E) { // CHECK:STDOUT: %n.patt: %pattern_type.6b6 = value_binding_pattern n [concrete = constants.%n.patt.c48] // CHECK:STDOUT: } // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_10.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_10.2: = bound_method %n.ref, %specific_fn diff --git a/toolchain/check/testdata/generic/var_param.carbon b/toolchain/check/testdata/generic/var_param.carbon index ee51a111e9b9..50a5b369664a 100644 --- a/toolchain/check/testdata/generic/var_param.carbon +++ b/toolchain/check/testdata/generic/var_param.carbon @@ -59,12 +59,12 @@ fn Test(x: i32) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc22_24.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] @@ -72,7 +72,7 @@ fn Test(x: i32) { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -122,7 +122,7 @@ fn Test(x: i32) { // CHECK:STDOUT: %I.facet.loc27_11.2: %I.type = facet_value constants.%i32, (constants.%I.impl_witness) [concrete = constants.%I.facet] // CHECK:STDOUT: %.loc27_11.2: %I.type = converted constants.%i32, %I.facet.loc27_11.2 [concrete = constants.%I.facet] // CHECK:STDOUT: %TestOp.specific_fn: = specific_function %TestOp.ref, @TestOp(constants.%I.facet) [concrete = constants.%TestOp.specific_fn] -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc27_10.1: = bound_method %x.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc27_10.2: = bound_method %x.ref, %specific_fn diff --git a/toolchain/check/testdata/global/basics.carbon b/toolchain/check/testdata/global/basics.carbon index aeccbed0e110..c8fd14c2e48d 100644 --- a/toolchain/check/testdata/global/basics.carbon +++ b/toolchain/check/testdata/global/basics.carbon @@ -65,13 +65,13 @@ var a: A = Make(); // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.f5a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %empty_struct_type, (%DefaultOrUnformed.impl_witness.f5a) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.2d6: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %empty_struct_type, (%DefaultOrUnformed.impl_witness.2d6) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -89,7 +89,7 @@ var a: A = Make(); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%empty_struct_type, (constants.%DefaultOrUnformed.impl_witness.f5a) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%empty_struct_type, (constants.%DefaultOrUnformed.impl_witness.2d6) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc4_10.1: %DefaultOrUnformed.type = converted constants.%empty_struct_type, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc4_10.1 [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %.loc4_10.2: type = converted %.loc4_10.1, %as_type [concrete = constants.%empty_struct_type] diff --git a/toolchain/check/testdata/if/basics.carbon b/toolchain/check/testdata/if/basics.carbon index b44d8012cc66..df00b3152c71 100644 --- a/toolchain/check/testdata/if/basics.carbon +++ b/toolchain/check/testdata/if/basics.carbon @@ -211,10 +211,10 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: %If: %If.type = struct_value () [concrete] // CHECK:STDOUT: %false: bool = bool_literal false [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.713: = impl_witness imports.%Copy.impl_witness_table.1ff [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.713) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.15e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4a4, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5e1: = impl_witness imports.%Copy.impl_witness_table.bda [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.d02: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.e28: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d02, %Copy.facet [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.type: type = fn_type @bool.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op: %bool.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.bound.84b: = bound_method %false, %bool.as.Copy.impl.Op [concrete] @@ -224,7 +224,7 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.9c3: %bool.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%bool.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.1ff = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.bda = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -251,14 +251,14 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: // CHECK:STDOUT: !if.then: // CHECK:STDOUT: %false: bool = bool_literal false [concrete = constants.%false] -// CHECK:STDOUT: %impl.elem0.loc6: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc6: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc6: = bound_method %false, %impl.elem0.loc6 [concrete = constants.%bool.as.Copy.impl.Op.bound.84b] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call.loc6: init bool = call %bound_method.loc6(%false) [concrete = constants.%false] // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call.loc6 // CHECK:STDOUT: // CHECK:STDOUT: !if.else: // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0.loc8: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc8: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc8: = bound_method %true, %impl.elem0.loc8 [concrete = constants.%bool.as.Copy.impl.Op.bound.1b3] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call.loc8: init bool = call %bound_method.loc8(%true) [concrete = constants.%true] // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call.loc8 diff --git a/toolchain/check/testdata/if_expr/basic.carbon b/toolchain/check/testdata/if_expr/basic.carbon index 50301192e706..d3338e1e37a4 100644 --- a/toolchain/check/testdata/if_expr/basic.carbon +++ b/toolchain/check/testdata/if_expr/basic.carbon @@ -54,12 +54,12 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -68,12 +68,12 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc16_3.3 [concrete] @@ -94,10 +94,10 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -138,7 +138,7 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %x.var: ref %array_type = var_storage %x.var_patt // CHECK:STDOUT: %int_0.loc16_27: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc16_29.1: %tuple.type.985 = tuple_literal (%int_0.loc16_27) [concrete = constants.%tuple.4f2] -// CHECK:STDOUT: %impl.elem0.loc16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_29.1: = bound_method %int_0.loc16_27, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_29.2: = bound_method %int_0.loc16_27, %specific_fn.loc16 [concrete = constants.%bound_method] @@ -179,7 +179,7 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: // CHECK:STDOUT: %.loc17_10: %i32 = block_arg !if.expr.result -// CHECK:STDOUT: %impl.elem0.loc17: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc17: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc17_10.1: = bound_method %.loc17_10, %impl.elem0.loc17 // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_10.2: = bound_method %.loc17_10, %specific_fn.loc17 diff --git a/toolchain/check/testdata/if_expr/constant_condition.carbon b/toolchain/check/testdata/if_expr/constant_condition.carbon index 9c1ee3777bd1..aac37749f4bd 100644 --- a/toolchain/check/testdata/if_expr/constant_condition.carbon +++ b/toolchain/check/testdata/if_expr/constant_condition.carbon @@ -59,12 +59,12 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -84,12 +84,12 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -102,12 +102,12 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %pattern_type.f00: type = pattern_type %ptr.d08 [concrete] // CHECK:STDOUT: %w.patt: %pattern_type.f00 = ref_binding_pattern w [concrete] // CHECK:STDOUT: %w.var_patt: %pattern_type.f00 = var_pattern %w.patt [concrete] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.b49: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.b49) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet.b49 [concrete] +// CHECK:STDOUT: %Copy.facet.09a: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.09a) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet.09a [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.1: type = fn_type @Destroy.Op.loc28 [concrete] @@ -132,12 +132,12 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -216,7 +216,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: fn @A() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_25.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_25.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method.953] @@ -228,7 +228,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: fn @B() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_25.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_25.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method.3cb] @@ -258,7 +258,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: // CHECK:STDOUT: %.loc19_10: %i32 = block_arg !if.expr.result -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc19_10.1: = bound_method %.loc19_10, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc19_10.2: = bound_method %.loc19_10, %specific_fn @@ -287,7 +287,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: // CHECK:STDOUT: %.loc23_10: %i32 = block_arg !if.expr.result -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc23_10.1: = bound_method %.loc23_10, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc23_10.2: = bound_method %.loc23_10, %specific_fn @@ -299,7 +299,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %v.var: ref %i32 = var_storage %v.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc27: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc27: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc27_3.1: = bound_method %int_1, %impl.elem0.loc27 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc27: = specific_function %impl.elem0.loc27, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc27_3.2: = bound_method %int_1, %specific_fn.loc27 [concrete = constants.%bound_method.953] @@ -334,7 +334,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %w.var: ref %ptr.d08 = var_storage %w.var_patt // CHECK:STDOUT: %v.ref: ref %i32 = name_ref v, %v // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %v.ref -// CHECK:STDOUT: %impl.elem0.loc28: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc28: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc28_40.1: = bound_method %addr, %impl.elem0.loc28 // CHECK:STDOUT: %specific_fn.loc28: = specific_function %impl.elem0.loc28, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc28_40.2: = bound_method %addr, %specific_fn.loc28 @@ -369,7 +369,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %.loc29_11: %ptr.d08 = acquire_value %w.ref // CHECK:STDOUT: %.loc29_10.1: ref %i32 = deref %.loc29_11 // CHECK:STDOUT: %.loc29_10.2: %i32 = acquire_value %.loc29_10.1 -// CHECK:STDOUT: %impl.elem0.loc29: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc29: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc29_10.1: = bound_method %.loc29_10.2, %impl.elem0.loc29 // CHECK:STDOUT: %specific_fn.loc29: = specific_function %impl.elem0.loc29, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc29_10.2: = bound_method %.loc29_10.2, %specific_fn.loc29 @@ -394,7 +394,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %v.var: ref %i32 = var_storage %v.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc33: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc33: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc33_3.1: = bound_method %int_1, %impl.elem0.loc33 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc33: = specific_function %impl.elem0.loc33, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc33_3.2: = bound_method %int_1, %specific_fn.loc33 [concrete = constants.%bound_method.953] @@ -428,7 +428,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %w.var: ref %ptr.d08 = var_storage %w.var_patt // CHECK:STDOUT: %v.ref: ref %i32 = name_ref v, %v // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %v.ref -// CHECK:STDOUT: %impl.elem0.loc34: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc34: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc34_38.1: = bound_method %addr, %impl.elem0.loc34 // CHECK:STDOUT: %specific_fn.loc34: = specific_function %impl.elem0.loc34, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc34_38.2: = bound_method %addr, %specific_fn.loc34 @@ -463,7 +463,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %.loc35_11: %ptr.d08 = acquire_value %w.ref // CHECK:STDOUT: %.loc35_10.1: ref %i32 = deref %.loc35_11 // CHECK:STDOUT: %.loc35_10.2: %i32 = acquire_value %.loc35_10.1 -// CHECK:STDOUT: %impl.elem0.loc35: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc35: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc35_10.1: = bound_method %.loc35_10.2, %impl.elem0.loc35 // CHECK:STDOUT: %specific_fn.loc35: = specific_function %impl.elem0.loc35, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc35_10.2: = bound_method %.loc35_10.2, %specific_fn.loc35 diff --git a/toolchain/check/testdata/if_expr/control_flow.carbon b/toolchain/check/testdata/if_expr/control_flow.carbon index 700ac6022760..b351bc43fd0e 100644 --- a/toolchain/check/testdata/if_expr/control_flow.carbon +++ b/toolchain/check/testdata/if_expr/control_flow.carbon @@ -40,12 +40,12 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -64,12 +64,12 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -85,11 +85,11 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Bool: type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = bool] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -137,7 +137,7 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: fn @A() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_25.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_25.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method.953] @@ -149,7 +149,7 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: fn @B() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_25.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_25.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method.3cb] @@ -179,7 +179,7 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: // CHECK:STDOUT: %.loc19_10: %i32 = block_arg !if.expr.result -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc19_10.1: = bound_method %.loc19_10, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc19_10.2: = bound_method %.loc19_10, %specific_fn diff --git a/toolchain/check/testdata/if_expr/nested.carbon b/toolchain/check/testdata/if_expr/nested.carbon index ce45e3d18838..005c29a7c176 100644 --- a/toolchain/check/testdata/if_expr/nested.carbon +++ b/toolchain/check/testdata/if_expr/nested.carbon @@ -44,12 +44,12 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -69,12 +69,12 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -91,10 +91,10 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -140,7 +140,7 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc16_20: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc16_25: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16_25: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_25.1: = bound_method %int_1, %impl.elem0.loc16_25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc16_25: = specific_function %impl.elem0.loc16_25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_25.2: = bound_method %int_1, %specific_fn.loc16_25 [concrete = constants.%bound_method.953] @@ -151,7 +151,7 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc16_20: // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc16_32: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16_32: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_32.1: = bound_method %int_2, %impl.elem0.loc16_32 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc16_32: = specific_function %impl.elem0.loc16_32, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_32.2: = bound_method %int_2, %specific_fn.loc16_32 [concrete = constants.%bound_method.3cb] @@ -170,7 +170,7 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc16_44: // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc16_49: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16_49: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_49.1: = bound_method %int_3, %impl.elem0.loc16_49 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc16_49: = specific_function %impl.elem0.loc16_49, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_49.2: = bound_method %int_3, %specific_fn.loc16_49 [concrete = constants.%bound_method.763] @@ -181,7 +181,7 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc16_44: // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc16_56: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16_56: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_56.1: = bound_method %int_4, %impl.elem0.loc16_56 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc16_56: = specific_function %impl.elem0.loc16_56, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_56.2: = bound_method %int_4, %specific_fn.loc16_56 [concrete = constants.%bound_method.b7a] @@ -196,7 +196,7 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result.loc16_10: // CHECK:STDOUT: %.loc16_10: %i32 = block_arg !if.expr.result.loc16_10 -// CHECK:STDOUT: %impl.elem0.loc16_10: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc16_10: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_10.1: = bound_method %.loc16_10, %impl.elem0.loc16_10 // CHECK:STDOUT: %specific_fn.loc16_10: = specific_function %impl.elem0.loc16_10, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_10.2: = bound_method %.loc16_10, %specific_fn.loc16_10 diff --git a/toolchain/check/testdata/if_expr/struct.carbon b/toolchain/check/testdata/if_expr/struct.carbon index 4545a8c1a897..b65c3d40c86f 100644 --- a/toolchain/check/testdata/if_expr/struct.carbon +++ b/toolchain/check/testdata/if_expr/struct.carbon @@ -51,12 +51,12 @@ fn F(cond: bool) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -83,7 +83,7 @@ fn F(cond: bool) { // CHECK:STDOUT: %Core.Bool: type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = bool] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -124,7 +124,7 @@ fn F(cond: bool) { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc18_46.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) [concrete = constants.%struct.4aa] -// CHECK:STDOUT: %impl.elem0.loc18_46.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_46.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_46.1: = bound_method %int_1, %impl.elem0.loc18_46.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc18_46.1: = specific_function %impl.elem0.loc18_46.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_46.2: = bound_method %int_1, %specific_fn.loc18_46.1 [concrete = constants.%bound_method.953] @@ -132,7 +132,7 @@ fn F(cond: bool) { // CHECK:STDOUT: %.loc18_46.2: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_46.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc18_46.3: ref %i32 = struct_access %a.var, element0 // CHECK:STDOUT: %.loc18_46.4: init %i32 to %.loc18_46.3 = in_place_init %.loc18_46.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc18_46.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_46.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_46.3: = bound_method %int_2, %impl.elem0.loc18_46.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc18_46.2: = specific_function %impl.elem0.loc18_46.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_46.4: = bound_method %int_2, %specific_fn.loc18_46.2 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/impl/assoc_const_self.carbon b/toolchain/check/testdata/impl/assoc_const_self.carbon index 2990c5e471ba..2821b0b9bc58 100644 --- a/toolchain/check/testdata/impl/assoc_const_self.carbon +++ b/toolchain/check/testdata/impl/assoc_const_self.carbon @@ -121,10 +121,10 @@ fn CallF() { // CHECK:STDOUT: %impl.elem0.ca3: %.Self.as_type = impl_witness_access %.00f, element0 [symbolic_self] // CHECK:STDOUT: %I_where.type.b84: type = facet_type <@I where %impl.elem0.ca3 = %empty_struct> [concrete] // CHECK:STDOUT: %.aaf: = impl_self_witness %empty_struct_type, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.55a: = impl_witness @empty_struct_type.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.57e: = impl_witness @empty_struct_type.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %empty_struct.type.facet: %type = facet_value %empty_struct_type, () [concrete] -// CHECK:STDOUT: %I.facet.1ae: %I.type = facet_value %empty_struct_type, (%I.impl_witness.55a) [concrete] +// CHECK:STDOUT: %I.facet.f72: %I.type = facet_value %empty_struct_type, (%I.impl_witness.57e) [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] @@ -132,7 +132,7 @@ fn CallF() { // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %I_where.type.8e4: type = facet_type <@I where %impl.elem0.ca3 = %int_0.5c6> [concrete] // CHECK:STDOUT: %.2a7: = impl_self_witness %i32, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.ce4: = impl_witness @i32.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.8f5: = impl_witness @i32.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %Int.type.facet: %type = facet_value %i32, () [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] @@ -140,17 +140,17 @@ fn CallF() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_0.3c0: %i32 = int_value 0 [concrete] -// CHECK:STDOUT: %I.facet.0ac: %I.type = facet_value %i32, (%I.impl_witness.ce4) [concrete] +// CHECK:STDOUT: %I.facet.190: %I.type = facet_value %i32, (%I.impl_witness.8f5) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -163,7 +163,7 @@ fn CallF() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -237,7 +237,7 @@ fn CallF() { // CHECK:STDOUT: // CHECK:STDOUT: impl @empty_struct_type.as.I.impl: %.loc8_7.2 as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @empty_struct_type.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.55a] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.57e] // CHECK:STDOUT: %impl_witness_assoc_constant: %empty_struct_type = impl_witness_assoc_constant constants.%empty_struct [concrete = constants.%empty_struct] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -247,8 +247,8 @@ fn CallF() { // CHECK:STDOUT: // CHECK:STDOUT: impl @i32.as.I.impl: %i32 as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @i32.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.ce4] -// CHECK:STDOUT: %impl.elem0.loc10_15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.8f5] +// CHECK:STDOUT: %impl.elem0.loc10_15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_15.1: = bound_method constants.%int_0.5c6, %impl.elem0.loc10_15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc10_15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_15.2: = bound_method constants.%int_0.5c6, %specific_fn [concrete = constants.%bound_method] @@ -280,9 +280,9 @@ fn CallF() { // CHECK:STDOUT: %Self.as_type => constants.%empty_struct_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.1ae) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.f72) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.1ae +// CHECK:STDOUT: %Self => constants.%I.facet.f72 // CHECK:STDOUT: %Self.as_type => constants.%empty_struct_type // CHECK:STDOUT: } // CHECK:STDOUT: @@ -292,9 +292,9 @@ fn CallF() { // CHECK:STDOUT: %Self.as_type => constants.%i32 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.0ac) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.190) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.0ac +// CHECK:STDOUT: %Self => constants.%I.facet.190 // CHECK:STDOUT: %Self.as_type => constants.%i32 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -446,7 +446,7 @@ fn CallF() { // CHECK:STDOUT: %empty_tuple.type.as.ImplicitAs.impl.Convert.type: type = fn_type @empty_tuple.type.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %empty_tuple.type.as.ImplicitAs.impl.Convert: %empty_tuple.type.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.dee = facet_value %empty_tuple.type, (%ImplicitAs.impl_witness) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.336: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%C, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.1f2: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%C, %ImplicitAs.facet) [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %.Self.frozen: %I.type = symbolic_binding .Self [symbolic_self] @@ -462,7 +462,7 @@ fn CallF() { // CHECK:STDOUT: %I.impl_witness: = impl_witness @C.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] -// CHECK:STDOUT: %.829: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.336, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %.c8c: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.1f2, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %empty_tuple.type.as.ImplicitAs.impl.Convert.bound: = bound_method %empty_tuple, %empty_tuple.type.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] // CHECK:STDOUT: } @@ -566,7 +566,7 @@ fn CallF() { // CHECK:STDOUT: impl @C.as.I.impl: %C.ref as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @C.as.I.impl [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] -// CHECK:STDOUT: %impl.elem0.loc18_13: %.829 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%empty_tuple.type.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc18_13: %.c8c = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%empty_tuple.type.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method: = bound_method constants.%empty_tuple, %impl.elem0.loc18_13 [concrete = constants.%empty_tuple.type.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %.loc18_13.2: ref %C = temporary_storage // CHECK:STDOUT: %empty_tuple.type.as.ImplicitAs.impl.Convert.call: init %C to %.loc18_13.2 = call %bound_method(constants.%empty_tuple) @@ -643,8 +643,8 @@ fn CallF() { // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Negate.impl_witness: = impl_witness imports.%Negate.impl_witness_table [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value Core.IntLiteral, (%Negate.impl_witness) [concrete] -// CHECK:STDOUT: %Negate.WithSelf.Op.type.db1: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] -// CHECK:STDOUT: %.e9b: type = fn_type_with_self_type %Negate.WithSelf.Op.type.db1, %Negate.facet [concrete] +// CHECK:STDOUT: %Negate.WithSelf.Op.type.e85: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] +// CHECK:STDOUT: %.758: type = fn_type_with_self_type %Negate.WithSelf.Op.type.e85, %Negate.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.type: type = fn_type @Core.IntLiteral.as.Negate.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op: %Core.IntLiteral.as.Negate.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.bound: = bound_method %int_1, %Core.IntLiteral.as.Negate.impl.Op [concrete] @@ -693,7 +693,7 @@ fn CallF() { // 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.335 = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %impl.elem1: %.e9b = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.758 = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %int_1, %impl.elem1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.call: init Core.IntLiteral = call %bound_method(%int_1) [concrete = constants.%int_-1] // CHECK:STDOUT: %.loc15_16.1: Core.IntLiteral = value_of_initializer %Core.IntLiteral.as.Negate.impl.Op.call [concrete = constants.%int_-1] diff --git a/toolchain/check/testdata/impl/compound.carbon b/toolchain/check/testdata/impl/compound.carbon index 042de1d82f46..2705b9230599 100644 --- a/toolchain/check/testdata/impl/compound.carbon +++ b/toolchain/check/testdata/impl/compound.carbon @@ -261,11 +261,11 @@ fn InstanceCallFail() { // CHECK:STDOUT: %struct_type.a.as.NonInstance1.impl.F1.type: type = fn_type @struct_type.a.as.NonInstance1.impl.F1 [concrete] // CHECK:STDOUT: %struct_type.a.as.NonInstance1.impl.F1: %struct_type.a.as.NonInstance1.impl.F1.type = struct_value () [concrete] // CHECK:STDOUT: %NonInstance1.facet: %NonInstance1.type = facet_value %struct_type.a, (%NonInstance1.impl_witness) [concrete] -// CHECK:STDOUT: %NonInstance1.WithSelf.F1.type.2c8: type = fn_type @NonInstance1.WithSelf.F1, @NonInstance1.WithSelf(%NonInstance1.facet) [concrete] -// CHECK:STDOUT: %NonInstance1.WithSelf.F1.0b2: %NonInstance1.WithSelf.F1.type.2c8 = struct_value () [concrete] +// CHECK:STDOUT: %NonInstance1.WithSelf.F1.type.20d: type = fn_type @NonInstance1.WithSelf.F1, @NonInstance1.WithSelf(%NonInstance1.facet) [concrete] +// CHECK:STDOUT: %NonInstance1.WithSelf.F1.ac9: %NonInstance1.WithSelf.F1.type.20d = struct_value () [concrete] // CHECK:STDOUT: %NonInstanceCall1.type: type = fn_type @NonInstanceCall1 [concrete] // CHECK:STDOUT: %NonInstanceCall1: %NonInstanceCall1.type = struct_value () [concrete] -// CHECK:STDOUT: %.735: type = fn_type_with_self_type %NonInstance1.WithSelf.F1.type.2c8, %NonInstance1.facet [concrete] +// CHECK:STDOUT: %.59a: type = fn_type_with_self_type %NonInstance1.WithSelf.F1.type.20d, %NonInstance1.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -329,7 +329,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: %F1.ref: %NonInstance1.assoc_type = name_ref F1, @NonInstance1.WithSelf.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %NonInstance1.facet: %NonInstance1.type = facet_value %struct_type.a, (constants.%NonInstance1.impl_witness) [concrete = constants.%NonInstance1.facet] // CHECK:STDOUT: %.loc12_11: %NonInstance1.type = converted %struct_type.a, %NonInstance1.facet [concrete = constants.%NonInstance1.facet] -// CHECK:STDOUT: %impl.elem0: %.735 = impl_witness_access constants.%NonInstance1.impl_witness, element0 [concrete = constants.%struct_type.a.as.NonInstance1.impl.F1] +// CHECK:STDOUT: %impl.elem0: %.59a = impl_witness_access constants.%NonInstance1.impl_witness, element0 [concrete = constants.%struct_type.a.as.NonInstance1.impl.F1] // CHECK:STDOUT: %struct_type.a.as.NonInstance1.impl.F1.call: init %empty_tuple.type = call %impl.elem0() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -346,8 +346,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: specific @NonInstance1.WithSelf(constants.%NonInstance1.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%NonInstance1.facet -// CHECK:STDOUT: %NonInstance1.WithSelf.F1.type => constants.%NonInstance1.WithSelf.F1.type.2c8 -// CHECK:STDOUT: %NonInstance1.WithSelf.F1 => constants.%NonInstance1.WithSelf.F1.0b2 +// CHECK:STDOUT: %NonInstance1.WithSelf.F1.type => constants.%NonInstance1.WithSelf.F1.type.20d +// CHECK:STDOUT: %NonInstance1.WithSelf.F1 => constants.%NonInstance1.WithSelf.F1.ac9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @NonInstance1.WithSelf.F1(constants.%NonInstance1.facet) {} @@ -369,8 +369,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: %struct_type.b.as.NonInstance2.impl.F2.type: type = fn_type @struct_type.b.as.NonInstance2.impl.F2 [concrete] // CHECK:STDOUT: %struct_type.b.as.NonInstance2.impl.F2: %struct_type.b.as.NonInstance2.impl.F2.type = struct_value () [concrete] // CHECK:STDOUT: %NonInstance2.facet: %NonInstance2.type = facet_value %struct_type.b, (%NonInstance2.impl_witness) [concrete] -// CHECK:STDOUT: %NonInstance2.WithSelf.F2.type.748: type = fn_type @NonInstance2.WithSelf.F2, @NonInstance2.WithSelf(%NonInstance2.facet) [concrete] -// CHECK:STDOUT: %NonInstance2.WithSelf.F2.286: %NonInstance2.WithSelf.F2.type.748 = struct_value () [concrete] +// CHECK:STDOUT: %NonInstance2.WithSelf.F2.type.6fc: type = fn_type @NonInstance2.WithSelf.F2, @NonInstance2.WithSelf(%NonInstance2.facet) [concrete] +// CHECK:STDOUT: %NonInstance2.WithSelf.F2.539: %NonInstance2.WithSelf.F2.type.6fc = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.d5c: type = pattern_type %struct_type.b [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.d5c = value_param_pattern [concrete] // CHECK:STDOUT: %n.patt: %pattern_type.d5c = at_binding_pattern n, %n.param_patt [concrete] @@ -539,8 +539,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: specific @NonInstance2.WithSelf(constants.%NonInstance2.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%NonInstance2.facet -// CHECK:STDOUT: %NonInstance2.WithSelf.F2.type => constants.%NonInstance2.WithSelf.F2.type.748 -// CHECK:STDOUT: %NonInstance2.WithSelf.F2 => constants.%NonInstance2.WithSelf.F2.286 +// CHECK:STDOUT: %NonInstance2.WithSelf.F2.type => constants.%NonInstance2.WithSelf.F2.type.6fc +// CHECK:STDOUT: %NonInstance2.WithSelf.F2 => constants.%NonInstance2.WithSelf.F2.539 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @NonInstance2.WithSelf.F2(constants.%NonInstance2.facet) {} @@ -603,8 +603,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: %struct_type.c.as.NonInstance3.impl.F3.type: type = fn_type @struct_type.c.as.NonInstance3.impl.F3 [concrete] // CHECK:STDOUT: %struct_type.c.as.NonInstance3.impl.F3: %struct_type.c.as.NonInstance3.impl.F3.type = struct_value () [concrete] // CHECK:STDOUT: %NonInstance3.facet: %NonInstance3.type = facet_value %struct_type.c, (%NonInstance3.impl_witness) [concrete] -// CHECK:STDOUT: %NonInstance3.WithSelf.F3.type.0a9: type = fn_type @NonInstance3.WithSelf.F3, @NonInstance3.WithSelf(%NonInstance3.facet) [concrete] -// CHECK:STDOUT: %NonInstance3.WithSelf.F3.a3c: %NonInstance3.WithSelf.F3.type.0a9 = struct_value () [concrete] +// CHECK:STDOUT: %NonInstance3.WithSelf.F3.type.6f9: type = fn_type @NonInstance3.WithSelf.F3, @NonInstance3.WithSelf(%NonInstance3.facet) [concrete] +// CHECK:STDOUT: %NonInstance3.WithSelf.F3.536: %NonInstance3.WithSelf.F3.type.6f9 = struct_value () [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %struct_type.c [concrete] // CHECK:STDOUT: %pattern_type.5f5: type = pattern_type %ptr [concrete] // CHECK:STDOUT: %p.param_patt: %pattern_type.5f5 = value_param_pattern [concrete] @@ -776,8 +776,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: specific @NonInstance3.WithSelf(constants.%NonInstance3.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%NonInstance3.facet -// CHECK:STDOUT: %NonInstance3.WithSelf.F3.type => constants.%NonInstance3.WithSelf.F3.type.0a9 -// CHECK:STDOUT: %NonInstance3.WithSelf.F3 => constants.%NonInstance3.WithSelf.F3.a3c +// CHECK:STDOUT: %NonInstance3.WithSelf.F3.type => constants.%NonInstance3.WithSelf.F3.type.6f9 +// CHECK:STDOUT: %NonInstance3.WithSelf.F3 => constants.%NonInstance3.WithSelf.F3.536 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @NonInstance3.WithSelf.F3(constants.%NonInstance3.facet) {} @@ -847,13 +847,13 @@ fn InstanceCallFail() { // CHECK:STDOUT: %struct_type.d.as.Instance1.impl.G1.type: type = fn_type @struct_type.d.as.Instance1.impl.G1 [concrete] // CHECK:STDOUT: %struct_type.d.as.Instance1.impl.G1: %struct_type.d.as.Instance1.impl.G1.type = struct_value () [concrete] // CHECK:STDOUT: %Instance1.facet: %Instance1.type = facet_value %struct_type.d, (%Instance1.impl_witness) [concrete] -// CHECK:STDOUT: %Instance1.WithSelf.G1.type.8c3: type = fn_type @Instance1.WithSelf.G1, @Instance1.WithSelf(%Instance1.facet) [concrete] -// CHECK:STDOUT: %Instance1.WithSelf.G1.50a: %Instance1.WithSelf.G1.type.8c3 = struct_value () [concrete] +// CHECK:STDOUT: %Instance1.WithSelf.G1.type.d2c: type = fn_type @Instance1.WithSelf.G1, @Instance1.WithSelf(%Instance1.facet) [concrete] +// CHECK:STDOUT: %Instance1.WithSelf.G1.5f9: %Instance1.WithSelf.G1.type.d2c = struct_value () [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.515 = value_param_pattern [concrete] // CHECK:STDOUT: %n.patt: %pattern_type.515 = at_binding_pattern n, %n.param_patt [concrete] // CHECK:STDOUT: %InstanceCall.type: type = fn_type @InstanceCall [concrete] // CHECK:STDOUT: %InstanceCall: %InstanceCall.type = struct_value () [concrete] -// CHECK:STDOUT: %.5fa: type = fn_type_with_self_type %Instance1.WithSelf.G1.type.8c3, %Instance1.facet [concrete] +// CHECK:STDOUT: %.df4: type = fn_type_with_self_type %Instance1.WithSelf.G1.type.d2c, %Instance1.facet [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %struct_type.d [concrete] // CHECK:STDOUT: %pattern_type.8d6: type = pattern_type %ptr [concrete] // CHECK:STDOUT: %p.param_patt: %pattern_type.8d6 = value_param_pattern [concrete] @@ -969,7 +969,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: %n.ref: %struct_type.d = name_ref n, %n // CHECK:STDOUT: %Instance1.ref: type = name_ref Instance1, file.%Instance1.decl [concrete = constants.%Instance1.type] // CHECK:STDOUT: %G1.ref: %Instance1.assoc_type = name_ref G1, @Instance1.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.5fa = impl_witness_access constants.%Instance1.impl_witness, element0 [concrete = constants.%struct_type.d.as.Instance1.impl.G1] +// CHECK:STDOUT: %impl.elem0: %.df4 = impl_witness_access constants.%Instance1.impl_witness, element0 [concrete = constants.%struct_type.d.as.Instance1.impl.G1] // CHECK:STDOUT: %bound_method: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %struct_type.d.as.Instance1.impl.G1.call: init %empty_tuple.type = call %bound_method(%n.ref) // CHECK:STDOUT: return @@ -981,7 +981,7 @@ fn InstanceCallFail() { // CHECK:STDOUT: %Instance1.ref: type = name_ref Instance1, file.%Instance1.decl [concrete = constants.%Instance1.type] // CHECK:STDOUT: %G1.ref: %Instance1.assoc_type = name_ref G1, @Instance1.WithSelf.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %.loc16_4.1: ref %struct_type.d = deref %p.ref -// CHECK:STDOUT: %impl.elem0: %.5fa = impl_witness_access constants.%Instance1.impl_witness, element0 [concrete = constants.%struct_type.d.as.Instance1.impl.G1] +// CHECK:STDOUT: %impl.elem0: %.df4 = impl_witness_access constants.%Instance1.impl_witness, element0 [concrete = constants.%struct_type.d.as.Instance1.impl.G1] // CHECK:STDOUT: %bound_method: = bound_method %.loc16_4.1, %impl.elem0 // CHECK:STDOUT: %.loc16_4.2: ref %empty_tuple.type = struct_access %.loc16_4.1, element0 // CHECK:STDOUT: %tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] @@ -1010,8 +1010,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: specific @Instance1.WithSelf(constants.%Instance1.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Instance1.facet -// CHECK:STDOUT: %Instance1.WithSelf.G1.type => constants.%Instance1.WithSelf.G1.type.8c3 -// CHECK:STDOUT: %Instance1.WithSelf.G1 => constants.%Instance1.WithSelf.G1.50a +// CHECK:STDOUT: %Instance1.WithSelf.G1.type => constants.%Instance1.WithSelf.G1.type.d2c +// CHECK:STDOUT: %Instance1.WithSelf.G1 => constants.%Instance1.WithSelf.G1.5f9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Instance1.WithSelf.G1(constants.%Instance1.facet) { @@ -1046,8 +1046,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: %struct_type.e.as.Instance2.impl.G2.type: type = fn_type @struct_type.e.as.Instance2.impl.G2 [concrete] // CHECK:STDOUT: %struct_type.e.as.Instance2.impl.G2: %struct_type.e.as.Instance2.impl.G2.type = struct_value () [concrete] // CHECK:STDOUT: %Instance2.facet: %Instance2.type = facet_value %struct_type.e, (%Instance2.impl_witness) [concrete] -// CHECK:STDOUT: %Instance2.WithSelf.G2.type.72b: type = fn_type @Instance2.WithSelf.G2, @Instance2.WithSelf(%Instance2.facet) [concrete] -// CHECK:STDOUT: %Instance2.WithSelf.G2.922: %Instance2.WithSelf.G2.type.72b = struct_value () [concrete] +// CHECK:STDOUT: %Instance2.WithSelf.G2.type.3f4: type = fn_type @Instance2.WithSelf.G2, @Instance2.WithSelf(%Instance2.facet) [concrete] +// CHECK:STDOUT: %Instance2.WithSelf.G2.cf7: %Instance2.WithSelf.G2.type.3f4 = struct_value () [concrete] // CHECK:STDOUT: %InstanceCallFail.type: type = fn_type @InstanceCallFail [concrete] // CHECK:STDOUT: %InstanceCallFail: %InstanceCallFail.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -1156,8 +1156,8 @@ fn InstanceCallFail() { // CHECK:STDOUT: specific @Instance2.WithSelf(constants.%Instance2.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Instance2.facet -// CHECK:STDOUT: %Instance2.WithSelf.G2.type => constants.%Instance2.WithSelf.G2.type.72b -// CHECK:STDOUT: %Instance2.WithSelf.G2 => constants.%Instance2.WithSelf.G2.922 +// CHECK:STDOUT: %Instance2.WithSelf.G2.type => constants.%Instance2.WithSelf.G2.type.3f4 +// CHECK:STDOUT: %Instance2.WithSelf.G2 => constants.%Instance2.WithSelf.G2.cf7 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Instance2.WithSelf.G2(constants.%Instance2.facet) { diff --git a/toolchain/check/testdata/impl/error_recovery.carbon b/toolchain/check/testdata/impl/error_recovery.carbon index 3dd8b1f70168..63d670c71b37 100644 --- a/toolchain/check/testdata/impl/error_recovery.carbon +++ b/toolchain/check/testdata/impl/error_recovery.carbon @@ -298,8 +298,8 @@ impl C as I { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] -// CHECK:STDOUT: %Z.impl_witness.39b: = impl_witness @T.as.Z.impl.%Z.impl_witness_table, @T.as.Z.impl(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %Z.facet: %Z.type = facet_value %empty_tuple.type, (%Z.impl_witness.39b) [concrete] +// CHECK:STDOUT: %Z.impl_witness.55c: = impl_witness @T.as.Z.impl.%Z.impl_witness_table, @T.as.Z.impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Z.facet: %Z.type = facet_value %empty_tuple.type, (%Z.impl_witness.55c) [concrete] // CHECK:STDOUT: %F.specific_fn: = specific_function %F, @F(%Z.facet) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -307,7 +307,7 @@ impl C as I { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %.loc18_6: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %Z.facet: %Z.type = facet_value constants.%empty_tuple.type, (constants.%Z.impl_witness.39b) [concrete = constants.%Z.facet] +// CHECK:STDOUT: %Z.facet: %Z.type = facet_value constants.%empty_tuple.type, (constants.%Z.impl_witness.55c) [concrete = constants.%Z.facet] // CHECK:STDOUT: %.loc18_7: %Z.type = converted %.loc18_6, %Z.facet [concrete = constants.%Z.facet] // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%Z.facet) [concrete = constants.%F.specific_fn] // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.specific_fn() diff --git a/toolchain/check/testdata/impl/extend_impl_generic.carbon b/toolchain/check/testdata/impl/extend_impl_generic.carbon index 6967060dc3a5..49170998cc30 100644 --- a/toolchain/check/testdata/impl/extend_impl_generic.carbon +++ b/toolchain/check/testdata/impl/extend_impl_generic.carbon @@ -100,8 +100,8 @@ class X(U: type) { // CHECK:STDOUT: %C.as.HasF.impl.F.type: type = fn_type @C.as.HasF.impl.F [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F: %C.as.HasF.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type.9e1 = facet_value %C, (%HasF.impl_witness) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.5b8: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%Param, %HasF.facet) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.673: %HasF.WithSelf.F.type.5b8 = struct_value () [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.744: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%Param, %HasF.facet) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.c9d: %HasF.WithSelf.F.type.744 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] @@ -113,12 +113,12 @@ class X(U: type) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -133,18 +133,18 @@ class X(U: type) { // CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.type.eae: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%Param, %C.type.facet) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.eba: %HasF.WithSelf.F.type.eae = struct_value () [concrete] -// CHECK:STDOUT: %.aa9: type = fn_type_with_self_type %HasF.WithSelf.F.type.5b8, %HasF.facet [concrete] +// CHECK:STDOUT: %.23a: type = fn_type_with_self_type %HasF.WithSelf.F.type.744, %HasF.facet [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.6b6 = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.6b6 = var_pattern %b.patt [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc22_27.2 [concrete] @@ -165,10 +165,10 @@ class X(U: 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.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -301,7 +301,7 @@ class X(U: type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc15_21.1: %struct_type.x.c96 = struct_literal (%int_2) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_21.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_21.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method] @@ -319,7 +319,7 @@ class X(U: type) { // CHECK:STDOUT: %C.ref.loc21: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %.loc21_24: %HasF.assoc_type.aee = specific_constant @HasF.WithSelf.%assoc0.loc5_14.1, @HasF.WithSelf(constants.%Param, constants.%C.type.facet) [concrete = constants.%assoc0.be0] // CHECK:STDOUT: %F.ref.loc21: %HasF.assoc_type.aee = name_ref F, %.loc21_24 [concrete = constants.%assoc0.be0] -// CHECK:STDOUT: %impl.elem0.loc21: %.aa9 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] +// CHECK:STDOUT: %impl.elem0.loc21: %.23a = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] // CHECK:STDOUT: %.loc21_27.1: ref %Param = temporary_storage // CHECK:STDOUT: %C.as.HasF.impl.F.call.loc21: init %Param to %.loc21_27.1 = call %impl.elem0.loc21() // CHECK:STDOUT: %.loc21_27.2: ref %Param = temporary %.loc21_27.1, %C.as.HasF.impl.F.call.loc21 @@ -335,14 +335,14 @@ class X(U: type) { // CHECK:STDOUT: %c.ref: %C = name_ref c, %c // CHECK:STDOUT: %.loc22_24: %HasF.assoc_type.aee = specific_constant @HasF.WithSelf.%assoc0.loc5_14.1, @HasF.WithSelf(constants.%Param, constants.%C.type.facet) [concrete = constants.%assoc0.be0] // CHECK:STDOUT: %F.ref.loc22: %HasF.assoc_type.aee = name_ref F, %.loc22_24 [concrete = constants.%assoc0.be0] -// CHECK:STDOUT: %impl.elem0.loc22_24: %.aa9 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] +// CHECK:STDOUT: %impl.elem0.loc22_24: %.23a = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] // CHECK:STDOUT: %.loc22_27.1: ref %Param = temporary_storage // CHECK:STDOUT: %C.as.HasF.impl.F.call.loc22: init %Param to %.loc22_27.1 = call %impl.elem0.loc22_24() // CHECK:STDOUT: %.loc22_27.2: ref %Param = temporary %.loc22_27.1, %C.as.HasF.impl.F.call.loc22 // CHECK:STDOUT: %x.ref.loc22: %Param.elem = name_ref x, @Param.%.loc9 [concrete = @Param.%.loc9] // CHECK:STDOUT: %.loc22_28.1: ref %i32 = class_element_access %.loc22_27.2, element0 // CHECK:STDOUT: %.loc22_28.2: %i32 = acquire_value %.loc22_28.1 -// CHECK:STDOUT: %impl.elem0.loc22_28: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc22_28: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc22_28.1: = bound_method %.loc22_28.2, %impl.elem0.loc22_28 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc22_28, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc22_28.2: = bound_method %.loc22_28.2, %specific_fn @@ -420,8 +420,8 @@ class X(U: type) { // CHECK:STDOUT: %T => constants.%Param // CHECK:STDOUT: %HasF.type => constants.%HasF.type.9e1 // CHECK:STDOUT: %Self => constants.%HasF.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.5b8 -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.673 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.744 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.c9d // CHECK:STDOUT: %HasF.assoc_type => constants.%HasF.assoc_type.aee // CHECK:STDOUT: %assoc0.loc5_14.2 => constants.%assoc0.be0 // CHECK:STDOUT: } @@ -491,8 +491,8 @@ class X(U: type) { // CHECK:STDOUT: %X.as.I.impl.F.type: type = fn_type @X.as.I.impl.F, @X.as.I.impl(%U) [symbolic] // CHECK:STDOUT: %X.as.I.impl.F: %X.as.I.impl.F.type = struct_value () [symbolic] // CHECK:STDOUT: %I.facet: %I.type.3fe556.2 = facet_value %X, (%I.impl_witness) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.type.2f9: type = fn_type @I.WithSelf.F, @I.WithSelf(%U, %I.facet) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.1c3: %I.WithSelf.F.type.2f9 = struct_value () [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.86a: type = fn_type @I.WithSelf.F, @I.WithSelf(%U, %I.facet) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.574: %I.WithSelf.F.type.86a = struct_value () [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %require_complete.ec9: = require_complete_type %X [symbolic] @@ -759,8 +759,8 @@ class X(U: type) { // CHECK:STDOUT: %T => constants.%U // CHECK:STDOUT: %I.type => constants.%I.type.3fe556.2 // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.2f9 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.1c3 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.86a +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.574 // CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.b71f2b.2 // CHECK:STDOUT: %assoc0.loc5_19.2 => constants.%assoc0.13b5f8.2 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_call_invalid.carbon b/toolchain/check/testdata/impl/fail_call_invalid.carbon index e9bfe9edb62f..d7fd8a0cba91 100644 --- a/toolchain/check/testdata/impl/fail_call_invalid.carbon +++ b/toolchain/check/testdata/impl/fail_call_invalid.carbon @@ -52,8 +52,8 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %i32.as.Simple.impl.G.type.321a2c.1: type = fn_type @i32.as.Simple.impl.G.loc24_25.1 [concrete] // CHECK:STDOUT: %i32.as.Simple.impl.G.d407b2.1: %i32.as.Simple.impl.G.type.321a2c.1 = struct_value () [concrete] // CHECK:STDOUT: %Simple.facet: %Simple.type = facet_value %i32, (%Simple.impl_witness) [concrete] -// CHECK:STDOUT: %Simple.WithSelf.G.type.780: type = fn_type @Simple.WithSelf.G, @Simple.WithSelf(%Simple.facet) [concrete] -// CHECK:STDOUT: %Simple.WithSelf.G.dbb: %Simple.WithSelf.G.type.780 = struct_value () [concrete] +// CHECK:STDOUT: %Simple.WithSelf.G.type.b93: type = fn_type @Simple.WithSelf.G, @Simple.WithSelf(%Simple.facet) [concrete] +// CHECK:STDOUT: %Simple.WithSelf.G.551: %Simple.WithSelf.G.type.b93 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %self.param_patt.049: %pattern_type.6b6 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.f6c: %pattern_type.6b6 = at_binding_pattern self, %self.param_patt.049 [concrete] @@ -63,7 +63,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %n.patt: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete] // CHECK:STDOUT: %InstanceCall.type: type = fn_type @InstanceCall [concrete] // CHECK:STDOUT: %InstanceCall: %InstanceCall.type = struct_value () [concrete] -// CHECK:STDOUT: %.785: type = fn_type_with_self_type %Simple.WithSelf.G.type.780, %Simple.facet [concrete] +// CHECK:STDOUT: %.029: type = fn_type_with_self_type %Simple.WithSelf.G.type.b93, %Simple.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -178,7 +178,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n // CHECK:STDOUT: %Simple.ref: type = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.type] // CHECK:STDOUT: %G.ref.loc28_12: %Simple.assoc_type = name_ref G, @Simple.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.785 = impl_witness_access constants.%Simple.impl_witness, element0 [concrete = constants.%i32.as.Simple.impl.G.d407b2.2] +// CHECK:STDOUT: %impl.elem0: %.029 = impl_witness_access constants.%Simple.impl_witness, element0 [concrete = constants.%i32.as.Simple.impl.G.d407b2.2] // CHECK:STDOUT: %bound_method: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %G.ref.loc28_16: %i32.as.Simple.impl.G.type.321a2c.1 = name_ref G, @i32.as.Simple.impl.%i32.as.Simple.impl.G.decl.loc24_25.1 [concrete = constants.%i32.as.Simple.impl.G.d407b2.1] // CHECK:STDOUT: %i32.as.Simple.impl.G.bound: = bound_method %n.ref, %G.ref.loc28_16 @@ -204,8 +204,8 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: specific @Simple.WithSelf(constants.%Simple.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Simple.facet -// CHECK:STDOUT: %Simple.WithSelf.G.type => constants.%Simple.WithSelf.G.type.780 -// CHECK:STDOUT: %Simple.WithSelf.G => constants.%Simple.WithSelf.G.dbb +// CHECK:STDOUT: %Simple.WithSelf.G.type => constants.%Simple.WithSelf.G.type.b93 +// CHECK:STDOUT: %Simple.WithSelf.G => constants.%Simple.WithSelf.G.551 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Simple.WithSelf.G(constants.%Simple.facet) { diff --git a/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon b/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon index cb85aa74dd0e..62b1fa9ce390 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_scope.carbon @@ -201,8 +201,8 @@ fn F() { // CHECK:STDOUT: %Point.as.Z.impl.Zero.type: type = fn_type @Point.as.Z.impl.Zero [concrete] // CHECK:STDOUT: %Point.as.Z.impl.Zero: %Point.as.Z.impl.Zero.type = struct_value () [concrete] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %Point, (%Z.impl_witness) [concrete] -// CHECK:STDOUT: %Z.WithSelf.Zero.type.fb1: type = fn_type @Z.WithSelf.Zero, @Z.WithSelf(%Z.facet) [concrete] -// CHECK:STDOUT: %Z.WithSelf.Zero.5fb: %Z.WithSelf.Zero.type.fb1 = struct_value () [concrete] +// CHECK:STDOUT: %Z.WithSelf.Zero.type.896: type = fn_type @Z.WithSelf.Zero, @Z.WithSelf(%Z.facet) [concrete] +// CHECK:STDOUT: %Z.WithSelf.Zero.8c2: %Z.WithSelf.Zero.type.896 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -214,7 +214,7 @@ fn F() { // CHECK:STDOUT: %Point.type.facet: %type = facet_value %Point, () [concrete] // CHECK:STDOUT: %Z.WithSelf.Zero.type.356: type = fn_type @Z.WithSelf.Zero, @Z.WithSelf(%Point.type.facet) [concrete] // CHECK:STDOUT: %Z.WithSelf.Zero.237: %Z.WithSelf.Zero.type.356 = struct_value () [concrete] -// CHECK:STDOUT: %.d41: type = fn_type_with_self_type %Z.WithSelf.Zero.type.fb1, %Z.facet [concrete] +// CHECK:STDOUT: %.dfa: type = fn_type_with_self_type %Z.WithSelf.Zero.type.896, %Z.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc25_7.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] @@ -335,7 +335,7 @@ fn F() { // CHECK:STDOUT: %.loc25_7.1: init %Point = converted %.loc25_5.1, %.loc25_5.3 [concrete = constants.%Point.val] // CHECK:STDOUT: %.loc25_7.2: ref %Point = temporary %.loc25_5.2, %.loc25_7.1 [concrete = constants.%.e6b] // CHECK:STDOUT: %Zero.ref: %Z.assoc_type = name_ref Zero, @Z.WithSelf.%assoc0 [concrete = constants.%assoc0.627] -// CHECK:STDOUT: %impl.elem0: %.d41 = impl_witness_access constants.%Z.impl_witness, element0 [concrete = constants.%Point.as.Z.impl.Zero] +// CHECK:STDOUT: %impl.elem0: %.dfa = impl_witness_access constants.%Z.impl_witness, element0 [concrete = constants.%Point.as.Z.impl.Zero] // CHECK:STDOUT: %Point.as.Z.impl.Zero.call: init %empty_tuple.type = call %impl.elem0() // CHECK:STDOUT: %Destroy.Op.call: init %empty_tuple.type = call constants.%Destroy.Op.bound(constants.%.e6b) // CHECK:STDOUT: return @@ -369,8 +369,8 @@ fn F() { // CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Z.facet -// CHECK:STDOUT: %Z.WithSelf.Zero.type => constants.%Z.WithSelf.Zero.type.fb1 -// CHECK:STDOUT: %Z.WithSelf.Zero => constants.%Z.WithSelf.Zero.5fb +// CHECK:STDOUT: %Z.WithSelf.Zero.type => constants.%Z.WithSelf.Zero.type.896 +// CHECK:STDOUT: %Z.WithSelf.Zero => constants.%Z.WithSelf.Zero.8c2 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Z.WithSelf.Zero(constants.%Z.facet) {} 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 b739d4d28c19..873826d38680 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon @@ -64,8 +64,8 @@ class E { // CHECK:STDOUT: %.393: = impl_self_witness %D, @I [concrete] // CHECK:STDOUT: %E: type = class_type @E [concrete] // CHECK:STDOUT: %.e0d: = impl_self_witness %E, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.6e5: = impl_witness @E.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %I.facet: %I.type = facet_value %E, (%I.impl_witness.6e5) [concrete] +// CHECK:STDOUT: %I.impl_witness.d51: = impl_witness @E.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %E, (%I.impl_witness.d51) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -113,7 +113,7 @@ class E { // CHECK:STDOUT: // CHECK:STDOUT: impl @E.as.I.impl: %Self.ref as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @E.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.6e5] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.d51] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %I.ref diff --git a/toolchain/check/testdata/impl/fail_impl_as_scope.carbon b/toolchain/check/testdata/impl/fail_impl_as_scope.carbon index 930679d70f20..f7b486995faf 100644 --- a/toolchain/check/testdata/impl/fail_impl_as_scope.carbon +++ b/toolchain/check/testdata/impl/fail_impl_as_scope.carbon @@ -267,18 +267,18 @@ class X { // CHECK:STDOUT: %Point.as.Z.impl.Method.type: type = fn_type @Point.as.Z.impl.Method [concrete] // CHECK:STDOUT: %Point.as.Z.impl.Method: %Point.as.Z.impl.Method.type = struct_value () [concrete] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %Point, (%Z.impl_witness) [concrete] -// CHECK:STDOUT: %Z.WithSelf.Zero.type.d05: type = fn_type @Z.WithSelf.Zero, @Z.WithSelf(%Z.facet) [concrete] -// CHECK:STDOUT: %Z.WithSelf.Zero.0d2: %Z.WithSelf.Zero.type.d05 = struct_value () [concrete] -// CHECK:STDOUT: %Z.WithSelf.Method.type.de2: type = fn_type @Z.WithSelf.Method, @Z.WithSelf(%Z.facet) [concrete] -// CHECK:STDOUT: %Z.WithSelf.Method.683: %Z.WithSelf.Method.type.de2 = struct_value () [concrete] +// CHECK:STDOUT: %Z.WithSelf.Zero.type.896: type = fn_type @Z.WithSelf.Zero, @Z.WithSelf(%Z.facet) [concrete] +// CHECK:STDOUT: %Z.WithSelf.Zero.8c2: %Z.WithSelf.Zero.type.896 = struct_value () [concrete] +// CHECK:STDOUT: %Z.WithSelf.Method.type.330: type = fn_type @Z.WithSelf.Method, @Z.WithSelf(%Z.facet) [concrete] +// CHECK:STDOUT: %Z.WithSelf.Method.2ef: %Z.WithSelf.Method.type.330 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %.1fe: type = fn_type_with_self_type %Z.WithSelf.Zero.type.d05, %Z.facet [concrete] +// CHECK:STDOUT: %.dfa: type = fn_type_with_self_type %Z.WithSelf.Zero.type.896, %Z.facet [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %Point.val: %Point = struct_value () [concrete] -// CHECK:STDOUT: %.f5a: type = fn_type_with_self_type %Z.WithSelf.Method.type.de2, %Z.facet [concrete] +// CHECK:STDOUT: %.f36: type = fn_type_with_self_type %Z.WithSelf.Method.type.330, %Z.facet [concrete] // CHECK:STDOUT: %Point.as.Z.impl.Method.bound: = bound_method %Point.val, %Point.as.Z.impl.Method [concrete] // CHECK:STDOUT: %.e6b: ref %Point = temporary invalid, %Point.val [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -466,7 +466,7 @@ class X { // CHECK:STDOUT: %Zero.ref: %Z.assoc_type = name_ref Zero, @Z.WithSelf.%assoc0 [concrete = constants.%assoc0.627] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %Point.ref.loc28, (constants.%Z.impl_witness) [concrete = constants.%Z.facet] // CHECK:STDOUT: %.loc28: %Z.type = converted %Point.ref.loc28, %Z.facet [concrete = constants.%Z.facet] -// CHECK:STDOUT: %impl.elem0: %.1fe = impl_witness_access constants.%Z.impl_witness, element0 [concrete = constants.%Point.as.Z.impl.Zero] +// CHECK:STDOUT: %impl.elem0: %.dfa = impl_witness_access constants.%Z.impl_witness, element0 [concrete = constants.%Point.as.Z.impl.Zero] // CHECK:STDOUT: %Point.as.Z.impl.Zero.call: init %empty_tuple.type = call %impl.elem0() // CHECK:STDOUT: %.loc29_5.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %Point.ref.loc29: type = name_ref Point, file.%Point.decl [concrete = constants.%Point] @@ -475,7 +475,7 @@ class X { // CHECK:STDOUT: %.loc29_7.1: init %Point = converted %.loc29_5.1, %.loc29_5.3 [concrete = constants.%Point.val] // CHECK:STDOUT: %Z.ref.loc29: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: %Method.ref: %Z.assoc_type = name_ref Method, @Z.WithSelf.%assoc1 [concrete = constants.%assoc1] -// CHECK:STDOUT: %impl.elem1: %.f5a = impl_witness_access constants.%Z.impl_witness, element1 [concrete = constants.%Point.as.Z.impl.Method] +// CHECK:STDOUT: %impl.elem1: %.f36 = impl_witness_access constants.%Z.impl_witness, element1 [concrete = constants.%Point.as.Z.impl.Method] // CHECK:STDOUT: %bound_method: = bound_method %.loc29_7.1, %impl.elem1 [concrete = constants.%Point.as.Z.impl.Method.bound] // CHECK:STDOUT: %.loc29_7.2: ref %Point = temporary %.loc29_5.2, %.loc29_7.1 [concrete = constants.%.e6b] // CHECK:STDOUT: %.loc29_7.3: %Point = acquire_value %.loc29_7.2 [concrete = constants.%Point.val] @@ -532,10 +532,10 @@ class X { // CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Z.facet -// CHECK:STDOUT: %Z.WithSelf.Zero.type => constants.%Z.WithSelf.Zero.type.d05 -// CHECK:STDOUT: %Z.WithSelf.Zero => constants.%Z.WithSelf.Zero.0d2 -// CHECK:STDOUT: %Z.WithSelf.Method.type => constants.%Z.WithSelf.Method.type.de2 -// CHECK:STDOUT: %Z.WithSelf.Method => constants.%Z.WithSelf.Method.683 +// CHECK:STDOUT: %Z.WithSelf.Zero.type => constants.%Z.WithSelf.Zero.type.896 +// CHECK:STDOUT: %Z.WithSelf.Zero => constants.%Z.WithSelf.Zero.8c2 +// CHECK:STDOUT: %Z.WithSelf.Method.type => constants.%Z.WithSelf.Method.type.330 +// CHECK:STDOUT: %Z.WithSelf.Method => constants.%Z.WithSelf.Method.2ef // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Z.WithSelf.Zero(constants.%Z.facet) {} @@ -568,8 +568,8 @@ class X { // CHECK:STDOUT: %X.as.A.impl.B.type: type = fn_type @X.as.A.impl.B [concrete] // CHECK:STDOUT: %X.as.A.impl.B: %X.as.A.impl.B.type = struct_value () [concrete] // CHECK:STDOUT: %A.facet: %A.type = facet_value %X, (%A.impl_witness) [concrete] -// CHECK:STDOUT: %A.WithSelf.B.type.d09: type = fn_type @A.WithSelf.B, @A.WithSelf(%A.facet) [concrete] -// CHECK:STDOUT: %A.WithSelf.B.e21: %A.WithSelf.B.type.d09 = struct_value () [concrete] +// CHECK:STDOUT: %A.WithSelf.B.type.210: type = fn_type @A.WithSelf.B, @A.WithSelf(%A.facet) [concrete] +// CHECK:STDOUT: %A.WithSelf.B.11e: %A.WithSelf.B.type.210 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: } @@ -694,8 +694,8 @@ class X { // CHECK:STDOUT: specific @A.WithSelf(constants.%A.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%A.facet -// CHECK:STDOUT: %A.WithSelf.B.type => constants.%A.WithSelf.B.type.d09 -// CHECK:STDOUT: %A.WithSelf.B => constants.%A.WithSelf.B.e21 +// CHECK:STDOUT: %A.WithSelf.B.type => constants.%A.WithSelf.B.type.210 +// CHECK:STDOUT: %A.WithSelf.B => constants.%A.WithSelf.B.11e // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.B(constants.%A.facet) {} 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 a7e7ffda8267..7f2a26de140d 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon @@ -241,64 +241,64 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %assoc0.6c9: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [concrete] // CHECK:STDOUT: %NoF: type = class_type @NoF [concrete] // CHECK:STDOUT: %.6c7: = impl_self_witness %NoF, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.85e: = impl_witness @NoF.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %I.facet.752: %I.type = facet_value %NoF, (%I.impl_witness.85e) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.3d3: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.752) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.38a: %I.WithSelf.F.type.3d3 = struct_value () [concrete] +// CHECK:STDOUT: %I.impl_witness.ff5: = impl_witness @NoF.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet.eb1: %I.type = facet_value %NoF, (%I.impl_witness.ff5) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.86d: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.eb1) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.bef: %I.WithSelf.F.type.86d = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %FNotFunction: type = class_type @FNotFunction [concrete] // CHECK:STDOUT: %.d4c: = impl_self_witness %FNotFunction, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.b51: = impl_witness @FNotFunction.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.ef7: = impl_witness @FNotFunction.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %F: type = class_type @F [concrete] -// CHECK:STDOUT: %I.facet.010: %I.type = facet_value %FNotFunction, (%I.impl_witness.b51) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.642: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.010) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.c29: %I.WithSelf.F.type.642 = struct_value () [concrete] +// CHECK:STDOUT: %I.facet.304: %I.type = facet_value %FNotFunction, (%I.impl_witness.ef7) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.772: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.304) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.196: %I.WithSelf.F.type.772 = struct_value () [concrete] // CHECK:STDOUT: %PossiblyF.type: type = fn_type @PossiblyF [concrete] // CHECK:STDOUT: %PossiblyF: %PossiblyF.type = struct_value () [concrete] // CHECK:STDOUT: %FAlias: type = class_type @FAlias [concrete] // CHECK:STDOUT: %.a11: = impl_self_witness %FAlias, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.e2e: = impl_witness @FAlias.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %I.facet.f6f: %I.type = facet_value %FAlias, (%I.impl_witness.e2e) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.751: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.f6f) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.6d6: %I.WithSelf.F.type.751 = struct_value () [concrete] +// CHECK:STDOUT: %I.impl_witness.fe5: = impl_witness @FAlias.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet.ef1: %I.type = facet_value %FAlias, (%I.impl_witness.fe5) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.962: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.ef1) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.85d: %I.WithSelf.F.type.962 = struct_value () [concrete] // CHECK:STDOUT: %FExtraParam: type = class_type @FExtraParam [concrete] // CHECK:STDOUT: %.44b: = impl_self_witness %FExtraParam, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.99e: = impl_witness @FExtraParam.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.0d1: = impl_witness @FExtraParam.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %b.param_patt.792: %pattern_type.831 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt.4e2: %pattern_type.831 = at_binding_pattern b, %b.param_patt.792 [concrete] // CHECK:STDOUT: %FExtraParam.as.I.impl.F.type.ec7b0b.1: type = fn_type @FExtraParam.as.I.impl.F.loc69_18.1 [concrete] // CHECK:STDOUT: %FExtraParam.as.I.impl.F.ef9801.1: %FExtraParam.as.I.impl.F.type.ec7b0b.1 = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.657: %I.type = facet_value %FExtraParam, (%I.impl_witness.99e) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.255: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.657) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.fc1: %I.WithSelf.F.type.255 = struct_value () [concrete] +// CHECK:STDOUT: %I.facet.476: %I.type = facet_value %FExtraParam, (%I.impl_witness.0d1) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.7c2: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.476) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.67b: %I.WithSelf.F.type.7c2 = struct_value () [concrete] // CHECK:STDOUT: %FExtraParam.as.I.impl.F.type.ec7b0b.2: type = fn_type @FExtraParam.as.I.impl.F.loc69_18.2 [concrete] // CHECK:STDOUT: %FExtraParam.as.I.impl.F.ef9801.2: %FExtraParam.as.I.impl.F.type.ec7b0b.2 = struct_value () [concrete] // CHECK:STDOUT: %FExtraImplicitParam: type = class_type @FExtraImplicitParam [concrete] // CHECK:STDOUT: %.77c: = impl_self_witness %FExtraImplicitParam, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.2da: = impl_witness @FExtraImplicitParam.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.989: = impl_witness @FExtraImplicitParam.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.54d: type = pattern_type %FExtraImplicitParam [concrete] // CHECK:STDOUT: %self.param_patt.f41: %pattern_type.54d = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.3d5: %pattern_type.54d = at_binding_pattern self, %self.param_patt.f41 [concrete] // CHECK:STDOUT: %FExtraImplicitParam.as.I.impl.F.type.54cac2.1: type = fn_type @FExtraImplicitParam.as.I.impl.F.loc85_15.1 [concrete] // CHECK:STDOUT: %FExtraImplicitParam.as.I.impl.F.a42f35.1: %FExtraImplicitParam.as.I.impl.F.type.54cac2.1 = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.334: %I.type = facet_value %FExtraImplicitParam, (%I.impl_witness.2da) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.6ff: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.334) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.39e: %I.WithSelf.F.type.6ff = struct_value () [concrete] +// CHECK:STDOUT: %I.facet.7ed: %I.type = facet_value %FExtraImplicitParam, (%I.impl_witness.989) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.f54: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.7ed) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.b2a: %I.WithSelf.F.type.f54 = struct_value () [concrete] // CHECK:STDOUT: %FExtraImplicitParam.as.I.impl.F.type.54cac2.2: type = fn_type @FExtraImplicitParam.as.I.impl.F.loc85_15.2 [concrete] // CHECK:STDOUT: %FExtraImplicitParam.as.I.impl.F.a42f35.2: %FExtraImplicitParam.as.I.impl.F.type.54cac2.2 = struct_value () [concrete] // CHECK:STDOUT: %FExtraReturnType: type = class_type @FExtraReturnType [concrete] // CHECK:STDOUT: %.ebd: = impl_self_witness %FExtraReturnType, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.b63: = impl_witness @FExtraReturnType.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.5ee: = impl_witness @FExtraReturnType.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %.f34: Core.Form = init_form bool [concrete] // CHECK:STDOUT: %return.param_patt.5a1: %pattern_type.831 = out_param_pattern [concrete] // CHECK:STDOUT: %return.patt.c0c: %pattern_type.831 = return_slot_pattern %return.param_patt.5a1, bool [concrete] // CHECK:STDOUT: %FExtraReturnType.as.I.impl.F.type: type = fn_type @FExtraReturnType.as.I.impl.F [concrete] // CHECK:STDOUT: %FExtraReturnType.as.I.impl.F: %FExtraReturnType.as.I.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.dde: %I.type = facet_value %FExtraReturnType, (%I.impl_witness.b63) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.fea: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.dde) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.338: %I.WithSelf.F.type.fea = struct_value () [concrete] +// CHECK:STDOUT: %I.facet.6f2: %I.type = facet_value %FExtraReturnType, (%I.impl_witness.5ee) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.91e: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.6f2) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.70f: %I.WithSelf.F.type.91e = struct_value () [concrete] // CHECK:STDOUT: %J.type: type = facet_type <@J> [concrete] // CHECK:STDOUT: %Self.653: %J.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %self.param_patt.210: %pattern_type.831 = value_param_pattern [concrete] @@ -309,32 +309,32 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %assoc0.000: %J.assoc_type = assoc_entity element0, @J.WithSelf.%J.WithSelf.F.decl [concrete] // CHECK:STDOUT: %FMissingParam: type = class_type @FMissingParam [concrete] // CHECK:STDOUT: %.599: = impl_self_witness %FMissingParam, @J [concrete] -// CHECK:STDOUT: %J.impl_witness.a34: = impl_witness @FMissingParam.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.impl_witness.24e: = impl_witness @FMissingParam.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %FMissingParam.as.J.impl.F.type.aad6ec.1: type = fn_type @FMissingParam.as.J.impl.F.loc117_29.1 [concrete] // CHECK:STDOUT: %FMissingParam.as.J.impl.F.dd09dc.1: %FMissingParam.as.J.impl.F.type.aad6ec.1 = struct_value () [concrete] -// CHECK:STDOUT: %J.facet.d77: %J.type = facet_value %FMissingParam, (%J.impl_witness.a34) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.51b: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.d77) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.ed6: %J.WithSelf.F.type.51b = struct_value () [concrete] +// CHECK:STDOUT: %J.facet.2a3: %J.type = facet_value %FMissingParam, (%J.impl_witness.24e) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.989: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.2a3) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.ee2: %J.WithSelf.F.type.989 = struct_value () [concrete] // CHECK:STDOUT: %FMissingParam.as.J.impl.F.type.aad6ec.2: type = fn_type @FMissingParam.as.J.impl.F.loc117_29.2 [concrete] // CHECK:STDOUT: %FMissingParam.as.J.impl.F.dd09dc.2: %FMissingParam.as.J.impl.F.type.aad6ec.2 = struct_value () [concrete] // CHECK:STDOUT: %FMissingImplicitParam: type = class_type @FMissingImplicitParam [concrete] // CHECK:STDOUT: %.f79: = impl_self_witness %FMissingImplicitParam, @J [concrete] -// CHECK:STDOUT: %J.impl_witness.7e6: = impl_witness @FMissingImplicitParam.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.impl_witness.0d0: = impl_witness @FMissingImplicitParam.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %FMissingImplicitParam.as.J.impl.F.type.f666a8.1: type = fn_type @FMissingImplicitParam.as.J.impl.F.loc130_26.1 [concrete] // CHECK:STDOUT: %FMissingImplicitParam.as.J.impl.F.620ed1.1: %FMissingImplicitParam.as.J.impl.F.type.f666a8.1 = struct_value () [concrete] -// CHECK:STDOUT: %J.facet.3f0: %J.type = facet_value %FMissingImplicitParam, (%J.impl_witness.7e6) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.e23: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.3f0) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.897: %J.WithSelf.F.type.e23 = struct_value () [concrete] +// CHECK:STDOUT: %J.facet.ba1: %J.type = facet_value %FMissingImplicitParam, (%J.impl_witness.0d0) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.b8b: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.ba1) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.47f: %J.WithSelf.F.type.b8b = struct_value () [concrete] // CHECK:STDOUT: %FMissingImplicitParam.as.J.impl.F.type.f666a8.2: type = fn_type @FMissingImplicitParam.as.J.impl.F.loc130_26.2 [concrete] // CHECK:STDOUT: %FMissingImplicitParam.as.J.impl.F.620ed1.2: %FMissingImplicitParam.as.J.impl.F.type.f666a8.2 = struct_value () [concrete] // CHECK:STDOUT: %FMissingReturnType: type = class_type @FMissingReturnType [concrete] // CHECK:STDOUT: %.199: = impl_self_witness %FMissingReturnType, @J [concrete] -// CHECK:STDOUT: %J.impl_witness.05c: = impl_witness @FMissingReturnType.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.impl_witness.50a: = impl_witness @FMissingReturnType.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %FMissingReturnType.as.J.impl.F.type.9cd56a.1: type = fn_type @FMissingReturnType.as.J.impl.F.loc148_30.1 [concrete] // CHECK:STDOUT: %FMissingReturnType.as.J.impl.F.6975be.1: %FMissingReturnType.as.J.impl.F.type.9cd56a.1 = struct_value () [concrete] -// CHECK:STDOUT: %J.facet.c42: %J.type = facet_value %FMissingReturnType, (%J.impl_witness.05c) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.f86: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.c42) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.d52: %J.WithSelf.F.type.f86 = struct_value () [concrete] +// CHECK:STDOUT: %J.facet.b68: %J.type = facet_value %FMissingReturnType, (%J.impl_witness.50a) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.273: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.b68) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.e6d: %J.WithSelf.F.type.273 = struct_value () [concrete] // CHECK:STDOUT: %FMissingReturnType.as.J.impl.F.type.9cd56a.2: type = fn_type @FMissingReturnType.as.J.impl.F.loc148_30.2 [concrete] // CHECK:STDOUT: %FMissingReturnType.as.J.impl.F.6975be.2: %FMissingReturnType.as.J.impl.F.type.9cd56a.2 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] @@ -348,15 +348,15 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %assoc0.0ac: %ImplicitAs.assoc_type.fcc = assoc_entity element0, imports.%Core.import_ref.f9d [symbolic] // CHECK:STDOUT: %FDifferentParamType: type = class_type @FDifferentParamType [concrete] // CHECK:STDOUT: %.593: = impl_self_witness %FDifferentParamType, @J [concrete] -// CHECK:STDOUT: %J.impl_witness.553: = impl_witness @FDifferentParamType.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.impl_witness.9e2: = impl_witness @FDifferentParamType.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.5d3: type = pattern_type %FDifferentParamType [concrete] // CHECK:STDOUT: %b.param_patt.0a8: %pattern_type.5d3 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt.05d: %pattern_type.5d3 = at_binding_pattern b, %b.param_patt.0a8 [concrete] // CHECK:STDOUT: %FDifferentParamType.as.J.impl.F.type.4a2e9b.1: type = fn_type @FDifferentParamType.as.J.impl.F.loc163_38.1 [concrete] // CHECK:STDOUT: %FDifferentParamType.as.J.impl.F.28602a.1: %FDifferentParamType.as.J.impl.F.type.4a2e9b.1 = struct_value () [concrete] -// CHECK:STDOUT: %J.facet.47a: %J.type = facet_value %FDifferentParamType, (%J.impl_witness.553) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.9c3: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.47a) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.4cd: %J.WithSelf.F.type.9c3 = struct_value () [concrete] +// CHECK:STDOUT: %J.facet.73e: %J.type = facet_value %FDifferentParamType, (%J.impl_witness.9e2) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.049: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.73e) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.227: %J.WithSelf.F.type.049 = struct_value () [concrete] // CHECK:STDOUT: %FDifferentParamType.as.J.impl.F.type.4a2e9b.2: type = fn_type @FDifferentParamType.as.J.impl.F.loc163_38.2 [concrete] // CHECK:STDOUT: %FDifferentParamType.as.J.impl.F.28602a.2: %FDifferentParamType.as.J.impl.F.type.4a2e9b.2 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.4ba: type = facet_type <@ImplicitAs, @ImplicitAs(%FDifferentParamType)> [concrete] @@ -364,15 +364,15 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %assoc0.603: %ImplicitAs.assoc_type.503 = assoc_entity element0, imports.%Core.import_ref.cb2 [concrete] // CHECK:STDOUT: %FDifferentImplicitParamType: type = class_type @FDifferentImplicitParamType [concrete] // CHECK:STDOUT: %.46c: = impl_self_witness %FDifferentImplicitParamType, @J [concrete] -// CHECK:STDOUT: %J.impl_witness.cc3: = impl_witness @FDifferentImplicitParamType.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.impl_witness.d1a: = impl_witness @FDifferentImplicitParamType.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.1bc: type = pattern_type %FDifferentImplicitParamType [concrete] // CHECK:STDOUT: %self.param_patt.ea6: %pattern_type.1bc = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.a07: %pattern_type.1bc = at_binding_pattern self, %self.param_patt.ea6 [concrete] // CHECK:STDOUT: %FDifferentImplicitParamType.as.J.impl.F.type.6ef8a6.1: type = fn_type @FDifferentImplicitParamType.as.J.impl.F.loc176_32.1 [concrete] // CHECK:STDOUT: %FDifferentImplicitParamType.as.J.impl.F.792c78.1: %FDifferentImplicitParamType.as.J.impl.F.type.6ef8a6.1 = struct_value () [concrete] -// CHECK:STDOUT: %J.facet.929: %J.type = facet_value %FDifferentImplicitParamType, (%J.impl_witness.cc3) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.97c: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.929) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.94b: %J.WithSelf.F.type.97c = struct_value () [concrete] +// CHECK:STDOUT: %J.facet.00a: %J.type = facet_value %FDifferentImplicitParamType, (%J.impl_witness.d1a) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.546: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.00a) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.17b: %J.WithSelf.F.type.546 = struct_value () [concrete] // CHECK:STDOUT: %FDifferentImplicitParamType.as.J.impl.F.type.6ef8a6.2: type = fn_type @FDifferentImplicitParamType.as.J.impl.F.loc176_32.2 [concrete] // CHECK:STDOUT: %FDifferentImplicitParamType.as.J.impl.F.792c78.2: %FDifferentImplicitParamType.as.J.impl.F.type.6ef8a6.2 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.de7: type = facet_type <@ImplicitAs, @ImplicitAs(%FDifferentImplicitParamType)> [concrete] @@ -380,16 +380,16 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %assoc0.769: %ImplicitAs.assoc_type.36e = assoc_entity element0, imports.%Core.import_ref.cb2 [concrete] // CHECK:STDOUT: %FDifferentReturnType: type = class_type @FDifferentReturnType [concrete] // CHECK:STDOUT: %.ce7: = impl_self_witness %FDifferentReturnType, @J [concrete] -// CHECK:STDOUT: %J.impl_witness.6ab: = impl_witness @FDifferentReturnType.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.impl_witness.6a4: = impl_witness @FDifferentReturnType.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %.1f5: Core.Form = init_form %FDifferentReturnType [concrete] // CHECK:STDOUT: %pattern_type.b9f: type = pattern_type %FDifferentReturnType [concrete] // CHECK:STDOUT: %return.param_patt.f37: %pattern_type.b9f = out_param_pattern [concrete] // CHECK:STDOUT: %return.patt.e4f: %pattern_type.b9f = return_slot_pattern %return.param_patt.f37, %FDifferentReturnType [concrete] // CHECK:STDOUT: %FDifferentReturnType.as.J.impl.F.type.ff55f4.1: type = fn_type @FDifferentReturnType.as.J.impl.F.loc194_38.1 [concrete] // CHECK:STDOUT: %FDifferentReturnType.as.J.impl.F.9725a5.1: %FDifferentReturnType.as.J.impl.F.type.ff55f4.1 = struct_value () [concrete] -// CHECK:STDOUT: %J.facet.b85: %J.type = facet_value %FDifferentReturnType, (%J.impl_witness.6ab) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.a9c: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.b85) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.6ec: %J.WithSelf.F.type.a9c = struct_value () [concrete] +// CHECK:STDOUT: %J.facet.6a7: %J.type = facet_value %FDifferentReturnType, (%J.impl_witness.6a4) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.1a1: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.6a7) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.efe: %J.WithSelf.F.type.1a1 = struct_value () [concrete] // CHECK:STDOUT: %FDifferentReturnType.as.J.impl.F.type.ff55f4.2: type = fn_type @FDifferentReturnType.as.J.impl.F.loc194_38.2 [concrete] // CHECK:STDOUT: %FDifferentReturnType.as.J.impl.F.9725a5.2: %FDifferentReturnType.as.J.impl.F.type.ff55f4.2 = struct_value () [concrete] // CHECK:STDOUT: %SelfNested.type: type = facet_type <@SelfNested> [concrete] @@ -419,7 +419,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %assoc0.219: %SelfNested.assoc_type = assoc_entity element0, @SelfNested.WithSelf.%SelfNested.WithSelf.F.decl [concrete] // CHECK:STDOUT: %SelfNestedBadParam: type = class_type @SelfNestedBadParam [concrete] // CHECK:STDOUT: %.83b: = impl_self_witness %SelfNestedBadParam, @SelfNested [concrete] -// CHECK:STDOUT: %SelfNested.impl_witness.d7c: = impl_witness @SelfNestedBadParam.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] +// CHECK:STDOUT: %SelfNested.impl_witness.09d: = impl_witness @SelfNestedBadParam.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.52e: type = ptr_type %SelfNestedBadParam [concrete] // CHECK:STDOUT: %struct_type.x.y.fb8: type = struct_type {.x: %i32, .y: %i32} [concrete] // CHECK:STDOUT: %tuple.991: %tuple.type.24b = tuple_value (%ptr.52e, %struct_type.x.y.fb8) [concrete] @@ -434,9 +434,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.patt.98a: %pattern_type.3a0 = return_slot_pattern %return.param_patt.489, %array_type.291 [concrete] // CHECK:STDOUT: %SelfNestedBadParam.as.SelfNested.impl.F.type.4325e7.1: type = fn_type @SelfNestedBadParam.as.SelfNested.impl.F.loc211_87.1 [concrete] // CHECK:STDOUT: %SelfNestedBadParam.as.SelfNested.impl.F.5fd896.1: %SelfNestedBadParam.as.SelfNested.impl.F.type.4325e7.1 = struct_value () [concrete] -// CHECK:STDOUT: %SelfNested.facet.fc6: %SelfNested.type = facet_value %SelfNestedBadParam, (%SelfNested.impl_witness.d7c) [concrete] -// CHECK:STDOUT: %SelfNested.WithSelf.F.type.75d: type = fn_type @SelfNested.WithSelf.F, @SelfNested.WithSelf(%SelfNested.facet.fc6) [concrete] -// CHECK:STDOUT: %SelfNested.WithSelf.F.379: %SelfNested.WithSelf.F.type.75d = struct_value () [concrete] +// CHECK:STDOUT: %SelfNested.facet.d0d: %SelfNested.type = facet_value %SelfNestedBadParam, (%SelfNested.impl_witness.09d) [concrete] +// CHECK:STDOUT: %SelfNested.WithSelf.F.type.398: type = fn_type @SelfNested.WithSelf.F, @SelfNested.WithSelf(%SelfNested.facet.d0d) [concrete] +// CHECK:STDOUT: %SelfNested.WithSelf.F.175: %SelfNested.WithSelf.F.type.398 = struct_value () [concrete] // CHECK:STDOUT: %struct_type.x.y.da2: type = struct_type {.x: %SelfNestedBadParam, .y: %i32} [concrete] // CHECK:STDOUT: %tuple.09d: %tuple.type.24b = tuple_value (%ptr.52e, %struct_type.x.y.da2) [concrete] // CHECK:STDOUT: %tuple.type.9ab: type = tuple_type (%ptr.52e, %struct_type.x.y.da2) [concrete] @@ -450,7 +450,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %assoc0.368: %ImplicitAs.assoc_type.e23 = assoc_entity element0, imports.%Core.import_ref.cb2 [concrete] // CHECK:STDOUT: %SelfNestedBadReturnType: type = class_type @SelfNestedBadReturnType [concrete] // CHECK:STDOUT: %.020: = impl_self_witness %SelfNestedBadReturnType, @SelfNested [concrete] -// CHECK:STDOUT: %SelfNested.impl_witness.abd: = impl_witness @SelfNestedBadReturnType.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] +// CHECK:STDOUT: %SelfNested.impl_witness.849: = impl_witness @SelfNestedBadReturnType.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.f55: type = ptr_type %SelfNestedBadReturnType [concrete] // CHECK:STDOUT: %struct_type.x.y.f6a: type = struct_type {.x: %SelfNestedBadReturnType, .y: %i32} [concrete] // CHECK:STDOUT: %tuple.96d: %tuple.type.24b = tuple_value (%ptr.f55, %struct_type.x.y.f6a) [concrete] @@ -460,9 +460,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %x.patt.ef5: %pattern_type.5c2 = at_binding_pattern x, %x.param_patt.7be [concrete] // CHECK:STDOUT: %SelfNestedBadReturnType.as.SelfNested.impl.F.type.1cbabe.1: type = fn_type @SelfNestedBadReturnType.as.SelfNested.impl.F.loc227_112.1 [concrete] // CHECK:STDOUT: %SelfNestedBadReturnType.as.SelfNested.impl.F.5a7d54.1: %SelfNestedBadReturnType.as.SelfNested.impl.F.type.1cbabe.1 = struct_value () [concrete] -// CHECK:STDOUT: %SelfNested.facet.68c: %SelfNested.type = facet_value %SelfNestedBadReturnType, (%SelfNested.impl_witness.abd) [concrete] -// CHECK:STDOUT: %SelfNested.WithSelf.F.type.53d: type = fn_type @SelfNested.WithSelf.F, @SelfNested.WithSelf(%SelfNested.facet.68c) [concrete] -// CHECK:STDOUT: %SelfNested.WithSelf.F.f39: %SelfNested.WithSelf.F.type.53d = struct_value () [concrete] +// CHECK:STDOUT: %SelfNested.facet.e71: %SelfNested.type = facet_value %SelfNestedBadReturnType, (%SelfNested.impl_witness.849) [concrete] +// CHECK:STDOUT: %SelfNested.WithSelf.F.type.20c: type = fn_type @SelfNested.WithSelf.F, @SelfNested.WithSelf(%SelfNested.facet.e71) [concrete] +// CHECK:STDOUT: %SelfNested.WithSelf.F.bab: %SelfNested.WithSelf.F.type.20c = struct_value () [concrete] // CHECK:STDOUT: %array_type.a08: type = array_type %int_4, %SelfNestedBadReturnType [concrete] // CHECK:STDOUT: %.442: Core.Form = init_form %array_type.a08 [concrete] // CHECK:STDOUT: %pattern_type.f0d: type = pattern_type %array_type.a08 [concrete] @@ -631,7 +631,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: impl @NoF.as.I.impl: %Self.ref as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @NoF.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.85e] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.ff5] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = @@ -642,7 +642,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @FNotFunction.as.I.impl: %Self.ref as %I.ref { // CHECK:STDOUT: %F.decl: type = class_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @FNotFunction.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.b51] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.ef7] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %F.decl @@ -654,7 +654,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %PossiblyF.ref: %PossiblyF.type = name_ref PossiblyF, file.%PossiblyF.decl [concrete = constants.%PossiblyF] // CHECK:STDOUT: %F: %PossiblyF.type = alias_binding F, %PossiblyF.ref [concrete = constants.%PossiblyF] // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @FAlias.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.e2e] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.fe5] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .PossiblyF = @@ -674,7 +674,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: %FExtraParam.as.I.impl.F.decl.loc69_18.2: %FExtraParam.as.I.impl.F.type.ec7b0b.2 = fn_decl @FExtraParam.as.I.impl.F.loc69_18.2 [concrete = constants.%FExtraParam.as.I.impl.F.ef9801.2] {} {} // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%FExtraParam.as.I.impl.F.decl.loc69_18.2), @FExtraParam.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.99e] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.0d1] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %FExtraParam.as.I.impl.F.decl.loc69_18.1 @@ -693,7 +693,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } // CHECK:STDOUT: %FExtraImplicitParam.as.I.impl.F.decl.loc85_15.2: %FExtraImplicitParam.as.I.impl.F.type.54cac2.2 = fn_decl @FExtraImplicitParam.as.I.impl.F.loc85_15.2 [concrete = constants.%FExtraImplicitParam.as.I.impl.F.a42f35.2] {} {} // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%FExtraImplicitParam.as.I.impl.F.decl.loc85_15.2), @FExtraImplicitParam.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.2da] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.989] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %FExtraImplicitParam.as.I.impl.F.decl.loc85_15.1 @@ -712,7 +712,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @FExtraReturnType.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.b63] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.5ee] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %FExtraReturnType.as.I.impl.F.decl @@ -735,14 +735,14 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref bool = out_param call_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.d77) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.d77) [concrete = constants.%.f34] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.2a3) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.2a3) [concrete = constants.%.f34] // CHECK:STDOUT: %FMissingParam.as.J.impl.F.decl.loc117_29.2: %FMissingParam.as.J.impl.F.type.aad6ec.2 = fn_decl @FMissingParam.as.J.impl.F.loc117_29.2 [concrete = constants.%FMissingParam.as.J.impl.F.dd09dc.2] { -// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.d77) [concrete = constants.%self.param_patt.210] +// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.2a3) [concrete = constants.%self.param_patt.210] // CHECK:STDOUT: %self.patt: %pattern_type.831 = at_binding_pattern self, %.1 [concrete = constants.%self.patt.f7d] -// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.d77) [concrete = constants.%b.param_patt.792] +// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.2a3) [concrete = constants.%b.param_patt.792] // CHECK:STDOUT: %b.patt: %pattern_type.831 = at_binding_pattern b, %.2 [concrete = constants.%b.patt.4e2] -// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.d77) [concrete = constants.%return.patt.c0c] +// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.2a3) [concrete = constants.%return.patt.c0c] // CHECK:STDOUT: } { // CHECK:STDOUT: %self.param: bool = value_param call_param0 // CHECK:STDOUT: %self: bool = wrapper_binding self, %self.param @@ -752,7 +752,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%FMissingParam.as.J.impl.F.decl.loc117_29.2), @FMissingParam.as.J.impl [concrete] -// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.a34] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.24e] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %FMissingParam.as.J.impl.F.decl.loc117_29.1 @@ -775,14 +775,14 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref bool = out_param call_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.3f0) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.3f0) [concrete = constants.%.f34] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.ba1) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.ba1) [concrete = constants.%.f34] // CHECK:STDOUT: %FMissingImplicitParam.as.J.impl.F.decl.loc130_26.2: %FMissingImplicitParam.as.J.impl.F.type.f666a8.2 = fn_decl @FMissingImplicitParam.as.J.impl.F.loc130_26.2 [concrete = constants.%FMissingImplicitParam.as.J.impl.F.620ed1.2] { -// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.3f0) [concrete = constants.%self.param_patt.210] +// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.ba1) [concrete = constants.%self.param_patt.210] // CHECK:STDOUT: %self.patt: %pattern_type.831 = at_binding_pattern self, %.1 [concrete = constants.%self.patt.f7d] -// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.3f0) [concrete = constants.%b.param_patt.792] +// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.ba1) [concrete = constants.%b.param_patt.792] // CHECK:STDOUT: %b.patt: %pattern_type.831 = at_binding_pattern b, %.2 [concrete = constants.%b.patt.4e2] -// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.3f0) [concrete = constants.%return.patt.c0c] +// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.ba1) [concrete = constants.%return.patt.c0c] // CHECK:STDOUT: } { // CHECK:STDOUT: %self.param: bool = value_param call_param0 // CHECK:STDOUT: %self: bool = wrapper_binding self, %self.param @@ -792,7 +792,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%FMissingImplicitParam.as.J.impl.F.decl.loc130_26.2), @FMissingImplicitParam.as.J.impl [concrete] -// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.7e6] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.0d0] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %FMissingImplicitParam.as.J.impl.F.decl.loc130_26.1 @@ -814,14 +814,14 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %.loc148_25: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = wrapper_binding b, %b.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.c42) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.c42) [concrete = constants.%.f34] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.b68) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.b68) [concrete = constants.%.f34] // CHECK:STDOUT: %FMissingReturnType.as.J.impl.F.decl.loc148_30.2: %FMissingReturnType.as.J.impl.F.type.9cd56a.2 = fn_decl @FMissingReturnType.as.J.impl.F.loc148_30.2 [concrete = constants.%FMissingReturnType.as.J.impl.F.6975be.2] { -// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.c42) [concrete = constants.%self.param_patt.210] +// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.b68) [concrete = constants.%self.param_patt.210] // CHECK:STDOUT: %self.patt: %pattern_type.831 = at_binding_pattern self, %.1 [concrete = constants.%self.patt.f7d] -// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.c42) [concrete = constants.%b.param_patt.792] +// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.b68) [concrete = constants.%b.param_patt.792] // CHECK:STDOUT: %b.patt: %pattern_type.831 = at_binding_pattern b, %.2 [concrete = constants.%b.patt.4e2] -// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.c42) [concrete = constants.%return.patt.c0c] +// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.b68) [concrete = constants.%return.patt.c0c] // CHECK:STDOUT: } { // CHECK:STDOUT: %self.param: bool = value_param call_param0 // CHECK:STDOUT: %self: bool = wrapper_binding self, %self.param @@ -831,7 +831,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%FMissingReturnType.as.J.impl.F.decl.loc148_30.2), @FMissingReturnType.as.J.impl [concrete] -// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.05c] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.50a] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %FMissingReturnType.as.J.impl.F.decl.loc148_30.1 @@ -859,14 +859,14 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.47a) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.47a) [concrete = constants.%.f34] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.73e) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.73e) [concrete = constants.%.f34] // CHECK:STDOUT: %FDifferentParamType.as.J.impl.F.decl.loc163_38.2: %FDifferentParamType.as.J.impl.F.type.4a2e9b.2 = fn_decl @FDifferentParamType.as.J.impl.F.loc163_38.2 [concrete = constants.%FDifferentParamType.as.J.impl.F.28602a.2] { -// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.47a) [concrete = constants.%self.param_patt.210] +// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.73e) [concrete = constants.%self.param_patt.210] // CHECK:STDOUT: %self.patt: %pattern_type.831 = at_binding_pattern self, %.1 [concrete = constants.%self.patt.f7d] -// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.47a) [concrete = constants.%b.param_patt.792] +// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.73e) [concrete = constants.%b.param_patt.792] // CHECK:STDOUT: %b.patt: %pattern_type.831 = at_binding_pattern b, %.2 [concrete = constants.%b.patt.4e2] -// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.47a) [concrete = constants.%return.patt.c0c] +// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.73e) [concrete = constants.%return.patt.c0c] // CHECK:STDOUT: } { // CHECK:STDOUT: %self.param: bool = value_param call_param0 // CHECK:STDOUT: %self: bool = wrapper_binding self, %self.param @@ -876,7 +876,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%FDifferentParamType.as.J.impl.F.decl.loc163_38.2), @FDifferentParamType.as.J.impl [concrete] -// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.553] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.9e2] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %FDifferentParamType.as.J.impl.F.decl.loc163_38.1 @@ -904,14 +904,14 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.929) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.929) [concrete = constants.%.f34] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.00a) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.00a) [concrete = constants.%.f34] // CHECK:STDOUT: %FDifferentImplicitParamType.as.J.impl.F.decl.loc176_32.2: %FDifferentImplicitParamType.as.J.impl.F.type.6ef8a6.2 = fn_decl @FDifferentImplicitParamType.as.J.impl.F.loc176_32.2 [concrete = constants.%FDifferentImplicitParamType.as.J.impl.F.792c78.2] { -// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.929) [concrete = constants.%self.param_patt.210] +// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.00a) [concrete = constants.%self.param_patt.210] // CHECK:STDOUT: %self.patt: %pattern_type.831 = at_binding_pattern self, %.1 [concrete = constants.%self.patt.f7d] -// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.929) [concrete = constants.%b.param_patt.792] +// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.00a) [concrete = constants.%b.param_patt.792] // CHECK:STDOUT: %b.patt: %pattern_type.831 = at_binding_pattern b, %.2 [concrete = constants.%b.patt.4e2] -// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.929) [concrete = constants.%return.patt.c0c] +// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.00a) [concrete = constants.%return.patt.c0c] // CHECK:STDOUT: } { // CHECK:STDOUT: %self.param: bool = value_param call_param0 // CHECK:STDOUT: %self: bool = wrapper_binding self, %self.param @@ -921,7 +921,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%FDifferentImplicitParamType.as.J.impl.F.decl.loc176_32.2), @FDifferentImplicitParamType.as.J.impl [concrete] -// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.cc3] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.d1a] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %FDifferentImplicitParamType.as.J.impl.F.decl.loc176_32.1 @@ -949,14 +949,14 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref %FDifferentReturnType = out_param call_param2 // CHECK:STDOUT: %return: ref %FDifferentReturnType = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.b85) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.b85) [concrete = constants.%.f34] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.6a7) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: Core.Form = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.6a7) [concrete = constants.%.f34] // CHECK:STDOUT: %FDifferentReturnType.as.J.impl.F.decl.loc194_38.2: %FDifferentReturnType.as.J.impl.F.type.ff55f4.2 = fn_decl @FDifferentReturnType.as.J.impl.F.loc194_38.2 [concrete = constants.%FDifferentReturnType.as.J.impl.F.9725a5.2] { -// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.b85) [concrete = constants.%self.param_patt.210] +// CHECK:STDOUT: %.1: %pattern_type.831 = specific_constant constants.%self.param_patt.210, @J.WithSelf.F(constants.%J.facet.6a7) [concrete = constants.%self.param_patt.210] // CHECK:STDOUT: %self.patt: %pattern_type.831 = at_binding_pattern self, %.1 [concrete = constants.%self.patt.f7d] -// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.b85) [concrete = constants.%b.param_patt.792] +// CHECK:STDOUT: %.2: %pattern_type.831 = specific_constant constants.%b.param_patt.792, @J.WithSelf.F(constants.%J.facet.6a7) [concrete = constants.%b.param_patt.792] // CHECK:STDOUT: %b.patt: %pattern_type.831 = at_binding_pattern b, %.2 [concrete = constants.%b.patt.4e2] -// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.b85) [concrete = constants.%return.patt.c0c] +// CHECK:STDOUT: %.3: %pattern_type.831 = specific_constant constants.%return.patt.c0c, @J.WithSelf.F(constants.%J.facet.6a7) [concrete = constants.%return.patt.c0c] // CHECK:STDOUT: } { // CHECK:STDOUT: %self.param: bool = value_param call_param0 // CHECK:STDOUT: %self: bool = wrapper_binding self, %self.param @@ -966,7 +966,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %J.impl_witness_table = impl_witness_table (%FDifferentReturnType.as.J.impl.F.decl.loc194_38.2), @FDifferentReturnType.as.J.impl [concrete] -// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.6ab] +// CHECK:STDOUT: %J.impl_witness: = impl_witness %J.impl_witness_table [concrete = constants.%J.impl_witness.6a4] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %FDifferentReturnType.as.J.impl.F.decl.loc194_38.1 @@ -999,12 +999,12 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref %array_type.291 = out_param call_param1 // CHECK:STDOUT: %return: ref %array_type.291 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc199_57.1: type = specific_constant @SelfNested.WithSelf.F.%array_type.loc199_57.2, @SelfNested.WithSelf.F(constants.%SelfNested.facet.fc6) [concrete = constants.%array_type.291] -// CHECK:STDOUT: %.loc199_57.2: Core.Form = specific_constant @SelfNested.WithSelf.F.%.loc199_57.2, @SelfNested.WithSelf.F(constants.%SelfNested.facet.fc6) [concrete = constants.%.cc2] +// CHECK:STDOUT: %.loc199_57.1: type = specific_constant @SelfNested.WithSelf.F.%array_type.loc199_57.2, @SelfNested.WithSelf.F(constants.%SelfNested.facet.d0d) [concrete = constants.%array_type.291] +// CHECK:STDOUT: %.loc199_57.2: Core.Form = specific_constant @SelfNested.WithSelf.F.%.loc199_57.2, @SelfNested.WithSelf.F(constants.%SelfNested.facet.d0d) [concrete = constants.%.cc2] // CHECK:STDOUT: %SelfNestedBadParam.as.SelfNested.impl.F.decl.loc211_87.2: %SelfNestedBadParam.as.SelfNested.impl.F.type.4325e7.2 = fn_decl @SelfNestedBadParam.as.SelfNested.impl.F.loc211_87.2 [concrete = constants.%SelfNestedBadParam.as.SelfNested.impl.F.5fd896.2] { -// CHECK:STDOUT: %.1: %pattern_type.94f = specific_constant constants.%x.param_patt.7b9, @SelfNested.WithSelf.F(constants.%SelfNested.facet.fc6) [concrete = constants.%x.param_patt.7b9] +// CHECK:STDOUT: %.1: %pattern_type.94f = specific_constant constants.%x.param_patt.7b9, @SelfNested.WithSelf.F(constants.%SelfNested.facet.d0d) [concrete = constants.%x.param_patt.7b9] // CHECK:STDOUT: %x.patt: %pattern_type.94f = at_binding_pattern x, %.1 [concrete = constants.%x.patt.4b4] -// CHECK:STDOUT: %.2: %pattern_type.3a0 = specific_constant constants.%return.patt.98a, @SelfNested.WithSelf.F(constants.%SelfNested.facet.fc6) [concrete = constants.%return.patt.98a] +// CHECK:STDOUT: %.2: %pattern_type.3a0 = specific_constant constants.%return.patt.98a, @SelfNested.WithSelf.F(constants.%SelfNested.facet.d0d) [concrete = constants.%return.patt.98a] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: %tuple.type.9ab = value_param call_param0 // CHECK:STDOUT: %x: %tuple.type.9ab = wrapper_binding x, %x.param @@ -1012,7 +1012,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return: ref %array_type.291 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %SelfNested.impl_witness_table = impl_witness_table (%SelfNestedBadParam.as.SelfNested.impl.F.decl.loc211_87.2), @SelfNestedBadParam.as.SelfNested.impl [concrete] -// CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.d7c] +// CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.09d] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .SelfNestedBadParam = @@ -1046,12 +1046,12 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref %array_type.291 = out_param call_param1 // CHECK:STDOUT: %return: ref %array_type.291 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc199_57.1: type = specific_constant @SelfNested.WithSelf.F.%array_type.loc199_57.2, @SelfNested.WithSelf.F(constants.%SelfNested.facet.68c) [concrete = constants.%array_type.a08] -// CHECK:STDOUT: %.loc199_57.2: Core.Form = specific_constant @SelfNested.WithSelf.F.%.loc199_57.2, @SelfNested.WithSelf.F(constants.%SelfNested.facet.68c) [concrete = constants.%.442] +// CHECK:STDOUT: %.loc199_57.1: type = specific_constant @SelfNested.WithSelf.F.%array_type.loc199_57.2, @SelfNested.WithSelf.F(constants.%SelfNested.facet.e71) [concrete = constants.%array_type.a08] +// CHECK:STDOUT: %.loc199_57.2: Core.Form = specific_constant @SelfNested.WithSelf.F.%.loc199_57.2, @SelfNested.WithSelf.F(constants.%SelfNested.facet.e71) [concrete = constants.%.442] // CHECK:STDOUT: %SelfNestedBadReturnType.as.SelfNested.impl.F.decl.loc227_112.2: %SelfNestedBadReturnType.as.SelfNested.impl.F.type.1cbabe.2 = fn_decl @SelfNestedBadReturnType.as.SelfNested.impl.F.loc227_112.2 [concrete = constants.%SelfNestedBadReturnType.as.SelfNested.impl.F.5a7d54.2] { -// CHECK:STDOUT: %.1: %pattern_type.5c2 = specific_constant constants.%x.param_patt.7be, @SelfNested.WithSelf.F(constants.%SelfNested.facet.68c) [concrete = constants.%x.param_patt.7be] +// CHECK:STDOUT: %.1: %pattern_type.5c2 = specific_constant constants.%x.param_patt.7be, @SelfNested.WithSelf.F(constants.%SelfNested.facet.e71) [concrete = constants.%x.param_patt.7be] // CHECK:STDOUT: %x.patt: %pattern_type.5c2 = at_binding_pattern x, %.1 [concrete = constants.%x.patt.ef5] -// CHECK:STDOUT: %.2: %pattern_type.f0d = specific_constant constants.%return.patt.3c4, @SelfNested.WithSelf.F(constants.%SelfNested.facet.68c) [concrete = constants.%return.patt.3c4] +// CHECK:STDOUT: %.2: %pattern_type.f0d = specific_constant constants.%return.patt.3c4, @SelfNested.WithSelf.F(constants.%SelfNested.facet.e71) [concrete = constants.%return.patt.3c4] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: %tuple.type.829 = value_param call_param0 // CHECK:STDOUT: %x: %tuple.type.829 = wrapper_binding x, %x.param @@ -1059,7 +1059,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return: ref %array_type.a08 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %SelfNested.impl_witness_table = impl_witness_table (%SelfNestedBadReturnType.as.SelfNested.impl.F.decl.loc227_112.2), @SelfNestedBadReturnType.as.SelfNested.impl [concrete] -// CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.abd] +// CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.849] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .SelfNestedBadReturnType = @@ -1279,7 +1279,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @FExtraParam.as.I.impl.F.loc69_18.1(%b.param: bool); // CHECK:STDOUT: -// CHECK:STDOUT: fn @FExtraParam.as.I.impl.F.loc69_18.2() [thunk @FExtraParam.as.I.impl.%FExtraParam.as.I.impl.F.decl.loc69_18.1 for @I.WithSelf.%I.WithSelf.F.decl, @I.WithSelf.F(constants.%I.facet.657)] { +// CHECK:STDOUT: fn @FExtraParam.as.I.impl.F.loc69_18.2() [thunk @FExtraParam.as.I.impl.%FExtraParam.as.I.impl.F.decl.loc69_18.1 for @I.WithSelf.%I.WithSelf.F.decl, @I.WithSelf.F(constants.%I.facet.476)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %FExtraParam.as.I.impl.F.type.ec7b0b.1 = name_ref F, @FExtraParam.as.I.impl.%FExtraParam.as.I.impl.F.decl.loc69_18.1 [concrete = constants.%FExtraParam.as.I.impl.F.ef9801.1] // CHECK:STDOUT: return @@ -1287,7 +1287,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @FExtraImplicitParam.as.I.impl.F.loc85_15.1(%self.param: %FExtraImplicitParam); // CHECK:STDOUT: -// CHECK:STDOUT: fn @FExtraImplicitParam.as.I.impl.F.loc85_15.2() [thunk @FExtraImplicitParam.as.I.impl.%FExtraImplicitParam.as.I.impl.F.decl.loc85_15.1 for @I.WithSelf.%I.WithSelf.F.decl, @I.WithSelf.F(constants.%I.facet.334)] { +// CHECK:STDOUT: fn @FExtraImplicitParam.as.I.impl.F.loc85_15.2() [thunk @FExtraImplicitParam.as.I.impl.%FExtraImplicitParam.as.I.impl.F.decl.loc85_15.1 for @I.WithSelf.%I.WithSelf.F.decl, @I.WithSelf.F(constants.%I.facet.7ed)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %FExtraImplicitParam.as.I.impl.F.type.54cac2.1 = name_ref F, @FExtraImplicitParam.as.I.impl.%FExtraImplicitParam.as.I.impl.F.decl.loc85_15.1 [concrete = constants.%FExtraImplicitParam.as.I.impl.F.a42f35.1] // CHECK:STDOUT: return @@ -1301,7 +1301,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @FMissingParam.as.J.impl.F.loc117_29.1(%self.param: bool) -> out %return.param: bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @FMissingParam.as.J.impl.F.loc117_29.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FMissingParam.as.J.impl.%FMissingParam.as.J.impl.F.decl.loc117_29.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.d77)] { +// CHECK:STDOUT: fn @FMissingParam.as.J.impl.F.loc117_29.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FMissingParam.as.J.impl.%FMissingParam.as.J.impl.F.decl.loc117_29.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.2a3)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %FMissingParam.as.J.impl.F.type.aad6ec.1 = name_ref F, @FMissingParam.as.J.impl.%FMissingParam.as.J.impl.F.decl.loc117_29.1 [concrete = constants.%FMissingParam.as.J.impl.F.dd09dc.1] // CHECK:STDOUT: %FMissingParam.as.J.impl.F.bound: = bound_method %self.param, %F.ref @@ -1310,7 +1310,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @FMissingImplicitParam.as.J.impl.F.loc130_26.1(%b.param: bool) -> out %return.param: bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @FMissingImplicitParam.as.J.impl.F.loc130_26.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FMissingImplicitParam.as.J.impl.%FMissingImplicitParam.as.J.impl.F.decl.loc130_26.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.3f0)] { +// CHECK:STDOUT: fn @FMissingImplicitParam.as.J.impl.F.loc130_26.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FMissingImplicitParam.as.J.impl.%FMissingImplicitParam.as.J.impl.F.decl.loc130_26.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.ba1)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %FMissingImplicitParam.as.J.impl.F.type.f666a8.1 = name_ref F, @FMissingImplicitParam.as.J.impl.%FMissingImplicitParam.as.J.impl.F.decl.loc130_26.1 [concrete = constants.%FMissingImplicitParam.as.J.impl.F.620ed1.1] // CHECK:STDOUT: %FMissingImplicitParam.as.J.impl.F.call: init bool = call %F.ref(%b.param) @@ -1319,7 +1319,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @FMissingReturnType.as.J.impl.F.loc148_30.1(%self.param: bool, %b.param: bool); // CHECK:STDOUT: -// CHECK:STDOUT: fn @FMissingReturnType.as.J.impl.F.loc148_30.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FMissingReturnType.as.J.impl.%FMissingReturnType.as.J.impl.F.decl.loc148_30.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.c42)] { +// CHECK:STDOUT: fn @FMissingReturnType.as.J.impl.F.loc148_30.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FMissingReturnType.as.J.impl.%FMissingReturnType.as.J.impl.F.decl.loc148_30.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.b68)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %FMissingReturnType.as.J.impl.F.type.9cd56a.1 = name_ref F, @FMissingReturnType.as.J.impl.%FMissingReturnType.as.J.impl.F.decl.loc148_30.1 [concrete = constants.%FMissingReturnType.as.J.impl.F.6975be.1] // CHECK:STDOUT: %FMissingReturnType.as.J.impl.F.bound: = bound_method %self.param, %F.ref @@ -1330,7 +1330,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @FDifferentParamType.as.J.impl.F.loc163_38.1(%self.param: bool, %b.param: %FDifferentParamType) -> out %return.param: bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @FDifferentParamType.as.J.impl.F.loc163_38.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FDifferentParamType.as.J.impl.%FDifferentParamType.as.J.impl.F.decl.loc163_38.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.47a)] { +// CHECK:STDOUT: fn @FDifferentParamType.as.J.impl.F.loc163_38.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FDifferentParamType.as.J.impl.%FDifferentParamType.as.J.impl.F.decl.loc163_38.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.73e)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %FDifferentParamType.as.J.impl.F.type.4a2e9b.1 = name_ref F, @FDifferentParamType.as.J.impl.%FDifferentParamType.as.J.impl.F.decl.loc163_38.1 [concrete = constants.%FDifferentParamType.as.J.impl.F.28602a.1] // CHECK:STDOUT: %FDifferentParamType.as.J.impl.F.bound: = bound_method %self.param, %F.ref @@ -1344,7 +1344,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @FDifferentImplicitParamType.as.J.impl.F.loc176_32.1(%self.param: %FDifferentImplicitParamType, %b.param: bool) -> out %return.param: bool; // CHECK:STDOUT: -// CHECK:STDOUT: fn @FDifferentImplicitParamType.as.J.impl.F.loc176_32.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FDifferentImplicitParamType.as.J.impl.%FDifferentImplicitParamType.as.J.impl.F.decl.loc176_32.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.929)] { +// CHECK:STDOUT: fn @FDifferentImplicitParamType.as.J.impl.F.loc176_32.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FDifferentImplicitParamType.as.J.impl.%FDifferentImplicitParamType.as.J.impl.F.decl.loc176_32.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.00a)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %FDifferentImplicitParamType.as.J.impl.F.type.6ef8a6.1 = name_ref F, @FDifferentImplicitParamType.as.J.impl.%FDifferentImplicitParamType.as.J.impl.F.decl.loc176_32.1 [concrete = constants.%FDifferentImplicitParamType.as.J.impl.F.792c78.1] // CHECK:STDOUT: %FDifferentImplicitParamType.as.J.impl.F.bound: = bound_method %self.param, %F.ref @@ -1358,7 +1358,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @FDifferentReturnType.as.J.impl.F.loc194_38.1(%self.param: bool, %b.param: bool) -> out %return.param: %FDifferentReturnType; // CHECK:STDOUT: -// CHECK:STDOUT: fn @FDifferentReturnType.as.J.impl.F.loc194_38.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FDifferentReturnType.as.J.impl.%FDifferentReturnType.as.J.impl.F.decl.loc194_38.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.b85)] { +// CHECK:STDOUT: fn @FDifferentReturnType.as.J.impl.F.loc194_38.2(%self.param: bool, %b.param: bool) -> out %return.param: bool [thunk @FDifferentReturnType.as.J.impl.%FDifferentReturnType.as.J.impl.F.decl.loc194_38.1 for @J.WithSelf.%J.WithSelf.F.decl, @J.WithSelf.F(constants.%J.facet.6a7)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %FDifferentReturnType.as.J.impl.F.type.ff55f4.1 = name_ref F, @FDifferentReturnType.as.J.impl.%FDifferentReturnType.as.J.impl.F.decl.loc194_38.1 [concrete = constants.%FDifferentReturnType.as.J.impl.F.9725a5.1] // CHECK:STDOUT: %FDifferentReturnType.as.J.impl.F.bound: = bound_method %self.param, %F.ref @@ -1389,7 +1389,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @SelfNestedBadParam.as.SelfNested.impl.F.loc211_87.1(%x.param: %tuple.type.e57) -> out %return.param: %array_type.291; // CHECK:STDOUT: -// CHECK:STDOUT: fn @SelfNestedBadParam.as.SelfNested.impl.F.loc211_87.2(%x.param: %tuple.type.9ab) -> out %return.param: %array_type.291 [thunk @SelfNestedBadParam.as.SelfNested.impl.%SelfNestedBadParam.as.SelfNested.impl.F.decl.loc211_87.1 for @SelfNested.WithSelf.%SelfNested.WithSelf.F.decl, @SelfNested.WithSelf.F(constants.%SelfNested.facet.fc6)] { +// CHECK:STDOUT: fn @SelfNestedBadParam.as.SelfNested.impl.F.loc211_87.2(%x.param: %tuple.type.9ab) -> out %return.param: %array_type.291 [thunk @SelfNestedBadParam.as.SelfNested.impl.%SelfNestedBadParam.as.SelfNested.impl.F.decl.loc211_87.1 for @SelfNested.WithSelf.%SelfNested.WithSelf.F.decl, @SelfNested.WithSelf.F(constants.%SelfNested.facet.d0d)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %SelfNestedBadParam.as.SelfNested.impl.F.type.4325e7.1 = name_ref F, @SelfNestedBadParam.as.SelfNested.impl.%SelfNestedBadParam.as.SelfNested.impl.F.decl.loc211_87.1 [concrete = constants.%SelfNestedBadParam.as.SelfNested.impl.F.5fd896.1] // CHECK:STDOUT: %.3: ref %array_type.291 = splice_block %return.param {} @@ -1406,7 +1406,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: fn @SelfNestedBadReturnType.as.SelfNested.impl.F.loc227_112.1(%x.param: %tuple.type.829) -> out %return.param: %array_type.291; // CHECK:STDOUT: -// CHECK:STDOUT: fn @SelfNestedBadReturnType.as.SelfNested.impl.F.loc227_112.2(%x.param: %tuple.type.829) -> out %return.param: %array_type.a08 [thunk @SelfNestedBadReturnType.as.SelfNested.impl.%SelfNestedBadReturnType.as.SelfNested.impl.F.decl.loc227_112.1 for @SelfNested.WithSelf.%SelfNested.WithSelf.F.decl, @SelfNested.WithSelf.F(constants.%SelfNested.facet.68c)] { +// CHECK:STDOUT: fn @SelfNestedBadReturnType.as.SelfNested.impl.F.loc227_112.2(%x.param: %tuple.type.829) -> out %return.param: %array_type.a08 [thunk @SelfNestedBadReturnType.as.SelfNested.impl.%SelfNestedBadReturnType.as.SelfNested.impl.F.decl.loc227_112.1 for @SelfNested.WithSelf.%SelfNested.WithSelf.F.decl, @SelfNested.WithSelf.F(constants.%SelfNested.facet.e71)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %SelfNestedBadReturnType.as.SelfNested.impl.F.type.1cbabe.1 = name_ref F, @SelfNestedBadReturnType.as.SelfNested.impl.%SelfNestedBadReturnType.as.SelfNested.impl.F.decl.loc227_112.1 [concrete = constants.%SelfNestedBadReturnType.as.SelfNested.impl.F.5a7d54.1] // CHECK:STDOUT: %.loc227_112.1: ref %array_type.291 = temporary_storage @@ -1424,53 +1424,53 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%Self.37e) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.752) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.eb1) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.752 -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.3d3 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.38a +// CHECK:STDOUT: %Self => constants.%I.facet.eb1 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.86d +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.bef // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.010) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.304) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.010 -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.642 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.c29 +// CHECK:STDOUT: %Self => constants.%I.facet.304 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.772 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.196 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.f6f) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.ef1) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.f6f -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.751 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.6d6 +// CHECK:STDOUT: %Self => constants.%I.facet.ef1 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.962 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.85d // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.657) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.476) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.657 -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.255 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.fc1 +// CHECK:STDOUT: %Self => constants.%I.facet.476 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.7c2 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.67b // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.657) {} +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.476) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.334) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.7ed) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.334 -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.6ff -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.39e +// CHECK:STDOUT: %Self => constants.%I.facet.7ed +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.f54 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.b2a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.334) {} +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.7ed) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.dde) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.6f2) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.dde -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.fea -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.338 +// CHECK:STDOUT: %Self => constants.%I.facet.6f2 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.91e +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.70f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.dde) {} +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.6f2) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @J.WithSelf(constants.%Self.653) { // CHECK:STDOUT: !definition: @@ -1481,59 +1481,59 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: // CHECK:STDOUT: specific @J.WithSelf.F(constants.%Self.653) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.d77) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.2a3) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%J.facet.d77 -// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.51b -// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.ed6 +// CHECK:STDOUT: %Self => constants.%J.facet.2a3 +// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.989 +// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.ee2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.d77) {} +// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.2a3) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.3f0) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.ba1) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%J.facet.3f0 -// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.e23 -// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.897 +// CHECK:STDOUT: %Self => constants.%J.facet.ba1 +// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.b8b +// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.47f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.3f0) {} +// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.ba1) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.c42) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.b68) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%J.facet.c42 -// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.f86 -// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.d52 +// CHECK:STDOUT: %Self => constants.%J.facet.b68 +// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.273 +// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.e6d // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.c42) {} +// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.b68) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.47a) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.73e) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%J.facet.47a -// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.9c3 -// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.4cd +// CHECK:STDOUT: %Self => constants.%J.facet.73e +// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.049 +// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.227 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.47a) {} +// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.73e) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.929) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.00a) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%J.facet.929 -// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.97c -// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.94b +// CHECK:STDOUT: %Self => constants.%J.facet.00a +// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.546 +// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.17b // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.929) {} +// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.00a) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.b85) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.6a7) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%J.facet.b85 -// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.a9c -// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.6ec +// CHECK:STDOUT: %Self => constants.%J.facet.6a7 +// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.1a1 +// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.efe // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.b85) {} +// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.6a7) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @SelfNested.WithSelf(constants.%Self.e81) { // CHECK:STDOUT: !definition: @@ -1559,15 +1559,15 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.patt.loc199_41.2 => constants.%return.patt.869 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @SelfNested.WithSelf(constants.%SelfNested.facet.fc6) { +// CHECK:STDOUT: specific @SelfNested.WithSelf(constants.%SelfNested.facet.d0d) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%SelfNested.facet.fc6 -// CHECK:STDOUT: %SelfNested.WithSelf.F.type => constants.%SelfNested.WithSelf.F.type.75d -// CHECK:STDOUT: %SelfNested.WithSelf.F => constants.%SelfNested.WithSelf.F.379 +// CHECK:STDOUT: %Self => constants.%SelfNested.facet.d0d +// CHECK:STDOUT: %SelfNested.WithSelf.F.type => constants.%SelfNested.WithSelf.F.type.398 +// CHECK:STDOUT: %SelfNested.WithSelf.F => constants.%SelfNested.WithSelf.F.175 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @SelfNested.WithSelf.F(constants.%SelfNested.facet.fc6) { -// CHECK:STDOUT: %Self => constants.%SelfNested.facet.fc6 +// CHECK:STDOUT: specific @SelfNested.WithSelf.F(constants.%SelfNested.facet.d0d) { +// CHECK:STDOUT: %Self => constants.%SelfNested.facet.d0d // CHECK:STDOUT: %Self.as_type.loc199_16.1 => constants.%SelfNestedBadParam // CHECK:STDOUT: %ptr.loc199_16.1 => constants.%ptr.52e // CHECK:STDOUT: %struct_type.x.y.loc199_37.1 => constants.%struct_type.x.y.da2 @@ -1583,15 +1583,15 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.patt.loc199_41.2 => constants.%return.patt.98a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @SelfNested.WithSelf(constants.%SelfNested.facet.68c) { +// CHECK:STDOUT: specific @SelfNested.WithSelf(constants.%SelfNested.facet.e71) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%SelfNested.facet.68c -// CHECK:STDOUT: %SelfNested.WithSelf.F.type => constants.%SelfNested.WithSelf.F.type.53d -// CHECK:STDOUT: %SelfNested.WithSelf.F => constants.%SelfNested.WithSelf.F.f39 +// CHECK:STDOUT: %Self => constants.%SelfNested.facet.e71 +// CHECK:STDOUT: %SelfNested.WithSelf.F.type => constants.%SelfNested.WithSelf.F.type.20c +// CHECK:STDOUT: %SelfNested.WithSelf.F => constants.%SelfNested.WithSelf.F.bab // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @SelfNested.WithSelf.F(constants.%SelfNested.facet.68c) { -// CHECK:STDOUT: %Self => constants.%SelfNested.facet.68c +// CHECK:STDOUT: specific @SelfNested.WithSelf.F(constants.%SelfNested.facet.e71) { +// CHECK:STDOUT: %Self => constants.%SelfNested.facet.e71 // CHECK:STDOUT: %Self.as_type.loc199_16.1 => constants.%SelfNestedBadReturnType // CHECK:STDOUT: %ptr.loc199_16.1 => constants.%ptr.f55 // CHECK:STDOUT: %struct_type.x.y.loc199_37.1 => constants.%struct_type.x.y.f6a diff --git a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon index 561f29d9cfef..29b5d6113577 100644 --- a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon +++ b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon @@ -69,22 +69,22 @@ impl i32 as I { // CHECK:STDOUT: %I.assoc_type: type = assoc_entity_type @I [concrete] // CHECK:STDOUT: %assoc0.6c9: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [concrete] // CHECK:STDOUT: %.cb2: = impl_self_witness bool, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.020: = impl_witness @bool.as.I.impl.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %I.facet.11c: %I.type = facet_value bool, (%I.impl_witness.020) [concrete] -// CHECK:STDOUT: %C.071: type = class_type @C, @C(%I.type, %I.facet.11c) [concrete] -// CHECK:STDOUT: %pattern_type.85b: type = pattern_type %C.071 [concrete] -// CHECK:STDOUT: %c.param_patt.ff4: %pattern_type.85b = value_param_pattern [concrete] -// CHECK:STDOUT: %c.patt.e1c: %pattern_type.85b = at_binding_pattern c, %c.param_patt.ff4 [concrete] +// CHECK:STDOUT: %I.impl_witness.c3b: = impl_witness @bool.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet.31d: %I.type = facet_value bool, (%I.impl_witness.c3b) [concrete] +// CHECK:STDOUT: %C.a2c: type = class_type @C, @C(%I.type, %I.facet.31d) [concrete] +// CHECK:STDOUT: %pattern_type.221: type = pattern_type %C.a2c [concrete] +// CHECK:STDOUT: %c.param_patt.eba: %pattern_type.221 = value_param_pattern [concrete] +// CHECK:STDOUT: %c.patt.ebd: %pattern_type.221 = at_binding_pattern c, %c.param_patt.eba [concrete] // CHECK:STDOUT: %bool.as.I.impl.F.type: type = fn_type @bool.as.I.impl.F [concrete] // CHECK:STDOUT: %bool.as.I.impl.F: %bool.as.I.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.4fb: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.11c) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.492: %I.WithSelf.F.type.4fb = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.158: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.31d) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.57c: %I.WithSelf.F.type.158 = struct_value () [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %.2a7: = impl_self_witness %i32, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.903: = impl_witness @i32.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.8f5: = impl_witness @i32.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %X.patt.014: %pattern_type.98f = symbolic_binding_pattern X, 1 [symbolic] // CHECK:STDOUT: %C.8dc: type = class_type @C, @C(type, %i32) [concrete] // CHECK:STDOUT: %pattern_type.900: type = pattern_type %C.8dc [concrete] @@ -92,13 +92,13 @@ impl i32 as I { // CHECK:STDOUT: %c.patt.c85: %pattern_type.900 = at_binding_pattern c, %c.param_patt.e0e [concrete] // CHECK:STDOUT: %i32.as.I.impl.F.type.48cdab.1: type = fn_type @i32.as.I.impl.F.loc39_18.1 [concrete] // CHECK:STDOUT: %i32.as.I.impl.F.bd5be1.1: %i32.as.I.impl.F.type.48cdab.1 = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.858: %I.type = facet_value %i32, (%I.impl_witness.903) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.b7c: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.858) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.ae9: %I.WithSelf.F.type.b7c = struct_value () [concrete] -// CHECK:STDOUT: %C.efa: type = class_type @C, @C(%I.type, %I.facet.858) [concrete] -// CHECK:STDOUT: %pattern_type.b7c: type = pattern_type %C.efa [concrete] -// CHECK:STDOUT: %c.param_patt.fb1: %pattern_type.b7c = value_param_pattern [concrete] -// CHECK:STDOUT: %c.patt.d03: %pattern_type.b7c = at_binding_pattern c, %c.param_patt.fb1 [concrete] +// CHECK:STDOUT: %I.facet.190: %I.type = facet_value %i32, (%I.impl_witness.8f5) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.201: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.190) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.9ed: %I.WithSelf.F.type.201 = struct_value () [concrete] +// CHECK:STDOUT: %C.1e0: type = class_type @C, @C(%I.type, %I.facet.190) [concrete] +// CHECK:STDOUT: %pattern_type.03a: type = pattern_type %C.1e0 [concrete] +// CHECK:STDOUT: %c.param_patt.322: %pattern_type.03a = value_param_pattern [concrete] +// CHECK:STDOUT: %c.patt.994: %pattern_type.03a = at_binding_pattern c, %c.param_patt.322 [concrete] // CHECK:STDOUT: %i32.as.I.impl.F.type.48cdab.2: type = fn_type @i32.as.I.impl.F.loc39_18.2 [concrete] // CHECK:STDOUT: %i32.as.I.impl.F.bd5be1.2: %i32.as.I.impl.F.type.48cdab.2 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] @@ -198,22 +198,22 @@ impl i32 as I { // CHECK:STDOUT: // CHECK:STDOUT: impl @bool.as.I.impl: %.loc24 as %I.ref { // CHECK:STDOUT: %bool.as.I.impl.F.decl: %bool.as.I.impl.F.type = fn_decl @bool.as.I.impl.F [concrete = constants.%bool.as.I.impl.F] { -// CHECK:STDOUT: %c.param_patt: %pattern_type.85b = value_param_pattern [concrete = constants.%c.param_patt.ff4] -// CHECK:STDOUT: %c.patt: %pattern_type.85b = at_binding_pattern c, %c.param_patt [concrete = constants.%c.patt.e1c] +// CHECK:STDOUT: %c.param_patt: %pattern_type.221 = value_param_pattern [concrete = constants.%c.param_patt.eba] +// CHECK:STDOUT: %c.patt: %pattern_type.221 = at_binding_pattern c, %c.param_patt [concrete = constants.%c.patt.ebd] // CHECK:STDOUT: } { -// CHECK:STDOUT: %c.param: %C.071 = value_param call_param0 -// CHECK:STDOUT: %.loc28_22: type = splice_block %C [concrete = constants.%C.071] { +// CHECK:STDOUT: %c.param: %C.a2c = value_param call_param0 +// CHECK:STDOUT: %.loc28_22: type = splice_block %C [concrete = constants.%C.a2c] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %.loc28_13: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %I.facet: %I.type = facet_value %.loc28_13, (constants.%I.impl_witness.020) [concrete = constants.%I.facet.11c] -// CHECK:STDOUT: %.loc28_18: %I.type = converted %.loc28_13, %I.facet [concrete = constants.%I.facet.11c] -// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%I.type, constants.%I.facet.11c) [concrete = constants.%C.071] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %.loc28_13, (constants.%I.impl_witness.c3b) [concrete = constants.%I.facet.31d] +// CHECK:STDOUT: %.loc28_18: %I.type = converted %.loc28_13, %I.facet [concrete = constants.%I.facet.31d] +// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%I.type, constants.%I.facet.31d) [concrete = constants.%C.a2c] // CHECK:STDOUT: } -// CHECK:STDOUT: %c: %C.071 = wrapper_binding c, %c.param +// CHECK:STDOUT: %c: %C.a2c = wrapper_binding c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%bool.as.I.impl.F.decl), @bool.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.020] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.c3b] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .C = @@ -237,14 +237,14 @@ impl i32 as I { // CHECK:STDOUT: %c: %C.8dc = wrapper_binding c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: %i32.as.I.impl.F.decl.loc39_18.2: %i32.as.I.impl.F.type.48cdab.2 = fn_decl @i32.as.I.impl.F.loc39_18.2 [concrete = constants.%i32.as.I.impl.F.bd5be1.2] { -// CHECK:STDOUT: %.1: %pattern_type.b7c = specific_constant constants.%c.param_patt.fb1, @I.WithSelf.F(constants.%I.facet.858) [concrete = constants.%c.param_patt.fb1] -// CHECK:STDOUT: %c.patt: %pattern_type.b7c = at_binding_pattern c, %.1 [concrete = constants.%c.patt.d03] +// CHECK:STDOUT: %.1: %pattern_type.03a = specific_constant constants.%c.param_patt.322, @I.WithSelf.F(constants.%I.facet.190) [concrete = constants.%c.param_patt.322] +// CHECK:STDOUT: %c.patt: %pattern_type.03a = at_binding_pattern c, %.1 [concrete = constants.%c.patt.994] // CHECK:STDOUT: } { -// CHECK:STDOUT: %c.param: %C.efa = value_param call_param0 -// CHECK:STDOUT: %c: %C.efa = wrapper_binding c, %c.param +// CHECK:STDOUT: %c.param: %C.1e0 = value_param call_param0 +// CHECK:STDOUT: %c: %C.1e0 = wrapper_binding c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%i32.as.I.impl.F.decl.loc39_18.2), @i32.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.903] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.8f5] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .C = @@ -281,11 +281,11 @@ impl i32 as I { // CHECK:STDOUT: fn(%c.param: @I.WithSelf.F.%C.loc21_17.1 (%C.a21)); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @bool.as.I.impl.F(%c.param: %C.071); +// CHECK:STDOUT: fn @bool.as.I.impl.F(%c.param: %C.a2c); // CHECK:STDOUT: // CHECK:STDOUT: fn @i32.as.I.impl.F.loc39_18.1(%c.param: %C.8dc); // CHECK:STDOUT: -// CHECK:STDOUT: fn @i32.as.I.impl.F.loc39_18.2(%c.param: %C.efa) [thunk @i32.as.I.impl.%i32.as.I.impl.F.decl.loc39_18.1 for @I.WithSelf.%I.WithSelf.F.decl, @I.WithSelf.F(constants.%I.facet.858)] { +// CHECK:STDOUT: fn @i32.as.I.impl.F.loc39_18.2(%c.param: %C.1e0) [thunk @i32.as.I.impl.%i32.as.I.impl.F.decl.loc39_18.1 for @I.WithSelf.%I.WithSelf.F.decl, @I.WithSelf.F(constants.%I.facet.190)] { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %i32.as.I.impl.F.type.48cdab.1 = name_ref F, @i32.as.I.impl.%i32.as.I.impl.F.decl.loc39_18.1 [concrete = constants.%i32.as.I.impl.F.bd5be1.1] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%C.8dc)> [concrete = constants.%ImplicitAs.type.803] @@ -327,27 +327,27 @@ impl i32 as I { // CHECK:STDOUT: %c.patt.loc21_9.2 => constants.%c.patt.dac // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @C(constants.%I.type, constants.%I.facet.11c) { +// CHECK:STDOUT: specific @C(constants.%I.type, constants.%I.facet.31d) { // CHECK:STDOUT: %T.patt.loc17_10.2 => constants.%T.patt // CHECK:STDOUT: %T.loc17_10.1 => constants.%I.type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6cb // CHECK:STDOUT: %X.patt.loc17_19.2 => constants.%X.patt.3b7 -// CHECK:STDOUT: %X.loc17_19.1 => constants.%I.facet.11c +// CHECK:STDOUT: %X.loc17_19.1 => constants.%I.facet.31d // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.11c) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.31d) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.11c -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.4fb -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.492 +// CHECK:STDOUT: %Self => constants.%I.facet.31d +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.158 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.57c // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.11c) { -// CHECK:STDOUT: %Self => constants.%I.facet.11c -// CHECK:STDOUT: %C.loc21_17.1 => constants.%C.071 -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.85b -// CHECK:STDOUT: %c.param_patt.loc21_9.2 => constants.%c.param_patt.ff4 -// CHECK:STDOUT: %c.patt.loc21_9.2 => constants.%c.patt.e1c +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.31d) { +// CHECK:STDOUT: %Self => constants.%I.facet.31d +// CHECK:STDOUT: %C.loc21_17.1 => constants.%C.a2c +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.221 +// CHECK:STDOUT: %c.param_patt.loc21_9.2 => constants.%c.param_patt.eba +// CHECK:STDOUT: %c.patt.loc21_9.2 => constants.%c.patt.ebd // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C(type, constants.%i32) { @@ -360,27 +360,27 @@ impl i32 as I { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.858) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.190) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.858 -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.b7c -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.ae9 +// CHECK:STDOUT: %Self => constants.%I.facet.190 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.201 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.9ed // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.858) { -// CHECK:STDOUT: %Self => constants.%I.facet.858 -// CHECK:STDOUT: %C.loc21_17.1 => constants.%C.efa -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.b7c -// CHECK:STDOUT: %c.param_patt.loc21_9.2 => constants.%c.param_patt.fb1 -// CHECK:STDOUT: %c.patt.loc21_9.2 => constants.%c.patt.d03 +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.190) { +// CHECK:STDOUT: %Self => constants.%I.facet.190 +// CHECK:STDOUT: %C.loc21_17.1 => constants.%C.1e0 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.03a +// CHECK:STDOUT: %c.param_patt.loc21_9.2 => constants.%c.param_patt.322 +// CHECK:STDOUT: %c.patt.loc21_9.2 => constants.%c.patt.994 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @C(constants.%I.type, constants.%I.facet.858) { +// CHECK:STDOUT: specific @C(constants.%I.type, constants.%I.facet.190) { // CHECK:STDOUT: %T.patt.loc17_10.2 => constants.%T.patt // CHECK:STDOUT: %T.loc17_10.1 => constants.%I.type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.6cb // CHECK:STDOUT: %X.patt.loc17_19.2 => constants.%X.patt.3b7 -// CHECK:STDOUT: %X.loc17_19.1 => constants.%I.facet.858 +// CHECK:STDOUT: %X.loc17_19.1 => constants.%I.facet.190 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/forward_decls.carbon b/toolchain/check/testdata/impl/forward_decls.carbon index 1b38163aaaab..de459ed07ca9 100644 --- a/toolchain/check/testdata/impl/forward_decls.carbon +++ b/toolchain/check/testdata/impl/forward_decls.carbon @@ -315,8 +315,8 @@ impl C as Y {} // CHECK:STDOUT: %empty_struct_type.as.I.impl.G.type: type = fn_type @empty_struct_type.as.I.impl.G [concrete] // CHECK:STDOUT: %empty_struct_type.as.I.impl.G: %empty_struct_type.as.I.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %empty_struct_type, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.G.type.d68: type = fn_type @I.WithSelf.G, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.G.a3d: %I.WithSelf.G.type.d68 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.G.type.391: type = fn_type @I.WithSelf.G, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.G.0d6: %I.WithSelf.G.type.391 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -396,8 +396,8 @@ impl C as Y {} // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.G.type => constants.%I.WithSelf.G.type.d68 -// CHECK:STDOUT: %I.WithSelf.G => constants.%I.WithSelf.G.a3d +// CHECK:STDOUT: %I.WithSelf.G.type => constants.%I.WithSelf.G.type.391 +// CHECK:STDOUT: %I.WithSelf.G => constants.%I.WithSelf.G.0d6 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.G(constants.%I.facet) {} @@ -413,8 +413,8 @@ impl C as Y {} // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %I.type, %type.as.BitAndWith.impl.Op [concrete] @@ -449,7 +449,7 @@ impl C as Y {} // 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] // CHECK:STDOUT: %I.ref.loc4_16: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] -// CHECK:STDOUT: %impl.elem0.loc4: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc4: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc4: = bound_method %I.ref.loc4_12, %impl.elem0.loc4 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc4: init type = call %bound_method.loc4(%I.ref.loc4_12, %I.ref.loc4_16) [concrete = constants.%I.type] // CHECK:STDOUT: } @@ -462,7 +462,7 @@ impl C as Y {} // 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] // CHECK:STDOUT: %I.ref.loc7_16: type = name_ref I, file.%I.decl.loc3 [concrete = constants.%I.type] -// CHECK:STDOUT: %impl.elem0.loc7: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc7: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc7: = bound_method %I.ref.loc7_12, %impl.elem0.loc7 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc7: init type = call %bound_method.loc7(%I.ref.loc7_12, %I.ref.loc7_16) [concrete = constants.%I.type] // CHECK:STDOUT: } @@ -1366,10 +1366,10 @@ impl C as Y {} // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %C.fde: type = class_type @C, @C(%T) [symbolic] // CHECK:STDOUT: %I.facet: %I.type = facet_value %D, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %C.fd5: type = class_type @C, @C(%I.facet) [concrete] -// CHECK:STDOUT: %pattern_type.0a8: type = pattern_type %C.fd5 [concrete] -// CHECK:STDOUT: %x.param_patt: %pattern_type.0a8 = value_param_pattern [concrete] -// CHECK:STDOUT: %x.patt: %pattern_type.0a8 = at_binding_pattern x, %x.param_patt [concrete] +// CHECK:STDOUT: %C.c62: type = class_type @C, @C(%I.facet) [concrete] +// CHECK:STDOUT: %pattern_type.91a: type = pattern_type %C.c62 [concrete] +// CHECK:STDOUT: %x.param_patt: %pattern_type.91a = value_param_pattern [concrete] +// CHECK:STDOUT: %x.patt: %pattern_type.91a = at_binding_pattern x, %x.param_patt [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic] @@ -1408,18 +1408,18 @@ impl C as Y {} // CHECK:STDOUT: %T.loc6_10.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc8: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %x.param_patt: %pattern_type.0a8 = value_param_pattern [concrete = constants.%x.param_patt] -// CHECK:STDOUT: %x.patt: %pattern_type.0a8 = at_binding_pattern x, %x.param_patt [concrete = constants.%x.patt] +// CHECK:STDOUT: %x.param_patt: %pattern_type.91a = value_param_pattern [concrete = constants.%x.param_patt] +// CHECK:STDOUT: %x.patt: %pattern_type.91a = at_binding_pattern x, %x.param_patt [concrete = constants.%x.patt] // CHECK:STDOUT: } { -// CHECK:STDOUT: %x.param.loc8: %C.fd5 = value_param call_param0 -// CHECK:STDOUT: %.loc8_12.1: type = splice_block %C.loc8 [concrete = constants.%C.fd5] { +// CHECK:STDOUT: %x.param.loc8: %C.c62 = value_param call_param0 +// CHECK:STDOUT: %.loc8_12.1: type = splice_block %C.loc8 [concrete = constants.%C.c62] { // CHECK:STDOUT: %C.ref.loc8: %C.type = name_ref C, file.%C.decl.loc6 [concrete = constants.%C.generic] // CHECK:STDOUT: %D.ref.loc8: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %I.facet.loc8: %I.type = facet_value %D.ref.loc8, (constants.%I.impl_witness) [concrete = constants.%I.facet] // CHECK:STDOUT: %.loc8_12.2: %I.type = converted %D.ref.loc8, %I.facet.loc8 [concrete = constants.%I.facet] -// CHECK:STDOUT: %C.loc8: type = class_type @C, @C(constants.%I.facet) [concrete = constants.%C.fd5] +// CHECK:STDOUT: %C.loc8: type = class_type @C, @C(constants.%I.facet) [concrete = constants.%C.c62] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.loc8: %C.fd5 = wrapper_binding x, %x.param.loc8 +// CHECK:STDOUT: %x.loc8: %C.c62 = wrapper_binding x, %x.param.loc8 // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl.loc10: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: impl_decl @D.as.I.impl [concrete] {} { @@ -1437,18 +1437,18 @@ impl C as Y {} // CHECK:STDOUT: %T.loc12: %I.type = symbolic_binding T, 0 [symbolic = %T.loc6_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc14: %F.type = fn_decl @F [concrete = constants.%F] { -// CHECK:STDOUT: %x.param_patt: %pattern_type.0a8 = value_param_pattern [concrete = constants.%x.param_patt] -// CHECK:STDOUT: %x.patt: %pattern_type.0a8 = at_binding_pattern x, %x.param_patt [concrete = constants.%x.patt] +// CHECK:STDOUT: %x.param_patt: %pattern_type.91a = value_param_pattern [concrete = constants.%x.param_patt] +// CHECK:STDOUT: %x.patt: %pattern_type.91a = at_binding_pattern x, %x.param_patt [concrete = constants.%x.patt] // CHECK:STDOUT: } { -// CHECK:STDOUT: %x.param.loc14: %C.fd5 = value_param call_param0 -// CHECK:STDOUT: %.loc14_19.1: type = splice_block %C.loc14 [concrete = constants.%C.fd5] { +// CHECK:STDOUT: %x.param.loc14: %C.c62 = value_param call_param0 +// CHECK:STDOUT: %.loc14_19.1: type = splice_block %C.loc14 [concrete = constants.%C.c62] { // CHECK:STDOUT: %C.ref.loc14: %C.type = name_ref C, file.%C.decl.loc6 [concrete = constants.%C.generic] // CHECK:STDOUT: %D.ref.loc14: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %I.facet.loc14: %I.type = facet_value %D.ref.loc14, (constants.%I.impl_witness) [concrete = constants.%I.facet] // CHECK:STDOUT: %.loc14_19.2: %I.type = converted %D.ref.loc14, %I.facet.loc14 [concrete = constants.%I.facet] -// CHECK:STDOUT: %C.loc14: type = class_type @C, @C(constants.%I.facet) [concrete = constants.%C.fd5] +// CHECK:STDOUT: %C.loc14: type = class_type @C, @C(constants.%I.facet) [concrete = constants.%C.c62] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.loc14: %C.fd5 = wrapper_binding x, %x.param.loc14 +// CHECK:STDOUT: %x.loc14: %C.c62 = wrapper_binding x, %x.param.loc14 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1495,7 +1495,7 @@ impl C as Y {} // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F(%x.param.loc14: %C.fd5) { +// CHECK:STDOUT: fn @F(%x.param.loc14: %C.c62) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1532,8 +1532,8 @@ impl C as Y {} // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %I.type, %type.as.BitAndWith.impl.Op [concrete] @@ -1569,7 +1569,7 @@ impl C as Y {} // 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] // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl.loc4 [concrete = constants.%J.type] -// CHECK:STDOUT: %impl.elem0: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %I.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%I.ref, %J.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/generic_redeclaration.carbon b/toolchain/check/testdata/impl/generic_redeclaration.carbon index 5568f3b83a72..105aa51e1c10 100644 --- a/toolchain/check/testdata/impl/generic_redeclaration.carbon +++ b/toolchain/check/testdata/impl/generic_redeclaration.carbon @@ -138,29 +138,29 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %T.dda: %I.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.b38: type = facet_access_type %T.dda [symbolic] // CHECK:STDOUT: %.915: = impl_self_witness %T.as_type.b38, @Interface [symbolic] -// CHECK:STDOUT: %Interface.impl_witness.5b0: = impl_witness @T.as_type.as.Interface.impl.72f.%Interface.impl_witness_table, @T.as_type.as.Interface.impl.72f(%T.dda) [symbolic] +// CHECK:STDOUT: %Interface.impl_witness.740: = impl_witness @T.as_type.as.Interface.impl.72f.%Interface.impl_witness_table, @T.as_type.as.Interface.impl.72f(%T.dda) [symbolic] // CHECK:STDOUT: %pattern_type.2c5: type = pattern_type %J.type [concrete] // CHECK:STDOUT: %T.patt.ac1: %pattern_type.2c5 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.e40: %J.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.d90: type = facet_access_type %T.e40 [symbolic] // CHECK:STDOUT: %.eab: = impl_self_witness %T.as_type.d90, @Interface [symbolic] -// CHECK:STDOUT: %Interface.impl_witness.614: = impl_witness @T.as_type.as.Interface.impl.24e.%Interface.impl_witness_table, @T.as_type.as.Interface.impl.24e(%T.e40) [symbolic] +// CHECK:STDOUT: %Interface.impl_witness.cb9: = impl_witness @T.as_type.as.Interface.impl.24e.%Interface.impl_witness_table, @T.as_type.as.Interface.impl.24e(%T.e40) [symbolic] // CHECK:STDOUT: %pattern_type.b64: type = pattern_type %K.type [concrete] // CHECK:STDOUT: %T.patt.0ef: %pattern_type.b64 = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.062: %K.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.1ea: type = facet_access_type %T.062 [symbolic] // CHECK:STDOUT: %.2ae: = impl_self_witness %T.as_type.1ea, @Interface [symbolic] -// CHECK:STDOUT: %Interface.impl_witness.bda: = impl_witness @T.as_type.as.Interface.impl.b21.%Interface.impl_witness_table, @T.as_type.as.Interface.impl.b21(%T.062) [symbolic] +// CHECK:STDOUT: %Interface.impl_witness.e2e: = impl_witness @T.as_type.as.Interface.impl.b21.%Interface.impl_witness_table, @T.as_type.as.Interface.impl.b21(%T.062) [symbolic] // CHECK:STDOUT: %pattern_type.25e: type = pattern_type %L.type [concrete] // CHECK:STDOUT: %T.patt.b11: %pattern_type.25e = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.709: %L.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.56f: type = facet_access_type %T.709 [symbolic] // CHECK:STDOUT: %.30d: = impl_self_witness %T.as_type.56f, @Interface [symbolic] -// CHECK:STDOUT: %Interface.impl_witness.9d3: = impl_witness @T.as_type.as.Interface.impl.2b4.%Interface.impl_witness_table, @T.as_type.as.Interface.impl.2b4(%T.709) [symbolic] -// CHECK:STDOUT: %Interface.facet.8e9: %Interface.type = facet_value %T.as_type.b38, (%Interface.impl_witness.5b0) [symbolic] -// CHECK:STDOUT: %Interface.facet.d46: %Interface.type = facet_value %T.as_type.d90, (%Interface.impl_witness.614) [symbolic] -// CHECK:STDOUT: %Interface.facet.8be: %Interface.type = facet_value %T.as_type.1ea, (%Interface.impl_witness.bda) [symbolic] -// CHECK:STDOUT: %Interface.facet.ed4: %Interface.type = facet_value %T.as_type.56f, (%Interface.impl_witness.9d3) [symbolic] +// CHECK:STDOUT: %Interface.impl_witness.3f0: = impl_witness @T.as_type.as.Interface.impl.2b4.%Interface.impl_witness_table, @T.as_type.as.Interface.impl.2b4(%T.709) [symbolic] +// CHECK:STDOUT: %Interface.facet.6a0: %Interface.type = facet_value %T.as_type.b38, (%Interface.impl_witness.740) [symbolic] +// CHECK:STDOUT: %Interface.facet.316: %Interface.type = facet_value %T.as_type.d90, (%Interface.impl_witness.cb9) [symbolic] +// CHECK:STDOUT: %Interface.facet.a30: %Interface.type = facet_value %T.as_type.1ea, (%Interface.impl_witness.e2e) [symbolic] +// CHECK:STDOUT: %Interface.facet.edc: %Interface.type = facet_value %T.as_type.56f, (%Interface.impl_witness.3f0) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -359,13 +359,13 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %T.loc12_15.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc12_15.2 (constants.%T.dda)] // CHECK:STDOUT: %T.as_type.loc12_20.2: type = facet_access_type %T.loc12_15.2 [symbolic = %T.as_type.loc12_20.2 (constants.%T.as_type.b38)] // CHECK:STDOUT: %.loc12_34: = impl_self_witness %T.as_type.loc12_20.2, @Interface [symbolic = %.loc12_34 (constants.%.915)] -// CHECK:STDOUT: %Interface.impl_witness.loc12_34.2: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.72f(%T.loc12_15.2) [symbolic = %Interface.impl_witness.loc12_34.2 (constants.%Interface.impl_witness.5b0)] +// CHECK:STDOUT: %Interface.impl_witness.loc12_34.2: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.72f(%T.loc12_15.2) [symbolic = %Interface.impl_witness.loc12_34.2 (constants.%Interface.impl_witness.740)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc12_20 as %Interface.ref.loc12 { // CHECK:STDOUT: %Interface.impl_witness_table = impl_witness_table (), @T.as_type.as.Interface.impl.72f [concrete] -// CHECK:STDOUT: %Interface.impl_witness.loc12_34.1: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.72f(constants.%T.dda) [symbolic = %Interface.impl_witness.loc12_34.2 (constants.%Interface.impl_witness.5b0)] +// CHECK:STDOUT: %Interface.impl_witness.loc12_34.1: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.72f(constants.%T.dda) [symbolic = %Interface.impl_witness.loc12_34.2 (constants.%Interface.impl_witness.740)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Interface.ref.loc12 @@ -378,13 +378,13 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %T.loc13_15.2: %J.type = symbolic_binding T, 0 [symbolic = %T.loc13_15.2 (constants.%T.e40)] // CHECK:STDOUT: %T.as_type.loc13_20.2: type = facet_access_type %T.loc13_15.2 [symbolic = %T.as_type.loc13_20.2 (constants.%T.as_type.d90)] // CHECK:STDOUT: %.loc13_34: = impl_self_witness %T.as_type.loc13_20.2, @Interface [symbolic = %.loc13_34 (constants.%.eab)] -// CHECK:STDOUT: %Interface.impl_witness.loc13_34.2: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.24e(%T.loc13_15.2) [symbolic = %Interface.impl_witness.loc13_34.2 (constants.%Interface.impl_witness.614)] +// CHECK:STDOUT: %Interface.impl_witness.loc13_34.2: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.24e(%T.loc13_15.2) [symbolic = %Interface.impl_witness.loc13_34.2 (constants.%Interface.impl_witness.cb9)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc13_20 as %Interface.ref.loc13 { // CHECK:STDOUT: %Interface.impl_witness_table = impl_witness_table (), @T.as_type.as.Interface.impl.24e [concrete] -// CHECK:STDOUT: %Interface.impl_witness.loc13_34.1: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.24e(constants.%T.e40) [symbolic = %Interface.impl_witness.loc13_34.2 (constants.%Interface.impl_witness.614)] +// CHECK:STDOUT: %Interface.impl_witness.loc13_34.1: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.24e(constants.%T.e40) [symbolic = %Interface.impl_witness.loc13_34.2 (constants.%Interface.impl_witness.cb9)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Interface.ref.loc13 @@ -397,13 +397,13 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %T.loc14_15.2: %K.type = symbolic_binding T, 0 [symbolic = %T.loc14_15.2 (constants.%T.062)] // CHECK:STDOUT: %T.as_type.loc14_20.2: type = facet_access_type %T.loc14_15.2 [symbolic = %T.as_type.loc14_20.2 (constants.%T.as_type.1ea)] // CHECK:STDOUT: %.loc14_34: = impl_self_witness %T.as_type.loc14_20.2, @Interface [symbolic = %.loc14_34 (constants.%.2ae)] -// CHECK:STDOUT: %Interface.impl_witness.loc14_34.2: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.b21(%T.loc14_15.2) [symbolic = %Interface.impl_witness.loc14_34.2 (constants.%Interface.impl_witness.bda)] +// CHECK:STDOUT: %Interface.impl_witness.loc14_34.2: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.b21(%T.loc14_15.2) [symbolic = %Interface.impl_witness.loc14_34.2 (constants.%Interface.impl_witness.e2e)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc14_20 as %Interface.ref.loc14 { // CHECK:STDOUT: %Interface.impl_witness_table = impl_witness_table (), @T.as_type.as.Interface.impl.b21 [concrete] -// CHECK:STDOUT: %Interface.impl_witness.loc14_34.1: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.b21(constants.%T.062) [symbolic = %Interface.impl_witness.loc14_34.2 (constants.%Interface.impl_witness.bda)] +// CHECK:STDOUT: %Interface.impl_witness.loc14_34.1: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.b21(constants.%T.062) [symbolic = %Interface.impl_witness.loc14_34.2 (constants.%Interface.impl_witness.e2e)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Interface.ref.loc14 @@ -416,13 +416,13 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %T.loc15_15.2: %L.type = symbolic_binding T, 0 [symbolic = %T.loc15_15.2 (constants.%T.709)] // CHECK:STDOUT: %T.as_type.loc15_20.2: type = facet_access_type %T.loc15_15.2 [symbolic = %T.as_type.loc15_20.2 (constants.%T.as_type.56f)] // CHECK:STDOUT: %.loc15_34: = impl_self_witness %T.as_type.loc15_20.2, @Interface [symbolic = %.loc15_34 (constants.%.30d)] -// CHECK:STDOUT: %Interface.impl_witness.loc15_34.2: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.2b4(%T.loc15_15.2) [symbolic = %Interface.impl_witness.loc15_34.2 (constants.%Interface.impl_witness.9d3)] +// CHECK:STDOUT: %Interface.impl_witness.loc15_34.2: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.2b4(%T.loc15_15.2) [symbolic = %Interface.impl_witness.loc15_34.2 (constants.%Interface.impl_witness.3f0)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %.loc15_20 as %Interface.ref.loc15 { // CHECK:STDOUT: %Interface.impl_witness_table = impl_witness_table (), @T.as_type.as.Interface.impl.2b4 [concrete] -// CHECK:STDOUT: %Interface.impl_witness.loc15_34.1: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.2b4(constants.%T.709) [symbolic = %Interface.impl_witness.loc15_34.2 (constants.%Interface.impl_witness.9d3)] +// CHECK:STDOUT: %Interface.impl_witness.loc15_34.1: = impl_witness %Interface.impl_witness_table, @T.as_type.as.Interface.impl.2b4(constants.%T.709) [symbolic = %Interface.impl_witness.loc15_34.2 (constants.%Interface.impl_witness.3f0)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Interface.ref.loc15 @@ -447,7 +447,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %T.loc12_15.2 => constants.%T.dda // CHECK:STDOUT: %T.as_type.loc12_20.2 => constants.%T.as_type.b38 // CHECK:STDOUT: %.loc12_34 => constants.%.915 -// CHECK:STDOUT: %Interface.impl_witness.loc12_34.2 => constants.%Interface.impl_witness.5b0 +// CHECK:STDOUT: %Interface.impl_witness.loc12_34.2 => constants.%Interface.impl_witness.740 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as_type.as.Interface.impl.24e(constants.%T.e40) { @@ -455,7 +455,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %T.loc13_15.2 => constants.%T.e40 // CHECK:STDOUT: %T.as_type.loc13_20.2 => constants.%T.as_type.d90 // CHECK:STDOUT: %.loc13_34 => constants.%.eab -// CHECK:STDOUT: %Interface.impl_witness.loc13_34.2 => constants.%Interface.impl_witness.614 +// CHECK:STDOUT: %Interface.impl_witness.loc13_34.2 => constants.%Interface.impl_witness.cb9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as_type.as.Interface.impl.b21(constants.%T.062) { @@ -463,7 +463,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %T.loc14_15.2 => constants.%T.062 // CHECK:STDOUT: %T.as_type.loc14_20.2 => constants.%T.as_type.1ea // CHECK:STDOUT: %.loc14_34 => constants.%.2ae -// CHECK:STDOUT: %Interface.impl_witness.loc14_34.2 => constants.%Interface.impl_witness.bda +// CHECK:STDOUT: %Interface.impl_witness.loc14_34.2 => constants.%Interface.impl_witness.e2e // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as_type.as.Interface.impl.2b4(constants.%T.709) { @@ -471,22 +471,22 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %T.loc15_15.2 => constants.%T.709 // CHECK:STDOUT: %T.as_type.loc15_20.2 => constants.%T.as_type.56f // CHECK:STDOUT: %.loc15_34 => constants.%.30d -// CHECK:STDOUT: %Interface.impl_witness.loc15_34.2 => constants.%Interface.impl_witness.9d3 +// CHECK:STDOUT: %Interface.impl_witness.loc15_34.2 => constants.%Interface.impl_witness.3f0 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Interface.WithSelf(constants.%Interface.facet.8e9) { +// CHECK:STDOUT: specific @Interface.WithSelf(constants.%Interface.facet.6a0) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Interface.WithSelf(constants.%Interface.facet.d46) { +// CHECK:STDOUT: specific @Interface.WithSelf(constants.%Interface.facet.316) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Interface.WithSelf(constants.%Interface.facet.8be) { +// CHECK:STDOUT: specific @Interface.WithSelf(constants.%Interface.facet.a30) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Interface.WithSelf(constants.%Interface.facet.ed4) { +// CHECK:STDOUT: specific @Interface.WithSelf(constants.%Interface.facet.edc) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -642,13 +642,13 @@ impl forall [T: type] T as I { // CHECK:STDOUT: %I.type: type = facet_type <@I> [concrete] // CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %.b7f: = impl_self_witness %C, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.1c7395.1: = impl_witness @C.as.I.impl.e103db.1.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %I.facet.c56855.1: %I.type = facet_value %C, (%I.impl_witness.1c7395.1) [concrete] +// CHECK:STDOUT: %I.impl_witness.df5481.1: = impl_witness @C.as.I.impl.e103db.1.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet.a71ed7.1: %I.type = facet_value %C, (%I.impl_witness.df5481.1) [concrete] // CHECK:STDOUT: %tuple.type: type = tuple_type (type, type) [concrete] // CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%C, %C) [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] -// CHECK:STDOUT: %I.impl_witness.1c7395.2: = impl_witness @C.as.I.impl.e103db.2.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %I.facet.c56855.2: %I.type = facet_value %C, (%I.impl_witness.1c7395.2) [concrete] +// CHECK:STDOUT: %I.impl_witness.df5481.2: = impl_witness @C.as.I.impl.e103db.2.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet.a71ed7.2: %I.type = facet_value %C, (%I.impl_witness.df5481.2) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -698,7 +698,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.I.impl.e103db.1: %C.ref as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.e103db.1 [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.1c7395.1] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.df5481.1] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %I.ref @@ -707,7 +707,7 @@ impl forall [T: type] T as I { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.I.impl.e103db.2: %tuple.elem0 as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.e103db.2 [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.1c7395.2] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.df5481.2] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %I.ref @@ -720,11 +720,11 @@ impl forall [T: type] T as I { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.c56855.1) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.a71ed7.1) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.c56855.2) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.a71ed7.2) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/impl_as.carbon b/toolchain/check/testdata/impl/impl_as.carbon index 3a28218b6fa2..cb0d260a5d72 100644 --- a/toolchain/check/testdata/impl/impl_as.carbon +++ b/toolchain/check/testdata/impl/impl_as.carbon @@ -41,8 +41,8 @@ class C { // CHECK:STDOUT: %C.as.Simple.impl.F.type: type = fn_type @C.as.Simple.impl.F [concrete] // CHECK:STDOUT: %C.as.Simple.impl.F: %C.as.Simple.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %Simple.facet: %Simple.type = facet_value %C, (%Simple.impl_witness) [concrete] -// CHECK:STDOUT: %Simple.WithSelf.F.type.c73: type = fn_type @Simple.WithSelf.F, @Simple.WithSelf(%Simple.facet) [concrete] -// CHECK:STDOUT: %Simple.WithSelf.F.bbe: %Simple.WithSelf.F.type.c73 = struct_value () [concrete] +// CHECK:STDOUT: %Simple.WithSelf.F.type.a3b: type = fn_type @Simple.WithSelf.F, @Simple.WithSelf(%Simple.facet) [concrete] +// CHECK:STDOUT: %Simple.WithSelf.F.81b: %Simple.WithSelf.F.type.a3b = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] @@ -160,8 +160,8 @@ class C { // CHECK:STDOUT: specific @Simple.WithSelf(constants.%Simple.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Simple.facet -// CHECK:STDOUT: %Simple.WithSelf.F.type => constants.%Simple.WithSelf.F.type.c73 -// CHECK:STDOUT: %Simple.WithSelf.F => constants.%Simple.WithSelf.F.bbe +// CHECK:STDOUT: %Simple.WithSelf.F.type => constants.%Simple.WithSelf.F.type.a3b +// CHECK:STDOUT: %Simple.WithSelf.F => constants.%Simple.WithSelf.F.81b // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Simple.WithSelf.F(constants.%Simple.facet) {} 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 f6d65a2e9cc2..b14025f61a09 100644 --- a/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon +++ b/toolchain/check/testdata/impl/impl_assoc_const_with_prelude.carbon @@ -64,12 +64,12 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -86,8 +86,8 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %SubWith.type.4c2: type = facet_type <@SubWith, @SubWith(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %SubWith.impl_witness: = impl_witness imports.%SubWith.impl_witness_table [concrete] // CHECK:STDOUT: %SubWith.facet: %SubWith.type.4c2 = facet_value Core.IntLiteral, (%SubWith.impl_witness) [concrete] -// CHECK:STDOUT: %SubWith.WithSelf.Op.type.1e8: type = fn_type @SubWith.WithSelf.Op, @SubWith.WithSelf(Core.IntLiteral, %SubWith.facet) [concrete] -// CHECK:STDOUT: %.336: type = fn_type_with_self_type %SubWith.WithSelf.Op.type.1e8, %SubWith.facet [concrete] +// CHECK:STDOUT: %SubWith.WithSelf.Op.type.547: type = fn_type @SubWith.WithSelf.Op, @SubWith.WithSelf(Core.IntLiteral, %SubWith.facet) [concrete] +// CHECK:STDOUT: %.83f: type = fn_type_with_self_type %SubWith.WithSelf.Op.type.547, %SubWith.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.SubWith.impl.Op.type: type = fn_type @Core.IntLiteral.as.SubWith.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.SubWith.impl.Op: %Core.IntLiteral.as.SubWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.SubWith.impl.Op.bound: = bound_method %int_3, %Core.IntLiteral.as.SubWith.impl.Op [concrete] @@ -97,8 +97,8 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %DivWith.type.e2a: type = facet_type <@DivWith, @DivWith(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %DivWith.impl_witness: = impl_witness imports.%DivWith.impl_witness_table [concrete] // CHECK:STDOUT: %DivWith.facet: %DivWith.type.e2a = facet_value Core.IntLiteral, (%DivWith.impl_witness) [concrete] -// CHECK:STDOUT: %DivWith.WithSelf.Op.type.a61: type = fn_type @DivWith.WithSelf.Op, @DivWith.WithSelf(Core.IntLiteral, %DivWith.facet) [concrete] -// CHECK:STDOUT: %.26e: type = fn_type_with_self_type %DivWith.WithSelf.Op.type.a61, %DivWith.facet [concrete] +// CHECK:STDOUT: %DivWith.WithSelf.Op.type.ef5: type = fn_type @DivWith.WithSelf.Op, @DivWith.WithSelf(Core.IntLiteral, %DivWith.facet) [concrete] +// CHECK:STDOUT: %.187: type = fn_type_with_self_type %DivWith.WithSelf.Op.type.ef5, %DivWith.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.DivWith.impl.Op.type: type = fn_type @Core.IntLiteral.as.DivWith.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.DivWith.impl.Op: %Core.IntLiteral.as.DivWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.DivWith.impl.Op.bound: = bound_method %int_4, %Core.IntLiteral.as.DivWith.impl.Op [concrete] @@ -125,7 +125,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.SubWith: %SubWith.type.f8d = 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, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.9c3475.1: %Core.IntLiteral.as.SubWith.impl.Op.type = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.SubWith.impl.Op] @@ -159,14 +159,14 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %int_2.loc6_46: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc6_47.1: %tuple.type.f94 = tuple_literal (%int_1, %int_2.loc6_46) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc6_48.1: %struct_type.a.b.aa4 = struct_literal (%true, %.loc6_47.1) [concrete = constants.%struct.e57] -// CHECK:STDOUT: %impl.elem0.loc6_47.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6_47.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_47.1: = bound_method %int_1, %impl.elem0.loc6_47.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc6_47.1: = specific_function %impl.elem0.loc6_47.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_47.2: = bound_method %int_1, %specific_fn.loc6_47.1 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6_47.1: init %i32 = call %bound_method.loc6_47.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc6_47.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6_47.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc6_47.3: %i32 = converted %int_1, %.loc6_47.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc6_47.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6_47.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_47.3: = bound_method %int_2.loc6_46, %impl.elem0.loc6_47.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc6_47.2: = specific_function %impl.elem0.loc6_47.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_47.4: = bound_method %int_2.loc6_46, %specific_fn.loc6_47.2 [concrete = constants.%bound_method.3cb] @@ -188,17 +188,17 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %.loc6_65: bool = not %false [concrete = constants.%true] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] // CHECK:STDOUT: %int_2.loc6_86: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem1.loc6_84: %.336 = impl_witness_access constants.%SubWith.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.SubWith.impl.Op] +// CHECK:STDOUT: %impl.elem1.loc6_84: %.83f = impl_witness_access constants.%SubWith.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.SubWith.impl.Op] // CHECK:STDOUT: %bound_method.loc6_84: = bound_method %int_3, %impl.elem1.loc6_84 [concrete = constants.%Core.IntLiteral.as.SubWith.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.SubWith.impl.Op.call: init Core.IntLiteral = call %bound_method.loc6_84(%int_3, %int_2.loc6_86) [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4] // CHECK:STDOUT: %int_2.loc6_93: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem1.loc6_91: %.26e = impl_witness_access constants.%DivWith.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.DivWith.impl.Op] +// CHECK:STDOUT: %impl.elem1.loc6_91: %.187 = impl_witness_access constants.%DivWith.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.DivWith.impl.Op] // CHECK:STDOUT: %bound_method.loc6_91: = bound_method %int_4, %impl.elem1.loc6_91 [concrete = constants.%Core.IntLiteral.as.DivWith.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.DivWith.impl.Op.call: init Core.IntLiteral = call %bound_method.loc6_91(%int_4, %int_2.loc6_93) [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc6_94.1: %tuple.type.f94 = tuple_literal (%Core.IntLiteral.as.SubWith.impl.Op.call, %Core.IntLiteral.as.DivWith.impl.Op.call) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc6_95.1: %struct_type.a.b.aa4 = struct_literal (%.loc6_65, %.loc6_94.1) [concrete = constants.%struct.e57] -// CHECK:STDOUT: %impl.elem0.loc6_94.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6_94.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_94.1: = bound_method %Core.IntLiteral.as.SubWith.impl.Op.call, %impl.elem0.loc6_94.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc6_94.1: = specific_function %impl.elem0.loc6_94.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_94.2: = bound_method %Core.IntLiteral.as.SubWith.impl.Op.call, %specific_fn.loc6_94.1 [concrete = constants.%bound_method.953] @@ -207,7 +207,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6_94.1: init %i32 = call %bound_method.loc6_94.2(%.loc6_84.2) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc6_94.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6_94.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc6_94.3: %i32 = converted %Core.IntLiteral.as.SubWith.impl.Op.call, %.loc6_94.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc6_94.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6_94.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_94.3: = bound_method %Core.IntLiteral.as.DivWith.impl.Op.call, %impl.elem0.loc6_94.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc6_94.2: = specific_function %impl.elem0.loc6_94.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_94.4: = bound_method %Core.IntLiteral.as.DivWith.impl.Op.call, %specific_fn.loc6_94.2 [concrete = constants.%bound_method.3cb] @@ -306,12 +306,12 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -351,7 +351,7 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -377,14 +377,14 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc10_47.1: %tuple.type.f94 = tuple_literal (%int_1, %int_2) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc10_48.1: %struct_type.a.b.aa4 = struct_literal (%true, %.loc10_47.1) [concrete = constants.%struct.e57] -// CHECK:STDOUT: %impl.elem0.loc10_47.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_47.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_47.1: = bound_method %int_1, %impl.elem0.loc10_47.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc10_47.1: = specific_function %impl.elem0.loc10_47.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_47.2: = bound_method %int_1, %specific_fn.loc10_47.1 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_47.1: init %i32 = call %bound_method.loc10_47.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_47.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_47.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_47.3: %i32 = converted %int_1, %.loc10_47.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc10_47.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_47.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_47.3: = bound_method %int_2, %impl.elem0.loc10_47.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc10_47.2: = specific_function %impl.elem0.loc10_47.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_47.4: = bound_method %int_2, %specific_fn.loc10_47.2 [concrete = constants.%bound_method.3cb] @@ -407,14 +407,14 @@ impl () as I where .X = {.a = true, .b = (1, 2)} and .X = {.a = false, .b = (3, // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %.loc10_82.1: %tuple.type.f94 = tuple_literal (%int_3, %int_4) [concrete = constants.%tuple.302] // CHECK:STDOUT: %.loc10_83.1: %struct_type.a.b.aa4 = struct_literal (%false, %.loc10_82.1) [concrete = constants.%struct.1ec] -// CHECK:STDOUT: %impl.elem0.loc10_82.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_82.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_82.1: = bound_method %int_3, %impl.elem0.loc10_82.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc10_82.1: = specific_function %impl.elem0.loc10_82.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_82.2: = bound_method %int_3, %specific_fn.loc10_82.1 [concrete = constants.%bound_method.763] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_82.1: init %i32 = call %bound_method.loc10_82.2(%int_3) [concrete = constants.%int_3.410] // CHECK:STDOUT: %.loc10_82.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_82.1 [concrete = constants.%int_3.410] // CHECK:STDOUT: %.loc10_82.3: %i32 = converted %int_3, %.loc10_82.2 [concrete = constants.%int_3.410] -// CHECK:STDOUT: %impl.elem0.loc10_82.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_82.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_82.3: = bound_method %int_4, %impl.elem0.loc10_82.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc10_82.2: = specific_function %impl.elem0.loc10_82.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_82.4: = bound_method %int_4, %specific_fn.loc10_82.2 [concrete = constants.%bound_method.b7a] diff --git a/toolchain/check/testdata/impl/impl_forall.carbon b/toolchain/check/testdata/impl/impl_forall.carbon index 1ffd9a3f345b..1674b1844b4d 100644 --- a/toolchain/check/testdata/impl/impl_forall.carbon +++ b/toolchain/check/testdata/impl/impl_forall.carbon @@ -39,8 +39,8 @@ impl forall [T: type] T as Simple { // CHECK:STDOUT: %T.as.Simple.impl.F.type: type = fn_type @T.as.Simple.impl.F, @T.as.Simple.impl(%T) [symbolic] // CHECK:STDOUT: %T.as.Simple.impl.F: %T.as.Simple.impl.F.type = struct_value () [symbolic] // CHECK:STDOUT: %Simple.facet: %Simple.type = facet_value %T, (%Simple.impl_witness) [symbolic] -// CHECK:STDOUT: %Simple.WithSelf.F.type.165: type = fn_type @Simple.WithSelf.F, @Simple.WithSelf(%Simple.facet) [symbolic] -// CHECK:STDOUT: %Simple.WithSelf.F.2e8: %Simple.WithSelf.F.type.165 = struct_value () [symbolic] +// CHECK:STDOUT: %Simple.WithSelf.F.type.7bf: type = fn_type @Simple.WithSelf.F, @Simple.WithSelf(%Simple.facet) [symbolic] +// CHECK:STDOUT: %Simple.WithSelf.F.c46: %Simple.WithSelf.F.type.7bf = struct_value () [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -138,8 +138,8 @@ impl forall [T: type] T as Simple { // CHECK:STDOUT: specific @Simple.WithSelf(constants.%Simple.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Simple.facet -// CHECK:STDOUT: %Simple.WithSelf.F.type => constants.%Simple.WithSelf.F.type.165 -// CHECK:STDOUT: %Simple.WithSelf.F => constants.%Simple.WithSelf.F.2e8 +// CHECK:STDOUT: %Simple.WithSelf.F.type => constants.%Simple.WithSelf.F.type.7bf +// CHECK:STDOUT: %Simple.WithSelf.F => constants.%Simple.WithSelf.F.c46 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Simple.WithSelf.F(constants.%Simple.facet) {} diff --git a/toolchain/check/testdata/impl/impl_thunk.carbon b/toolchain/check/testdata/impl/impl_thunk.carbon index ead2059511a3..13f97b68789c 100644 --- a/toolchain/check/testdata/impl/impl_thunk.carbon +++ b/toolchain/check/testdata/impl/impl_thunk.carbon @@ -480,18 +480,18 @@ impl () as I({}) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.09a: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%B) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5cd: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%B) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.d4b: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.70e: %ptr.as.Copy.impl.Op.type.d4b = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.09a) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.78a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.fa1: type = fn_type_with_self_type %Copy.WithSelf.Op.type.78a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.5cd) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.65d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.dbf: type = fn_type_with_self_type %Copy.WithSelf.Op.type.65d, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.70e, @ptr.as.Copy.impl.Op(%B) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @B.as.X.impl: %B.ref as %X.ref { @@ -548,7 +548,7 @@ impl () as I({}) { // CHECK:STDOUT: %.loc14_37.4: ref %B = class_element_access %.loc14_37.3, element0 // CHECK:STDOUT: %addr.loc14: %ptr.432 = addr_of %.loc14_37.4 // CHECK:STDOUT: %.loc14_37.5: %ptr.432 = converted %B.as.X.impl.F.call, %addr.loc14 -// CHECK:STDOUT: %impl.elem0: %.fa1 = impl_witness_access constants.%Copy.impl_witness.09a, element0 [concrete = constants.%ptr.as.Copy.impl.Op.70e] +// CHECK:STDOUT: %impl.elem0: %.dbf = impl_witness_access constants.%Copy.impl_witness.5cd, element0 [concrete = constants.%ptr.as.Copy.impl.Op.70e] // CHECK:STDOUT: %bound_method.loc14_37.1: = bound_method %.loc14_37.5, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%B) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_37.2: = bound_method %.loc14_37.5, %specific_fn @@ -645,18 +645,18 @@ impl () as I({}) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.09a: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%B) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5cd: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%B) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.d4b: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.70e: %ptr.as.Copy.impl.Op.type.d4b = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.09a) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.78a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.fa1: type = fn_type_with_self_type %Copy.WithSelf.Op.type.78a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.5cd) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.65d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.dbf: type = fn_type_with_self_type %Copy.WithSelf.Op.type.65d, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.70e, @ptr.as.Copy.impl.Op(%B) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @B.as.X.impl: %B.ref as %X.ref { @@ -713,7 +713,7 @@ impl () as I({}) { // CHECK:STDOUT: %.loc14_37.4: ref %B = class_element_access %.loc14_37.3, element0 // CHECK:STDOUT: %addr.loc14: %ptr.432 = addr_of %.loc14_37.4 // CHECK:STDOUT: %.loc14_37.5: %ptr.432 = converted %B.as.X.impl.F.call, %addr.loc14 -// CHECK:STDOUT: %impl.elem0: %.fa1 = impl_witness_access constants.%Copy.impl_witness.09a, element0 [concrete = constants.%ptr.as.Copy.impl.Op.70e] +// CHECK:STDOUT: %impl.elem0: %.dbf = impl_witness_access constants.%Copy.impl_witness.5cd, element0 [concrete = constants.%ptr.as.Copy.impl.Op.70e] // CHECK:STDOUT: %bound_method.loc14_37.1: = bound_method %.loc14_37.5, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%B) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_37.2: = bound_method %.loc14_37.5, %specific_fn @@ -751,18 +751,18 @@ impl () as I({}) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.09a: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%B) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5cd: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%B) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.d4b: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%B) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.70e: %ptr.as.Copy.impl.Op.type.d4b = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.09a) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.78a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.fa1: type = fn_type_with_self_type %Copy.WithSelf.Op.type.78a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.432, (%Copy.impl_witness.5cd) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.65d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.dbf: type = fn_type_with_self_type %Copy.WithSelf.Op.type.65d, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.70e, @ptr.as.Copy.impl.Op(%B) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @B.as.X.impl: %B.ref as %X.ref { @@ -819,7 +819,7 @@ impl () as I({}) { // CHECK:STDOUT: %.loc14_37.4: ref %B = class_element_access %.loc14_37.3, element0 // CHECK:STDOUT: %addr.loc14: %ptr.432 = addr_of %.loc14_37.4 // CHECK:STDOUT: %.loc14_37.5: %ptr.432 = converted %B.as.X.impl.F.call, %addr.loc14 -// CHECK:STDOUT: %impl.elem0: %.fa1 = impl_witness_access constants.%Copy.impl_witness.09a, element0 [concrete = constants.%ptr.as.Copy.impl.Op.70e] +// CHECK:STDOUT: %impl.elem0: %.dbf = impl_witness_access constants.%Copy.impl_witness.5cd, element0 [concrete = constants.%ptr.as.Copy.impl.Op.70e] // CHECK:STDOUT: %bound_method.loc14_37.1: = bound_method %.loc14_37.5, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%B) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_37.2: = bound_method %.loc14_37.5, %specific_fn diff --git a/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon b/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon index 8d6e7a8b1d20..d1e6155e8986 100644 --- a/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon +++ b/toolchain/check/testdata/impl/impl_thunk_min_prelude.carbon @@ -111,17 +111,17 @@ fn Call() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] -// CHECK:STDOUT: %i32.as.Add.impl.Op.type.79f953.1: type = fn_type @i32.as.Add.impl.Op.loc8_35.1, @i32.as.Add.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %i32.as.Add.impl.Op.0c3802.1: %i32.as.Add.impl.Op.type.79f953.1 = struct_value () [concrete] +// CHECK:STDOUT: %i32.as.Add.impl.Op.type.8bfdb1.1: type = fn_type @i32.as.Add.impl.Op.loc8_35.1, @i32.as.Add.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %i32.as.Add.impl.Op.0ec6f7.1: %i32.as.Add.impl.Op.type.8bfdb1.1 = struct_value () [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] -// CHECK:STDOUT: %i32.as.Add.impl.Op.specific_fn.f5e09b.2: = specific_function %i32.as.Add.impl.Op.0c3802.1, @i32.as.Add.impl.Op.loc8_35.1(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %i32.as.Add.impl.Op.specific_fn.a0c4dc.2: = specific_function %i32.as.Add.impl.Op.0ec6f7.1, @i32.as.Add.impl.Op.loc8_35.1(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.3cb: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.295: %i32 = int_value 2 [concrete] @@ -129,7 +129,7 @@ fn Call() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @Call() -> out %return.param: %i32 { @@ -137,15 +137,15 @@ fn Call() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: %a.ref: %i32 = name_ref a, %a // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_14.1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.a23) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_14.1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.a2a) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc18_14.1: %ImplicitAs.type.914 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_14.1 [concrete = constants.%ImplicitAs.facet] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_14.2: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.a23) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_14.2: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.a2a) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc18_14.2: %ImplicitAs.type.914 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_14.2 [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: -// CHECK:STDOUT: %.loc18_14.3: %i32.as.Add.impl.Op.type.79f953.1 = specific_constant @i32.as.Add.impl.%i32.as.Add.impl.Op.decl.loc8_35.1, @i32.as.Add.impl(constants.%ImplicitAs.facet) [concrete = constants.%i32.as.Add.impl.Op.0c3802.1] -// CHECK:STDOUT: %Op.ref.loc18: %i32.as.Add.impl.Op.type.79f953.1 = name_ref Op, %.loc18_14.3 [concrete = constants.%i32.as.Add.impl.Op.0c3802.1] -// CHECK:STDOUT: %i32.as.Add.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @i32.as.Add.impl.Op.loc8_35.1(constants.%ImplicitAs.facet) [concrete = constants.%i32.as.Add.impl.Op.specific_fn.f5e09b.2] -// CHECK:STDOUT: %impl.elem0.loc18: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %.loc18_14.3: %i32.as.Add.impl.Op.type.8bfdb1.1 = specific_constant @i32.as.Add.impl.%i32.as.Add.impl.Op.decl.loc8_35.1, @i32.as.Add.impl(constants.%ImplicitAs.facet) [concrete = constants.%i32.as.Add.impl.Op.0ec6f7.1] +// CHECK:STDOUT: %Op.ref.loc18: %i32.as.Add.impl.Op.type.8bfdb1.1 = name_ref Op, %.loc18_14.3 [concrete = constants.%i32.as.Add.impl.Op.0ec6f7.1] +// CHECK:STDOUT: %i32.as.Add.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @i32.as.Add.impl.Op.loc8_35.1(constants.%ImplicitAs.facet) [concrete = constants.%i32.as.Add.impl.Op.specific_fn.a0c4dc.2] +// CHECK:STDOUT: %impl.elem0.loc18: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_13.1: = bound_method %int_2, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_13.2: = bound_method %int_2, %specific_fn.loc18 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/impl/import_compound.carbon b/toolchain/check/testdata/impl/import_compound.carbon index 4b7b0d920c77..6a7934ad29b9 100644 --- a/toolchain/check/testdata/impl/import_compound.carbon +++ b/toolchain/check/testdata/impl/import_compound.carbon @@ -116,8 +116,8 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %struct_type.i.as.NonInstance.impl.F.type: type = fn_type @struct_type.i.as.NonInstance.impl.F [concrete] // CHECK:STDOUT: %struct_type.i.as.NonInstance.impl.F: %struct_type.i.as.NonInstance.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %NonInstance.facet: %NonInstance.type = facet_value %struct_type.i, (%NonInstance.impl_witness) [concrete] -// CHECK:STDOUT: %NonInstance.WithSelf.F.type.0ea: type = fn_type @NonInstance.WithSelf.F, @NonInstance.WithSelf(%NonInstance.facet) [concrete] -// CHECK:STDOUT: %NonInstance.WithSelf.F.c3f: %NonInstance.WithSelf.F.type.0ea = struct_value () [concrete] +// CHECK:STDOUT: %NonInstance.WithSelf.F.type.18a: type = fn_type @NonInstance.WithSelf.F, @NonInstance.WithSelf(%NonInstance.facet) [concrete] +// CHECK:STDOUT: %NonInstance.WithSelf.F.9c4: %NonInstance.WithSelf.F.type.18a = struct_value () [concrete] // CHECK:STDOUT: %Instance.type: type = facet_type <@Instance> [concrete] // CHECK:STDOUT: %Self.bb5: %Instance.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.bb5 [symbolic] @@ -136,8 +136,8 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %struct_type.i.as.Instance.impl.G.type: type = fn_type @struct_type.i.as.Instance.impl.G [concrete] // CHECK:STDOUT: %struct_type.i.as.Instance.impl.G: %struct_type.i.as.Instance.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: %Instance.facet: %Instance.type = facet_value %struct_type.i, (%Instance.impl_witness) [concrete] -// CHECK:STDOUT: %Instance.WithSelf.G.type.9b8: type = fn_type @Instance.WithSelf.G, @Instance.WithSelf(%Instance.facet) [concrete] -// CHECK:STDOUT: %Instance.WithSelf.G.c6f: %Instance.WithSelf.G.type.9b8 = struct_value () [concrete] +// CHECK:STDOUT: %Instance.WithSelf.G.type.1a5: type = fn_type @Instance.WithSelf.G, @Instance.WithSelf(%Instance.facet) [concrete] +// CHECK:STDOUT: %Instance.WithSelf.G.6bb: %Instance.WithSelf.G.type.1a5 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -280,8 +280,8 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: specific @NonInstance.WithSelf(constants.%NonInstance.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%NonInstance.facet -// CHECK:STDOUT: %NonInstance.WithSelf.F.type => constants.%NonInstance.WithSelf.F.type.0ea -// CHECK:STDOUT: %NonInstance.WithSelf.F => constants.%NonInstance.WithSelf.F.c3f +// CHECK:STDOUT: %NonInstance.WithSelf.F.type => constants.%NonInstance.WithSelf.F.type.18a +// CHECK:STDOUT: %NonInstance.WithSelf.F => constants.%NonInstance.WithSelf.F.9c4 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @NonInstance.WithSelf.F(constants.%NonInstance.facet) {} @@ -304,8 +304,8 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: specific @Instance.WithSelf(constants.%Instance.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Instance.facet -// CHECK:STDOUT: %Instance.WithSelf.G.type => constants.%Instance.WithSelf.G.type.9b8 -// CHECK:STDOUT: %Instance.WithSelf.G => constants.%Instance.WithSelf.G.c6f +// CHECK:STDOUT: %Instance.WithSelf.G.type => constants.%Instance.WithSelf.G.type.1a5 +// CHECK:STDOUT: %Instance.WithSelf.G => constants.%Instance.WithSelf.G.6bb // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Instance.WithSelf.G(constants.%Instance.facet) { @@ -332,9 +332,9 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %assoc0: %NonInstance.assoc_type = assoc_entity element0, imports.%Main.import_ref.255 [concrete] // CHECK:STDOUT: %NonInstance.impl_witness: = impl_witness imports.%NonInstance.impl_witness_table [concrete] // CHECK:STDOUT: %NonInstance.facet: %NonInstance.type = facet_value %struct_type.i, (%NonInstance.impl_witness) [concrete] -// CHECK:STDOUT: %NonInstance.WithSelf.F.type.f88: type = fn_type @NonInstance.WithSelf.F, @NonInstance.WithSelf(%NonInstance.facet) [concrete] -// CHECK:STDOUT: %NonInstance.WithSelf.F.b35: %NonInstance.WithSelf.F.type.f88 = struct_value () [concrete] -// CHECK:STDOUT: %.a34: type = fn_type_with_self_type %NonInstance.WithSelf.F.type.f88, %NonInstance.facet [concrete] +// CHECK:STDOUT: %NonInstance.WithSelf.F.type.4c0: type = fn_type @NonInstance.WithSelf.F, @NonInstance.WithSelf(%NonInstance.facet) [concrete] +// CHECK:STDOUT: %NonInstance.WithSelf.F.c78: %NonInstance.WithSelf.F.type.4c0 = struct_value () [concrete] +// CHECK:STDOUT: %.30a: type = fn_type_with_self_type %NonInstance.WithSelf.F.type.4c0, %NonInstance.facet [concrete] // CHECK:STDOUT: %struct_type.i.as.NonInstance.impl.F.type: type = fn_type @struct_type.i.as.NonInstance.impl.F [concrete] // CHECK:STDOUT: %struct_type.i.as.NonInstance.impl.F: %struct_type.i.as.NonInstance.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -351,7 +351,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %Main.import_ref.9ad11e.2: %NonInstance.type = import_ref Main//lib, loc3_23, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %Main.import_ref.61e = import_ref Main//lib, loc3_23, unloaded // CHECK:STDOUT: %Main.import_ref.255: @NonInstance.WithSelf.%NonInstance.WithSelf.F.type (%NonInstance.WithSelf.F.type.df3) = import_ref Main//lib, loc4_9, loaded [symbolic = @NonInstance.WithSelf.%NonInstance.WithSelf.F (constants.%NonInstance.WithSelf.F.62f)] -// CHECK:STDOUT: %Main.import_ref.80b: = import_ref Main//lib, loc7_30, loaded [concrete = constants.%NonInstance.impl_witness] +// CHECK:STDOUT: %Main.import_ref.29e: = import_ref Main//lib, loc7_30, loaded [concrete = constants.%NonInstance.impl_witness] // CHECK:STDOUT: %Main.import_ref.c9a: type = import_ref Main//lib, loc7_13, loaded [concrete = constants.%struct_type.i] // CHECK:STDOUT: %Main.import_ref.282: type = import_ref Main//lib, loc7_18, loaded [concrete = constants.%NonInstance.type] // CHECK:STDOUT: %Main.import_ref.0d0: %struct_type.i.as.NonInstance.impl.F.type = import_ref Main//lib, loc8_10, loaded [concrete = constants.%struct_type.i.as.NonInstance.impl.F] @@ -381,7 +381,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: // CHECK:STDOUT: impl @struct_type.i.as.NonInstance.impl: imports.%Main.import_ref.c9a as imports.%Main.import_ref.282 [from "lib.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.80b +// CHECK:STDOUT: witness = imports.%Main.import_ref.29e // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @NonInstanceCallImport() { @@ -393,7 +393,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %F.ref: %NonInstance.assoc_type = name_ref F, imports.%Main.import_ref.a5f [concrete = constants.%assoc0] // CHECK:STDOUT: %NonInstance.facet: %NonInstance.type = facet_value %struct_type.i, (constants.%NonInstance.impl_witness) [concrete = constants.%NonInstance.facet] // CHECK:STDOUT: %.loc6_11: %NonInstance.type = converted %struct_type.i, %NonInstance.facet [concrete = constants.%NonInstance.facet] -// CHECK:STDOUT: %impl.elem0: %.a34 = impl_witness_access constants.%NonInstance.impl_witness, element0 [concrete = constants.%struct_type.i.as.NonInstance.impl.F] +// CHECK:STDOUT: %impl.elem0: %.30a = impl_witness_access constants.%NonInstance.impl_witness, element0 [concrete = constants.%struct_type.i.as.NonInstance.impl.F] // CHECK:STDOUT: %struct_type.i.as.NonInstance.impl.F.call: init %empty_tuple.type = call %impl.elem0() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -416,8 +416,8 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: specific @NonInstance.WithSelf(constants.%NonInstance.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%NonInstance.facet -// CHECK:STDOUT: %NonInstance.WithSelf.F.type => constants.%NonInstance.WithSelf.F.type.f88 -// CHECK:STDOUT: %NonInstance.WithSelf.F => constants.%NonInstance.WithSelf.F.b35 +// CHECK:STDOUT: %NonInstance.WithSelf.F.type => constants.%NonInstance.WithSelf.F.type.4c0 +// CHECK:STDOUT: %NonInstance.WithSelf.F => constants.%NonInstance.WithSelf.F.c78 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_import_non-instance.carbon @@ -628,9 +628,9 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %assoc0: %Instance.assoc_type = assoc_entity element0, imports.%Main.import_ref.b3c [concrete] // CHECK:STDOUT: %Instance.impl_witness: = impl_witness imports.%Instance.impl_witness_table [concrete] // CHECK:STDOUT: %Instance.facet: %Instance.type = facet_value %struct_type.i, (%Instance.impl_witness) [concrete] -// CHECK:STDOUT: %Instance.WithSelf.G.type.551: type = fn_type @Instance.WithSelf.G, @Instance.WithSelf(%Instance.facet) [concrete] -// CHECK:STDOUT: %Instance.WithSelf.G.fe9: %Instance.WithSelf.G.type.551 = struct_value () [concrete] -// CHECK:STDOUT: %.2e3: type = fn_type_with_self_type %Instance.WithSelf.G.type.551, %Instance.facet [concrete] +// CHECK:STDOUT: %Instance.WithSelf.G.type.ff0: type = fn_type @Instance.WithSelf.G, @Instance.WithSelf(%Instance.facet) [concrete] +// CHECK:STDOUT: %Instance.WithSelf.G.800: %Instance.WithSelf.G.type.ff0 = struct_value () [concrete] +// CHECK:STDOUT: %.760: type = fn_type_with_self_type %Instance.WithSelf.G.type.ff0, %Instance.facet [concrete] // CHECK:STDOUT: %struct_type.i.as.Instance.impl.G.type: type = fn_type @struct_type.i.as.Instance.impl.G [concrete] // CHECK:STDOUT: %struct_type.i.as.Instance.impl.G: %struct_type.i.as.Instance.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: %ptr: type = ptr_type %struct_type.i [concrete] @@ -654,7 +654,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %Main.import_ref.a85b8b.2: %Instance.type = import_ref Main//lib, loc11_20, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %Main.import_ref.2cd = import_ref Main//lib, loc11_20, unloaded // CHECK:STDOUT: %Main.import_ref.b3c: @Instance.WithSelf.%Instance.WithSelf.G.type (%Instance.WithSelf.G.type.8ba) = import_ref Main//lib, loc12_13, loaded [symbolic = @Instance.WithSelf.%Instance.WithSelf.G (constants.%Instance.WithSelf.G.114)] -// CHECK:STDOUT: %Main.import_ref.b09: = import_ref Main//lib, loc15_27, loaded [concrete = constants.%Instance.impl_witness] +// CHECK:STDOUT: %Main.import_ref.9a5: = import_ref Main//lib, loc15_27, loaded [concrete = constants.%Instance.impl_witness] // CHECK:STDOUT: %Main.import_ref.c9a: type = import_ref Main//lib, loc15_13, loaded [concrete = constants.%struct_type.i] // CHECK:STDOUT: %Main.import_ref.fd3: type = import_ref Main//lib, loc15_18, loaded [concrete = constants.%Instance.type] // CHECK:STDOUT: %Main.import_ref.7e2: %struct_type.i.as.Instance.impl.G.type = import_ref Main//lib, loc16_21, loaded [concrete = constants.%struct_type.i.as.Instance.impl.G] @@ -709,7 +709,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: // CHECK:STDOUT: impl @struct_type.i.as.Instance.impl: imports.%Main.import_ref.c9a as imports.%Main.import_ref.fd3 [from "lib.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.b09 +// CHECK:STDOUT: witness = imports.%Main.import_ref.9a5 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @InstanceCallImport(%n.param: %struct_type.i) { @@ -717,7 +717,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %n.ref: %struct_type.i = name_ref n, %n // CHECK:STDOUT: %Instance.ref: type = name_ref Instance, imports.%Main.Instance [concrete = constants.%Instance.type] // CHECK:STDOUT: %G.ref: %Instance.assoc_type = name_ref G, imports.%Main.import_ref.756 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.2e3 = impl_witness_access constants.%Instance.impl_witness, element0 [concrete = constants.%struct_type.i.as.Instance.impl.G] +// CHECK:STDOUT: %impl.elem0: %.760 = impl_witness_access constants.%Instance.impl_witness, element0 [concrete = constants.%struct_type.i.as.Instance.impl.G] // CHECK:STDOUT: %bound_method: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %struct_type.i.as.Instance.impl.G.call: init %empty_tuple.type = call %bound_method(%n.ref) // CHECK:STDOUT: return @@ -741,7 +741,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %Instance.ref: type = name_ref Instance, imports.%Main.Instance [concrete = constants.%Instance.type] // CHECK:STDOUT: %G.ref: %Instance.assoc_type = name_ref G, imports.%Main.import_ref.756 [concrete = constants.%assoc0] // CHECK:STDOUT: %.loc10_4.1: ref %struct_type.i = deref %p.ref -// CHECK:STDOUT: %impl.elem0: %.2e3 = impl_witness_access constants.%Instance.impl_witness, element0 [concrete = constants.%struct_type.i.as.Instance.impl.G] +// CHECK:STDOUT: %impl.elem0: %.760 = impl_witness_access constants.%Instance.impl_witness, element0 [concrete = constants.%struct_type.i.as.Instance.impl.G] // CHECK:STDOUT: %bound_method: = bound_method %.loc10_4.1, %impl.elem0 // CHECK:STDOUT: %.loc10_4.2: ref %empty_tuple.type = struct_access %.loc10_4.1, element0 // CHECK:STDOUT: %tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] @@ -770,8 +770,8 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: specific @Instance.WithSelf(constants.%Instance.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Instance.facet -// CHECK:STDOUT: %Instance.WithSelf.G.type => constants.%Instance.WithSelf.G.type.551 -// CHECK:STDOUT: %Instance.WithSelf.G => constants.%Instance.WithSelf.G.fe9 +// CHECK:STDOUT: %Instance.WithSelf.G.type => constants.%Instance.WithSelf.G.type.ff0 +// CHECK:STDOUT: %Instance.WithSelf.G => constants.%Instance.WithSelf.G.800 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_import_instance.carbon @@ -806,7 +806,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: %Main.import_ref.a85b8b.2: %Instance.type = import_ref Main//lib, loc11_20, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %Main.import_ref.2cd = import_ref Main//lib, loc11_20, unloaded // CHECK:STDOUT: %Main.import_ref.b3c: @Instance.WithSelf.%Instance.WithSelf.G.type (%Instance.WithSelf.G.type) = import_ref Main//lib, loc12_13, loaded [symbolic = @Instance.WithSelf.%Instance.WithSelf.G (constants.%Instance.WithSelf.G)] -// CHECK:STDOUT: %Main.import_ref.e22 = import_ref Main//lib, loc15_27, unloaded +// CHECK:STDOUT: %Main.import_ref.fa7 = import_ref Main//lib, loc15_27, unloaded // CHECK:STDOUT: %Main.import_ref.c9a: type = import_ref Main//lib, loc15_13, loaded [concrete = constants.%struct_type.i] // CHECK:STDOUT: %Main.import_ref.fd3: type = import_ref Main//lib, loc15_18, loaded [concrete = constants.%Instance.type] // CHECK:STDOUT: } @@ -834,7 +834,7 @@ fn InstanceCallImportFail() { // CHECK:STDOUT: // CHECK:STDOUT: impl @struct_type.i.as.Instance.impl: imports.%Main.import_ref.c9a as imports.%Main.import_ref.fd3 [from "lib.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.e22 +// CHECK:STDOUT: witness = imports.%Main.import_ref.fa7 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @InstanceCallImportFail() { diff --git a/toolchain/check/testdata/impl/import_extend_impl.carbon b/toolchain/check/testdata/impl/import_extend_impl.carbon index d0b24472849e..966ed23a8259 100644 --- a/toolchain/check/testdata/impl/import_extend_impl.carbon +++ b/toolchain/check/testdata/impl/import_extend_impl.carbon @@ -52,8 +52,8 @@ fn G(c: C) { // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.064: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.513: %I.WithSelf.F.type.064 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.372: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.d46: %I.WithSelf.F.type.372 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: } @@ -130,8 +130,8 @@ fn G(c: C) { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.064 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.513 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.372 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.d46 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet) {} @@ -160,9 +160,9 @@ fn G(c: C) { // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.9f7 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.e61: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.aba: %I.WithSelf.F.type.e61 = struct_value () [concrete] -// CHECK:STDOUT: %.92e: type = fn_type_with_self_type %I.WithSelf.F.type.e61, %I.facet [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.03f: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.b7f: %I.WithSelf.F.type.03f = struct_value () [concrete] +// CHECK:STDOUT: %.77f: type = fn_type_with_self_type %I.WithSelf.F.type.03f, %I.facet [concrete] // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -178,7 +178,7 @@ fn G(c: C) { // CHECK:STDOUT: %Main.import_ref.e59c42.2: %I.type = import_ref Main//extend_impl_library, loc4_13, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %Main.import_ref.223 = import_ref Main//extend_impl_library, loc4_13, unloaded // CHECK:STDOUT: %Main.import_ref.9f7: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type.418) = import_ref Main//extend_impl_library, loc5_9, loaded [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F.ca5)] -// CHECK:STDOUT: %Main.import_ref.255: = import_ref Main//extend_impl_library, loc9_20, loaded [concrete = constants.%I.impl_witness] +// CHECK:STDOUT: %Main.import_ref.62f: = import_ref Main//extend_impl_library, loc9_20, loaded [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %Main.import_ref.5dc: type = import_ref Main//extend_impl_library, loc9_15, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.c3f793.2: type = import_ref Main//extend_impl_library, loc9_18, loaded [concrete = constants.%I.type] // CHECK:STDOUT: %Main.import_ref.62a: %C.as.I.impl.F.type = import_ref Main//extend_impl_library, loc10_12, loaded [concrete = constants.%C.as.I.impl.F] @@ -213,7 +213,7 @@ fn G(c: C) { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.I.impl: imports.%Main.import_ref.5dc as imports.%Main.import_ref.c3f793.2 [from "extend_impl_library.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.255 +// CHECK:STDOUT: witness = imports.%Main.import_ref.62f // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C [from "extend_impl_library.carbon"] { @@ -229,11 +229,11 @@ fn G(c: C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %F.ref.loc7: %I.assoc_type = name_ref F, imports.%Main.import_ref.1b3 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0.loc7: %.92e = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] +// CHECK:STDOUT: %impl.elem0.loc7: %.77f = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] // CHECK:STDOUT: %C.as.I.impl.F.call.loc7: init %empty_tuple.type = call %impl.elem0.loc7() // CHECK:STDOUT: %c.ref: %C = name_ref c, %c // CHECK:STDOUT: %F.ref.loc8: %I.assoc_type = name_ref F, imports.%Main.import_ref.1b3 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0.loc8: %.92e = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] +// CHECK:STDOUT: %impl.elem0.loc8: %.77f = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] // CHECK:STDOUT: %C.as.I.impl.F.call.loc8: init %empty_tuple.type = call %impl.elem0.loc8() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -263,7 +263,7 @@ fn G(c: C) { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.e61 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.aba +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.03f +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.b7f // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/import_generic.carbon b/toolchain/check/testdata/impl/import_generic.carbon index 7e0a456da66a..25cbf23f17e0 100644 --- a/toolchain/check/testdata/impl/import_generic.carbon +++ b/toolchain/check/testdata/impl/import_generic.carbon @@ -908,16 +908,16 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %I.type.3fe: type = facet_type <@I, @I(%T)> [symbolic] // CHECK:STDOUT: %Self.191: %I.type.3fe = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %.ece: = impl_self_witness %C, @I, @I(%T) [symbolic] -// CHECK:STDOUT: %I.impl_witness.fb7: = impl_witness @C.as.I.impl.da9.%I.impl_witness_table, @C.as.I.impl.da9(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.51e: = impl_witness @C.as.I.impl.da9.%I.impl_witness_table, @C.as.I.impl.da9(%T) [symbolic] // CHECK:STDOUT: %require_complete.45e: = require_complete_type %I.type.3fe [symbolic] -// CHECK:STDOUT: %I.facet.0de: %I.type.3fe = facet_value %C, (%I.impl_witness.fb7) [symbolic] +// CHECK:STDOUT: %I.facet.77c: %I.type.3fe = facet_value %C, (%I.impl_witness.51e) [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %I.type.a76: type = facet_type <@I, @I(%ptr)> [symbolic] // CHECK:STDOUT: %.5ab: = impl_self_witness %C, @I, @I(%ptr) [symbolic] -// CHECK:STDOUT: %I.impl_witness.0d7: = impl_witness @C.as.I.impl.982.%I.impl_witness_table, @C.as.I.impl.982(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.7a8: = impl_witness @C.as.I.impl.982.%I.impl_witness_table, @C.as.I.impl.982(%T) [symbolic] // CHECK:STDOUT: %Self.0ef: %I.type.a76 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %require_complete.078: = require_complete_type %I.type.a76 [symbolic] -// CHECK:STDOUT: %I.facet.c1f: %I.type.a76 = facet_value %C, (%I.impl_witness.0d7) [symbolic] +// CHECK:STDOUT: %I.facet.0b6: %I.type.a76 = facet_value %C, (%I.impl_witness.7a8) [symbolic] // CHECK:STDOUT: %N.type.b76: type = generic_named_constaint_type @N [concrete] // CHECK:STDOUT: %empty_struct: %N.type.b76 = struct_value () [concrete] // CHECK:STDOUT: %N.type.d68: type = facet_type <@N, @N(%T)> [symbolic] @@ -1066,14 +1066,14 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.loc8_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc8_31.2: type = facet_type <@I, @I(%T.loc8_15.2)> [symbolic = %I.type.loc8_31.2 (constants.%I.type.3fe)] // CHECK:STDOUT: %.loc8_32: = impl_self_witness constants.%C, @I, @I(%T.loc8_15.2) [symbolic = %.loc8_32 (constants.%.ece)] -// CHECK:STDOUT: %I.impl_witness.loc8_32.2: = impl_witness %I.impl_witness_table, @C.as.I.impl.da9(%T.loc8_15.2) [symbolic = %I.impl_witness.loc8_32.2 (constants.%I.impl_witness.fb7)] +// CHECK:STDOUT: %I.impl_witness.loc8_32.2: = impl_witness %I.impl_witness_table, @C.as.I.impl.da9(%T.loc8_15.2) [symbolic = %I.impl_witness.loc8_32.2 (constants.%I.impl_witness.51e)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc8_31.2 [symbolic = %require_complete (constants.%require_complete.45e)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.ref.loc8 as %I.type.loc8_31.1 { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.da9 [concrete] -// CHECK:STDOUT: %I.impl_witness.loc8_32.1: = impl_witness %I.impl_witness_table, @C.as.I.impl.da9(constants.%T) [symbolic = %I.impl_witness.loc8_32.2 (constants.%I.impl_witness.fb7)] +// CHECK:STDOUT: %I.impl_witness.loc8_32.1: = impl_witness %I.impl_witness_table, @C.as.I.impl.da9(constants.%T) [symbolic = %I.impl_witness.loc8_32.2 (constants.%I.impl_witness.51e)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %I.type.loc8_31.1 @@ -1087,14 +1087,14 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc12_31.2: type = ptr_type %T.loc12_15.2 [symbolic = %ptr.loc12_31.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc12_32.2: type = facet_type <@I, @I(%ptr.loc12_31.2)> [symbolic = %I.type.loc12_32.2 (constants.%I.type.a76)] // CHECK:STDOUT: %.loc12_34: = impl_self_witness constants.%C, @I, @I(%ptr.loc12_31.2) [symbolic = %.loc12_34 (constants.%.5ab)] -// CHECK:STDOUT: %I.impl_witness.loc12_34.2: = impl_witness %I.impl_witness_table, @C.as.I.impl.982(%T.loc12_15.2) [symbolic = %I.impl_witness.loc12_34.2 (constants.%I.impl_witness.0d7)] +// CHECK:STDOUT: %I.impl_witness.loc12_34.2: = impl_witness %I.impl_witness_table, @C.as.I.impl.982(%T.loc12_15.2) [symbolic = %I.impl_witness.loc12_34.2 (constants.%I.impl_witness.7a8)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc12_32.2 [symbolic = %require_complete (constants.%require_complete.078)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.ref as %I.type.loc12_32.1 { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.982 [concrete] -// CHECK:STDOUT: %I.impl_witness.loc12_34.1: = impl_witness %I.impl_witness_table, @C.as.I.impl.982(constants.%T) [symbolic = %I.impl_witness.loc12_34.2 (constants.%I.impl_witness.0d7)] +// CHECK:STDOUT: %I.impl_witness.loc12_34.1: = impl_witness %I.impl_witness_table, @C.as.I.impl.982(constants.%T) [symbolic = %I.impl_witness.loc12_34.2 (constants.%I.impl_witness.7a8)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %I.type.loc12_32.1 @@ -1128,10 +1128,10 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.loc8_15.2 => constants.%T // CHECK:STDOUT: %I.type.loc8_31.2 => constants.%I.type.3fe // CHECK:STDOUT: %.loc8_32 => constants.%.ece -// CHECK:STDOUT: %I.impl_witness.loc8_32.2 => constants.%I.impl_witness.fb7 +// CHECK:STDOUT: %I.impl_witness.loc8_32.2 => constants.%I.impl_witness.51e // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%T, constants.%I.facet.0de) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%T, constants.%I.facet.77c) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1150,14 +1150,14 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc12_31.2 => constants.%ptr // CHECK:STDOUT: %I.type.loc12_32.2 => constants.%I.type.a76 // CHECK:STDOUT: %.loc12_34 => constants.%.5ab -// CHECK:STDOUT: %I.impl_witness.loc12_34.2 => constants.%I.impl_witness.0d7 +// CHECK:STDOUT: %I.impl_witness.loc12_34.2 => constants.%I.impl_witness.7a8 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf(constants.%ptr, constants.%Self.191) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%ptr, constants.%I.facet.c1f) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%ptr, constants.%I.facet.0b6) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1190,13 +1190,13 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %.ece: = impl_self_witness %C, @I, @I(%T) [symbolic] -// CHECK:STDOUT: %I.impl_witness.17f: = impl_witness imports.%I.impl_witness_table.c49, @C.as.I.impl.119(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.66f: = impl_witness imports.%I.impl_witness_table.5a9, @C.as.I.impl.119(%T) [symbolic] // CHECK:STDOUT: %require_complete.45e: = require_complete_type %I.type.3fe [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %.5ab: = impl_self_witness %C, @I, @I(%ptr) [symbolic] // CHECK:STDOUT: %I.type.a76: type = facet_type <@I, @I(%ptr)> [symbolic] // CHECK:STDOUT: %Self.74c: %I.type.a76 = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %I.impl_witness.b8e: = impl_witness imports.%I.impl_witness_table.78a, @C.as.I.impl.238(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.500: = impl_witness imports.%I.impl_witness_table.6bd, @C.as.I.impl.238(%T) [symbolic] // CHECK:STDOUT: %require_complete.078: = require_complete_type %I.type.a76 [symbolic] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] @@ -1215,16 +1215,16 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %Main.N: %N.type.b76 = import_ref Main//import_generic, N, loaded [concrete = constants.%empty_struct] // CHECK:STDOUT: %Main.import_ref.a43 = import_ref Main//import_generic, loc5_22, unloaded // CHECK:STDOUT: %Main.import_ref.b3bc94.2: type = import_ref Main//import_generic, loc5_14, loaded [symbolic = @I.%T (constants.%T)] -// CHECK:STDOUT: %Main.import_ref.c0d = import_ref Main//import_generic, loc8_32, unloaded +// CHECK:STDOUT: %Main.import_ref.3f8 = import_ref Main//import_generic, loc8_32, unloaded // CHECK:STDOUT: %Main.import_ref.8f2: = import_ref Main//import_generic, loc4_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.e47 = import_ref Main//import_generic, inst{{[0-9A-F]+}} [no loc], unloaded -// CHECK:STDOUT: %I.impl_witness_table.c49 = impl_witness_table (), @C.as.I.impl.119 [concrete] +// CHECK:STDOUT: %I.impl_witness_table.5a9 = impl_witness_table (), @C.as.I.impl.119 [concrete] // CHECK:STDOUT: %Main.import_ref.335f1c.1: type = import_ref Main//import_generic, loc8_23, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.e015f6.1: type = import_ref Main//import_generic, loc8_31, loaded [symbolic = @C.as.I.impl.119.%I.type (constants.%I.type.3fe)] // CHECK:STDOUT: %Main.import_ref.e87 = import_ref Main//import_generic, loc8_31, unloaded // CHECK:STDOUT: %Main.import_ref.b3bc94.3: type = import_ref Main//import_generic, loc8_15, loaded [symbolic = @C.as.I.impl.119.%T (constants.%T)] -// CHECK:STDOUT: %Main.import_ref.496 = import_ref Main//import_generic, loc12_34, unloaded -// CHECK:STDOUT: %I.impl_witness_table.78a = impl_witness_table (), @C.as.I.impl.238 [concrete] +// CHECK:STDOUT: %Main.import_ref.766 = import_ref Main//import_generic, loc12_34, unloaded +// CHECK:STDOUT: %I.impl_witness_table.6bd = impl_witness_table (), @C.as.I.impl.238 [concrete] // CHECK:STDOUT: %Main.import_ref.335f1c.2: type = import_ref Main//import_generic, loc12_23, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.a08: type = import_ref Main//import_generic, loc12_32, loaded [symbolic = @C.as.I.impl.238.%I.type (constants.%I.type.a76)] // CHECK:STDOUT: %Main.import_ref.891 = import_ref Main//import_generic, loc12_32, unloaded @@ -1385,7 +1385,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T)> [symbolic = %I.type (constants.%I.type.3fe)] // CHECK:STDOUT: %.1: = impl_self_witness constants.%C, @I, @I(%T) [symbolic = %.1 (constants.%.ece)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table.c49, @C.as.I.impl.119(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.17f)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table.5a9, @C.as.I.impl.119(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.66f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.45e)] @@ -1393,7 +1393,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: impl: imports.%Main.import_ref.335f1c.1 as imports.%Main.import_ref.e015f6.1 { // CHECK:STDOUT: !members: // CHECK:STDOUT: extend imports.%Main.import_ref.e87 -// CHECK:STDOUT: witness = imports.%Main.import_ref.c0d +// CHECK:STDOUT: witness = imports.%Main.import_ref.3f8 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1403,7 +1403,7 @@ impl forall [T: type] D as N(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.a76)] // CHECK:STDOUT: %.1: = impl_self_witness constants.%C, @I, @I(%ptr) [symbolic = %.1 (constants.%.5ab)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table.78a, @C.as.I.impl.238(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.b8e)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table.6bd, @C.as.I.impl.238(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.500)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.078)] @@ -1411,7 +1411,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: impl: imports.%Main.import_ref.335f1c.2 as imports.%Main.import_ref.a08 { // CHECK:STDOUT: !members: // CHECK:STDOUT: extend imports.%Main.import_ref.891 -// CHECK:STDOUT: witness = imports.%Main.import_ref.496 +// CHECK:STDOUT: witness = imports.%Main.import_ref.766 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1509,7 +1509,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %I.type => constants.%I.type.3fe // CHECK:STDOUT: %.1 => constants.%.ece -// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.17f +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.66f // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I(constants.%ptr) { @@ -1527,7 +1527,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr => constants.%ptr // CHECK:STDOUT: %I.type => constants.%I.type.a76 // CHECK:STDOUT: %.1 => constants.%.5ab -// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.b8e +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.500 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.I.impl.da9cee.1(constants.%T) { @@ -1840,17 +1840,17 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %.ece: = impl_self_witness %C, @I, @I(%T) [symbolic] -// CHECK:STDOUT: %I.impl_witness.17f: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl.119(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.66f: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl.119(%T) [symbolic] // CHECK:STDOUT: %require_complete.45e: = require_complete_type %I.type.3fe [symbolic] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T [symbolic] // CHECK:STDOUT: %I.type.a76: type = facet_type <@I, @I(%ptr.e8f)> [symbolic] // CHECK:STDOUT: %.5ab: = impl_self_witness %C, @I, @I(%ptr.e8f) [symbolic] -// CHECK:STDOUT: %I.impl_witness.0d7: = impl_witness @C.as.I.impl.982.%I.impl_witness_table, @C.as.I.impl.982(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.7a8: = impl_witness @C.as.I.impl.982.%I.impl_witness_table, @C.as.I.impl.982(%T) [symbolic] // CHECK:STDOUT: %Self.74c: %I.type.a76 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %require_complete.078: = require_complete_type %I.type.a76 [symbolic] -// CHECK:STDOUT: %I.facet.c1f: %I.type.a76 = facet_value %C, (%I.impl_witness.0d7) [symbolic] +// CHECK:STDOUT: %I.facet.0b6: %I.type.a76 = facet_value %C, (%I.impl_witness.7a8) [symbolic] // CHECK:STDOUT: %N.type.b76: type = generic_named_constaint_type @N [concrete] // CHECK:STDOUT: %empty_struct: %N.type.b76 = struct_value () [concrete] // CHECK:STDOUT: %N.type.d682d6.1: type = facet_type <@N, @N(%T)> [symbolic] @@ -1862,10 +1862,10 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %I.type.0a0: type = facet_type <@I, @I(%ptr.125)> [symbolic] // CHECK:STDOUT: %require_complete.6fb: = require_complete_type %I.type.0a0 [symbolic] // CHECK:STDOUT: %.d9e: = impl_self_witness %C, @I, @I(%ptr.125) [symbolic] -// CHECK:STDOUT: %I.impl_witness.b48: = impl_witness @C.as.I.impl.042.%I.impl_witness_table, @C.as.I.impl.042(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.6e9: = impl_witness @C.as.I.impl.042.%I.impl_witness_table, @C.as.I.impl.042(%T) [symbolic] // CHECK:STDOUT: %Self.e1f642.2: %N.type.d682d6.2 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %require_complete.533: = require_complete_type %N.type.d682d6.2 [symbolic] -// CHECK:STDOUT: %I.facet.e2e: %I.type.0a0 = facet_value %C, (%I.impl_witness.b48) [symbolic] +// CHECK:STDOUT: %I.facet.e71: %I.type.0a0 = facet_value %C, (%I.impl_witness.6e9) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1874,7 +1874,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %Main.N: %N.type.b76 = import_ref Main//import_generic_with_different_specific, N, loaded [concrete = constants.%empty_struct] // CHECK:STDOUT: %Main.import_ref.a43 = import_ref Main//import_generic_with_different_specific, loc5_22, unloaded // CHECK:STDOUT: %Main.import_ref.b3bc94.2: type = import_ref Main//import_generic_with_different_specific, loc5_14, loaded [symbolic = @I.%T (constants.%T)] -// CHECK:STDOUT: %Main.import_ref.c0d = import_ref Main//import_generic_with_different_specific, loc7_33, unloaded +// CHECK:STDOUT: %Main.import_ref.3f8 = import_ref Main//import_generic_with_different_specific, loc7_33, unloaded // CHECK:STDOUT: %Main.import_ref.8f2: = import_ref Main//import_generic_with_different_specific, loc4_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.e47 = import_ref Main//import_generic_with_different_specific, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.119 [concrete] @@ -1982,7 +1982,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T)> [symbolic = %I.type (constants.%I.type.3fe)] // CHECK:STDOUT: %.1: = impl_self_witness constants.%C, @I, @I(%T) [symbolic = %.1 (constants.%.ece)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl.119(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.17f)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl.119(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.66f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.45e)] @@ -1990,7 +1990,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: impl: imports.%Main.import_ref.335 as imports.%Main.import_ref.e015f6.1 { // CHECK:STDOUT: !members: // CHECK:STDOUT: extend imports.%Main.import_ref.e87 -// CHECK:STDOUT: witness = imports.%Main.import_ref.c0d +// CHECK:STDOUT: witness = imports.%Main.import_ref.3f8 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2000,14 +2000,14 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc5_31.2: type = ptr_type %T.loc5_15.2 [symbolic = %ptr.loc5_31.2 (constants.%ptr.e8f)] // CHECK:STDOUT: %I.type.loc5_32.2: type = facet_type <@I, @I(%ptr.loc5_31.2)> [symbolic = %I.type.loc5_32.2 (constants.%I.type.a76)] // CHECK:STDOUT: %.loc5_34: = impl_self_witness constants.%C, @I, @I(%ptr.loc5_31.2) [symbolic = %.loc5_34 (constants.%.5ab)] -// CHECK:STDOUT: %I.impl_witness.loc5_34.2: = impl_witness %I.impl_witness_table, @C.as.I.impl.982(%T.loc5_15.2) [symbolic = %I.impl_witness.loc5_34.2 (constants.%I.impl_witness.0d7)] +// CHECK:STDOUT: %I.impl_witness.loc5_34.2: = impl_witness %I.impl_witness_table, @C.as.I.impl.982(%T.loc5_15.2) [symbolic = %I.impl_witness.loc5_34.2 (constants.%I.impl_witness.7a8)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc5_32.2 [symbolic = %require_complete (constants.%require_complete.078)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.ref as %I.type.loc5_32.1 { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.982 [concrete] -// CHECK:STDOUT: %I.impl_witness.loc5_34.1: = impl_witness %I.impl_witness_table, @C.as.I.impl.982(constants.%T) [symbolic = %I.impl_witness.loc5_34.2 (constants.%I.impl_witness.0d7)] +// CHECK:STDOUT: %I.impl_witness.loc5_34.1: = impl_witness %I.impl_witness_table, @C.as.I.impl.982(constants.%T) [symbolic = %I.impl_witness.loc5_34.2 (constants.%I.impl_witness.7a8)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %I.type.loc5_32.1 @@ -2022,14 +2022,14 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc6_32.2: type = ptr_type %ptr.loc6_31.2 [symbolic = %ptr.loc6_32.2 (constants.%ptr.125)] // CHECK:STDOUT: %N.type.loc6_33.2: type = facet_type <@N, @N(%ptr.loc6_32.2)> [symbolic = %N.type.loc6_33.2 (constants.%N.type.d682d6.2)] // CHECK:STDOUT: %.loc6_35: = impl_self_witness constants.%C, @I, @I(%ptr.loc6_32.2) [symbolic = %.loc6_35 (constants.%.d9e)] -// CHECK:STDOUT: %I.impl_witness.loc6_35.2: = impl_witness %I.impl_witness_table, @C.as.I.impl.042(%T.loc6_15.2) [symbolic = %I.impl_witness.loc6_35.2 (constants.%I.impl_witness.b48)] +// CHECK:STDOUT: %I.impl_witness.loc6_35.2: = impl_witness %I.impl_witness_table, @C.as.I.impl.042(%T.loc6_15.2) [symbolic = %I.impl_witness.loc6_35.2 (constants.%I.impl_witness.6e9)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %N.type.loc6_33.2 [symbolic = %require_complete (constants.%require_complete.533)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.ref as %N.type.loc6_33.1 { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.042 [concrete] -// CHECK:STDOUT: %I.impl_witness.loc6_35.1: = impl_witness %I.impl_witness_table, @C.as.I.impl.042(constants.%T) [symbolic = %I.impl_witness.loc6_35.2 (constants.%I.impl_witness.b48)] +// CHECK:STDOUT: %I.impl_witness.loc6_35.1: = impl_witness %I.impl_witness_table, @C.as.I.impl.042(constants.%T) [symbolic = %I.impl_witness.loc6_35.2 (constants.%I.impl_witness.6e9)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %N.type.loc6_33.1 @@ -2062,7 +2062,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %I.type => constants.%I.type.3fe // CHECK:STDOUT: %.1 => constants.%.ece -// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.17f +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.66f // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I(constants.%ptr.e8f) { @@ -2080,14 +2080,14 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc5_31.2 => constants.%ptr.e8f // CHECK:STDOUT: %I.type.loc5_32.2 => constants.%I.type.a76 // CHECK:STDOUT: %.loc5_34 => constants.%.5ab -// CHECK:STDOUT: %I.impl_witness.loc5_34.2 => constants.%I.impl_witness.0d7 +// CHECK:STDOUT: %I.impl_witness.loc5_34.2 => constants.%I.impl_witness.7a8 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf(constants.%ptr.e8f, constants.%Self.a67) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%ptr.e8f, constants.%I.facet.c1f) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%ptr.e8f, constants.%I.facet.0b6) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2142,7 +2142,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc6_32.2 => constants.%ptr.125 // CHECK:STDOUT: %N.type.loc6_33.2 => constants.%N.type.d682d6.2 // CHECK:STDOUT: %.loc6_35 => constants.%.d9e -// CHECK:STDOUT: %I.impl_witness.loc6_35.2 => constants.%I.impl_witness.b48 +// CHECK:STDOUT: %I.impl_witness.loc6_35.2 => constants.%I.impl_witness.6e9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @N.WithSelf(constants.%ptr.125, constants.%Self.e1f642.1) { @@ -2152,7 +2152,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %require_complete => constants.%require_complete.6fb // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%ptr.125, constants.%I.facet.e2e) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%ptr.125, constants.%I.facet.e71) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2177,11 +2177,11 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %Self.22b: %N.type.d68 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.22b [symbolic] // CHECK:STDOUT: %.1a5: = impl_self_witness %D, @J, @J(%T) [symbolic] -// CHECK:STDOUT: %J.impl_witness.7d7: = impl_witness @D.as.J.impl.5a5.%J.impl_witness_table, @D.as.J.impl.5a5(%T) [symbolic] +// CHECK:STDOUT: %J.impl_witness.669: = impl_witness @D.as.J.impl.5a5.%J.impl_witness_table, @D.as.J.impl.5a5(%T) [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %J.type.c71: type = facet_type <@J, @J(%ptr)> [symbolic] // CHECK:STDOUT: %.7a3: = impl_self_witness %D, @J, @J(%ptr) [symbolic] -// CHECK:STDOUT: %J.impl_witness.4af: = impl_witness @D.as.J.impl.101.%J.impl_witness_table, @D.as.J.impl.101(%T) [symbolic] +// CHECK:STDOUT: %J.impl_witness.ee0: = impl_witness @D.as.J.impl.101.%J.impl_witness_table, @D.as.J.impl.101(%T) [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -2311,7 +2311,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.loc15_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_15.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc15_31.2: type = facet_type <@J, @J(%T.loc15_15.2)> [symbolic = %J.type.loc15_31.2 (constants.%J.type.5c8)] // CHECK:STDOUT: %.loc15_32: = impl_self_witness constants.%D, @J, @J(%T.loc15_15.2) [symbolic = %.loc15_32 (constants.%.1a5)] -// CHECK:STDOUT: %J.impl_witness.loc15_32.2: = impl_witness %J.impl_witness_table, @D.as.J.impl.5a5(%T.loc15_15.2) [symbolic = %J.impl_witness.loc15_32.2 (constants.%J.impl_witness.7d7)] +// CHECK:STDOUT: %J.impl_witness.loc15_32.2: = impl_witness %J.impl_witness_table, @D.as.J.impl.5a5(%T.loc15_15.2) [symbolic = %J.impl_witness.loc15_32.2 (constants.%J.impl_witness.669)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %D.ref as %J.type.loc15_31.1; // CHECK:STDOUT: } @@ -2322,7 +2322,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc21_31.2: type = ptr_type %T.loc21_15.2 [symbolic = %ptr.loc21_31.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc21_32.2: type = facet_type <@J, @J(%ptr.loc21_31.2)> [symbolic = %J.type.loc21_32.2 (constants.%J.type.c71)] // CHECK:STDOUT: %.loc21_33: = impl_self_witness constants.%D, @J, @J(%ptr.loc21_31.2) [symbolic = %.loc21_33 (constants.%.7a3)] -// CHECK:STDOUT: %J.impl_witness.loc21_33.2: = impl_witness %J.impl_witness_table, @D.as.J.impl.101(%T.loc21_15.2) [symbolic = %J.impl_witness.loc21_33.2 (constants.%J.impl_witness.4af)] +// CHECK:STDOUT: %J.impl_witness.loc21_33.2: = impl_witness %J.impl_witness_table, @D.as.J.impl.101(%T.loc21_15.2) [symbolic = %J.impl_witness.loc21_33.2 (constants.%J.impl_witness.ee0)] // CHECK:STDOUT: // CHECK:STDOUT: impl: %D.ref as %J.type.loc21_32.1; // CHECK:STDOUT: } @@ -2368,7 +2368,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T.loc15_15.2 => constants.%T // CHECK:STDOUT: %J.type.loc15_31.2 => constants.%J.type.5c8 // CHECK:STDOUT: %.loc15_32 => constants.%.1a5 -// CHECK:STDOUT: %J.impl_witness.loc15_32.2 => constants.%J.impl_witness.7d7 +// CHECK:STDOUT: %J.impl_witness.loc15_32.2 => constants.%J.impl_witness.669 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @J(constants.%ptr) { @@ -2382,7 +2382,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc21_31.2 => constants.%ptr // CHECK:STDOUT: %J.type.loc21_32.2 => constants.%J.type.c71 // CHECK:STDOUT: %.loc21_33 => constants.%.7a3 -// CHECK:STDOUT: %J.impl_witness.loc21_33.2 => constants.%J.impl_witness.4af +// CHECK:STDOUT: %J.impl_witness.loc21_33.2 => constants.%J.impl_witness.ee0 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_import_generic_decl.impl.carbon @@ -2399,11 +2399,11 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %.1a5: = impl_self_witness %D, @J, @J(%T) [symbolic] -// CHECK:STDOUT: %J.impl_witness.699: = impl_witness imports.%J.impl_witness_table.a64, @D.as.J.impl.bdb(%T) [symbolic] +// CHECK:STDOUT: %J.impl_witness.cb2: = impl_witness imports.%J.impl_witness_table.494, @D.as.J.impl.bdb(%T) [symbolic] // CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic] // CHECK:STDOUT: %.7a3: = impl_self_witness %D, @J, @J(%ptr) [symbolic] // CHECK:STDOUT: %J.type.c71: type = facet_type <@J, @J(%ptr)> [symbolic] -// CHECK:STDOUT: %J.impl_witness.73b: = impl_witness imports.%J.impl_witness_table.93d, @D.as.J.impl.fa6(%T) [symbolic] +// CHECK:STDOUT: %J.impl_witness.90a: = impl_witness imports.%J.impl_witness_table.dd7, @D.as.J.impl.fa6(%T) [symbolic] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %N.type.b76: type = generic_named_constaint_type @N [concrete] @@ -2425,11 +2425,11 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %Main.import_ref.b3bc94.2: type = import_ref Main//import_generic_decl, loc5_14, loaded [symbolic = @J.%T (constants.%T)] // CHECK:STDOUT: %Main.import_ref.8f2: = import_ref Main//import_generic_decl, loc4_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.54a = import_ref Main//import_generic_decl, inst{{[0-9A-F]+}} [no loc], unloaded -// CHECK:STDOUT: %J.impl_witness_table.a64 = impl_witness_table (), @D.as.J.impl.bdb [concrete] +// CHECK:STDOUT: %J.impl_witness_table.494 = impl_witness_table (), @D.as.J.impl.bdb [concrete] // CHECK:STDOUT: %Main.import_ref.2e2cf0.1: type = import_ref Main//import_generic_decl, loc15_23, loaded [concrete = constants.%D] // CHECK:STDOUT: %Main.import_ref.1936e1.1: type = import_ref Main//import_generic_decl, loc15_31, loaded [symbolic = @D.as.J.impl.bdb.%J.type (constants.%J.type.5c8)] // CHECK:STDOUT: %Main.import_ref.b3bc94.3: type = import_ref Main//import_generic_decl, loc15_15, loaded [symbolic = @D.as.J.impl.bdb.%T (constants.%T)] -// CHECK:STDOUT: %J.impl_witness_table.93d = impl_witness_table (), @D.as.J.impl.fa6 [concrete] +// CHECK:STDOUT: %J.impl_witness_table.dd7 = impl_witness_table (), @D.as.J.impl.fa6 [concrete] // CHECK:STDOUT: %Main.import_ref.2e2cf0.2: type = import_ref Main//import_generic_decl, loc21_23, loaded [concrete = constants.%D] // CHECK:STDOUT: %Main.import_ref.5a0: type = import_ref Main//import_generic_decl, loc21_32, loaded [symbolic = @D.as.J.impl.fa6.%J.type (constants.%J.type.c71)] // CHECK:STDOUT: %Main.import_ref.b3bc94.4: type = import_ref Main//import_generic_decl, loc21_15, loaded [symbolic = @D.as.J.impl.fa6.%T (constants.%T)] @@ -2589,7 +2589,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %J.type: type = facet_type <@J, @J(%T)> [symbolic = %J.type (constants.%J.type.5c8)] // CHECK:STDOUT: %.1: = impl_self_witness constants.%D, @J, @J(%T) [symbolic = %.1 (constants.%.1a5)] -// CHECK:STDOUT: %J.impl_witness: = impl_witness imports.%J.impl_witness_table.a64, @D.as.J.impl.bdb(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.699)] +// CHECK:STDOUT: %J.impl_witness: = impl_witness imports.%J.impl_witness_table.494, @D.as.J.impl.bdb(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.cb2)] // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.2e2cf0.1 as imports.%Main.import_ref.1936e1.1; // CHECK:STDOUT: } @@ -2600,7 +2600,7 @@ impl forall [T: type] D as N(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.c71)] // CHECK:STDOUT: %.1: = impl_self_witness constants.%D, @J, @J(%ptr) [symbolic = %.1 (constants.%.7a3)] -// CHECK:STDOUT: %J.impl_witness: = impl_witness imports.%J.impl_witness_table.93d, @D.as.J.impl.fa6(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.73b)] +// CHECK:STDOUT: %J.impl_witness: = impl_witness imports.%J.impl_witness_table.dd7, @D.as.J.impl.fa6(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.90a)] // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.2e2cf0.2 as imports.%Main.import_ref.5a0; // CHECK:STDOUT: } @@ -2711,7 +2711,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %J.type => constants.%J.type.5c8 // CHECK:STDOUT: %.1 => constants.%.1a5 -// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.699 +// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.cb2 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @J(constants.%ptr) { @@ -2725,7 +2725,7 @@ impl forall [T: type] D as N(T*) {} // CHECK:STDOUT: %ptr => constants.%ptr // CHECK:STDOUT: %J.type => constants.%J.type.c71 // CHECK:STDOUT: %.1 => constants.%.7a3 -// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.73b +// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.90a // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @D.as.J.impl.5a5643.1(constants.%T) { diff --git a/toolchain/check/testdata/impl/import_interface_assoc_const.carbon b/toolchain/check/testdata/impl/import_interface_assoc_const.carbon index 70ae5c95c866..dbc92a65881b 100644 --- a/toolchain/check/testdata/impl/import_interface_assoc_const.carbon +++ b/toolchain/check/testdata/impl/import_interface_assoc_const.carbon @@ -552,8 +552,8 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: %.00f: = impl_self_witness %.Self, @I [symbolic_self] // CHECK:STDOUT: %impl.elem0.c0c: type = impl_witness_access %.00f, element0 [symbolic_self] // CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0.c0c = %empty_struct_type> [concrete] -// CHECK:STDOUT: %I.impl_witness.877: = impl_witness @C3.as.I.impl.a518fc.2.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %I.facet: %I.type = facet_value %C3, (%I.impl_witness.877) [concrete] +// CHECK:STDOUT: %I.impl_witness.e7ce0e.2: = impl_witness @C3.as.I.impl.a518fc.2.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %C3, (%I.impl_witness.e7ce0e.2) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -617,7 +617,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: // CHECK:STDOUT: impl @C3.as.I.impl.a518fc.2: %C3.ref as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @C3.as.I.impl.a518fc.2 [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.877] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.e7ce0e.2] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -668,8 +668,8 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: %.911: = impl_self_witness %C4, @I [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %I_where.type.d99: type = facet_type <@I where %impl.elem0.c0c = %empty_tuple.type> [concrete] -// CHECK:STDOUT: %I.impl_witness.4a9: = impl_witness @C4.as.I.impl.c5f663.2.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %I.facet: %I.type = facet_value %C4, (%I.impl_witness.4a9) [concrete] +// CHECK:STDOUT: %I.impl_witness.50654e.2: = impl_witness @C4.as.I.impl.c5f663.2.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %C4, (%I.impl_witness.50654e.2) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -749,7 +749,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: // CHECK:STDOUT: impl @C4.as.I.impl.c5f663.2: %C4.ref as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @C4.as.I.impl.c5f663.2 [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.4a9] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.50654e.2] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -976,8 +976,8 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: %impl.elem0.c0c: type = impl_witness_access %.00f, element0 [symbolic_self] // CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0.c0c = %empty_struct_type> [concrete] // CHECK:STDOUT: %.7ff: = impl_self_witness %C6, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.a68: = impl_witness @C6.as.I.impl.e1b87a.2.%I.impl_witness_table [concrete] -// CHECK:STDOUT: %I.facet: %I.type = facet_value %C6, (%I.impl_witness.a68) [concrete] +// CHECK:STDOUT: %I.impl_witness.5ea304.2: = impl_witness @C6.as.I.impl.e1b87a.2.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %C6, (%I.impl_witness.5ea304.2) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1041,7 +1041,7 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: // CHECK:STDOUT: impl @C6.as.I.impl.e1b87a.2: %C6.ref as %I.ref { // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C6.as.I.impl.e1b87a.2 [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.a68] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.5ea304.2] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %I.ref @@ -1798,8 +1798,8 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: %CD.as.IF.impl.F.type: type = fn_type @CD.as.IF.impl.F [concrete] // CHECK:STDOUT: %CD.as.IF.impl.F: %CD.as.IF.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %IF.facet: %IF.type = facet_value %CD, (%IF.impl_witness) [concrete] -// CHECK:STDOUT: %IF.WithSelf.F.type.41b: type = fn_type @IF.WithSelf.F, @IF.WithSelf(%IF.facet) [concrete] -// CHECK:STDOUT: %IF.WithSelf.F.24b: %IF.WithSelf.F.type.41b = struct_value () [concrete] +// CHECK:STDOUT: %IF.WithSelf.F.type.4f8: type = fn_type @IF.WithSelf.F, @IF.WithSelf(%IF.facet) [concrete] +// CHECK:STDOUT: %IF.WithSelf.F.742: %IF.WithSelf.F.type.4f8 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1898,8 +1898,8 @@ impl CD as IF where .F = 0 { // CHECK:STDOUT: specific @IF.WithSelf(constants.%IF.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%IF.facet -// CHECK:STDOUT: %IF.WithSelf.F.type => constants.%IF.WithSelf.F.type.41b -// CHECK:STDOUT: %IF.WithSelf.F => constants.%IF.WithSelf.F.24b +// CHECK:STDOUT: %IF.WithSelf.F.type => constants.%IF.WithSelf.F.type.4f8 +// CHECK:STDOUT: %IF.WithSelf.F => constants.%IF.WithSelf.F.742 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @IF.WithSelf.F(constants.%IF.facet) {} diff --git a/toolchain/check/testdata/impl/import_self.carbon b/toolchain/check/testdata/impl/import_self.carbon index d9d7314ea801..a45597f3e105 100644 --- a/toolchain/check/testdata/impl/import_self.carbon +++ b/toolchain/check/testdata/impl/import_self.carbon @@ -180,8 +180,8 @@ fn F(x: C, y: C) -> C { // CHECK:STDOUT: %C.as.Add.impl.Op.type: type = fn_type @C.as.Add.impl.Op [concrete] // CHECK:STDOUT: %C.as.Add.impl.Op: %C.as.Add.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Add.facet: %Add.type = facet_value %C, (%Add.impl_witness) [concrete] -// CHECK:STDOUT: %Add.WithSelf.Op.type.9f5: type = fn_type @Add.WithSelf.Op, @Add.WithSelf(%Add.facet) [concrete] -// CHECK:STDOUT: %Add.WithSelf.Op.196: %Add.WithSelf.Op.type.9f5 = struct_value () [concrete] +// CHECK:STDOUT: %Add.WithSelf.Op.type.314: type = fn_type @Add.WithSelf.Op, @Add.WithSelf(%Add.facet) [concrete] +// CHECK:STDOUT: %Add.WithSelf.Op.ddf: %Add.WithSelf.Op.type.314 = struct_value () [concrete] // CHECK:STDOUT: %return.patt.18a: %pattern_type.98b = return_slot_pattern %return.param_patt.89a, invalid [concrete] // CHECK:STDOUT: %empty_tuple.4db: %C = tuple_value () [concrete] // CHECK:STDOUT: %x.param_patt: %pattern_type.98b = value_param_pattern [concrete] @@ -192,7 +192,7 @@ fn F(x: C, y: C) -> C { // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %Add.assoc_type: type = assoc_entity_type @Add [concrete] // CHECK:STDOUT: %assoc0: %Add.assoc_type = assoc_entity element0, imports.%Main.import_ref.f19 [concrete] -// CHECK:STDOUT: %.698: type = fn_type_with_self_type %Add.WithSelf.Op.type.9f5, %Add.facet [concrete] +// CHECK:STDOUT: %.1d3: type = fn_type_with_self_type %Add.WithSelf.Op.type.314, %Add.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -329,7 +329,7 @@ fn F(x: C, y: C) -> C { // CHECK:STDOUT: %x.ref: %C = name_ref x, %x // CHECK:STDOUT: %Add.ref: type = name_ref Add, imports.%Main.Add [concrete = constants.%Add.type] // CHECK:STDOUT: %Op.ref: %Add.assoc_type = name_ref Op, imports.%Main.import_ref.d84 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.698 = impl_witness_access constants.%Add.impl_witness, element0 [concrete = constants.%C.as.Add.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.1d3 = impl_witness_access constants.%Add.impl_witness, element0 [concrete = constants.%C.as.Add.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %x.ref, %impl.elem0 // CHECK:STDOUT: %y.ref: %C = name_ref y, %y // CHECK:STDOUT: %C.as.Add.impl.Op.call: init %C = call %bound_method(%x.ref, %y.ref) @@ -359,8 +359,8 @@ fn F(x: C, y: C) -> C { // CHECK:STDOUT: specific @Add.WithSelf(constants.%Add.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Add.facet -// CHECK:STDOUT: %Add.WithSelf.Op.type => constants.%Add.WithSelf.Op.type.9f5 -// CHECK:STDOUT: %Add.WithSelf.Op => constants.%Add.WithSelf.Op.196 +// CHECK:STDOUT: %Add.WithSelf.Op.type => constants.%Add.WithSelf.Op.type.314 +// CHECK:STDOUT: %Add.WithSelf.Op => constants.%Add.WithSelf.Op.ddf // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Add.WithSelf.Op(constants.%Add.facet) { diff --git a/toolchain/check/testdata/impl/import_self_specific.carbon b/toolchain/check/testdata/impl/import_self_specific.carbon index 095689096408..5ebb8d827331 100644 --- a/toolchain/check/testdata/impl/import_self_specific.carbon +++ b/toolchain/check/testdata/impl/import_self_specific.carbon @@ -80,8 +80,8 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %.0ce: = impl_self_witness %U, @Z [symbolic] -// CHECK:STDOUT: %Z.impl_witness.4e2: = impl_witness @U.as.Z.impl.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic] -// CHECK:STDOUT: %Z.facet.156: %Z.type = facet_value %U, (%Z.impl_witness.4e2) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.bc3: = impl_witness @U.as.Z.impl.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic] +// CHECK:STDOUT: %Z.facet.6fa: %Z.type = facet_value %U, (%Z.impl_witness.bc3) [symbolic] // CHECK:STDOUT: %pattern_type.5d7: type = pattern_type %Z.type [concrete] // CHECK:STDOUT: %V.patt: %pattern_type.5d7 = symbolic_binding_pattern V, 0 [symbolic] // CHECK:STDOUT: %V: %Z.type = symbolic_binding V, 0 [symbolic] @@ -100,7 +100,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %as_type: type = facet_access_type %impl.elem0 [symbolic] // CHECK:STDOUT: %Z.lookup_impl_witness: = lookup_impl_witness %impl.elem0, @Z [symbolic] // CHECK:STDOUT: %.516: = impl_self_witness %as_type, @Z [symbolic] -// CHECK:STDOUT: %Z.impl_witness.5d1: = impl_witness @U.as.Z.impl.%Z.impl_witness_table, @U.as.Z.impl(%as_type) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.95f: = impl_witness @U.as.Z.impl.%Z.impl_witness_table, @U.as.Z.impl(%as_type) [symbolic] // CHECK:STDOUT: %.5b1: require_specific_def_type = require_specific_def @U.as.Z.impl(%as_type) [symbolic] // CHECK:STDOUT: %Z.facet.4d3: %Z.type = facet_value %as_type, (%Z.lookup_impl_witness) [symbolic] // CHECK:STDOUT: %C.e8d: type = class_type @C, @C(%Z.facet.4d3) [symbolic] @@ -240,13 +240,13 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %U.patt.loc9_15.2: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc9_15.2 (constants.%U.patt)] // CHECK:STDOUT: %U.loc9_15.2: type = symbolic_binding U, 0 [symbolic = %U.loc9_15.2 (constants.%U)] // CHECK:STDOUT: %.loc9_30: = impl_self_witness %U.loc9_15.2, @Z [symbolic = %.loc9_30 (constants.%.0ce)] -// CHECK:STDOUT: %Z.impl_witness.loc9_30.2: = impl_witness %Z.impl_witness_table, @U.as.Z.impl(%U.loc9_15.2) [symbolic = %Z.impl_witness.loc9_30.2 (constants.%Z.impl_witness.4e2)] +// CHECK:STDOUT: %Z.impl_witness.loc9_30.2: = impl_witness %Z.impl_witness_table, @U.as.Z.impl(%U.loc9_15.2) [symbolic = %Z.impl_witness.loc9_30.2 (constants.%Z.impl_witness.bc3)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %U.ref as %Z.ref { // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @U.as.Z.impl [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc9_30.1: = impl_witness %Z.impl_witness_table, @U.as.Z.impl(constants.%U) [symbolic = %Z.impl_witness.loc9_30.2 (constants.%Z.impl_witness.4e2)] +// CHECK:STDOUT: %Z.impl_witness.loc9_30.1: = impl_witness %Z.impl_witness_table, @U.as.Z.impl(constants.%U) [symbolic = %Z.impl_witness.loc9_30.2 (constants.%Z.impl_witness.bc3)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %Z.ref @@ -311,10 +311,10 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %U.patt.loc9_15.2 => constants.%U.patt // CHECK:STDOUT: %U.loc9_15.2 => constants.%U // CHECK:STDOUT: %.loc9_30 => constants.%.0ce -// CHECK:STDOUT: %Z.impl_witness.loc9_30.2 => constants.%Z.impl_witness.4e2 +// CHECK:STDOUT: %Z.impl_witness.loc9_30.2 => constants.%Z.impl_witness.bc3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.156) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet.6fa) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -329,7 +329,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %U.patt.loc9_15.2 => constants.%U.patt // CHECK:STDOUT: %U.loc9_15.2 => constants.%as_type // CHECK:STDOUT: %.loc9_30 => constants.%.516 -// CHECK:STDOUT: %Z.impl_witness.loc9_30.2 => constants.%Z.impl_witness.5d1 +// CHECK:STDOUT: %Z.impl_witness.loc9_30.2 => constants.%Z.impl_witness.95f // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -393,11 +393,11 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %c.patt.2df: %pattern_type.d24 = at_binding_pattern c, %c.param_patt.6ae [symbolic] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic] // CHECK:STDOUT: %.0ce: = impl_self_witness %U, @Z [symbolic] -// CHECK:STDOUT: %Z.impl_witness.824: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.d6c: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic] // CHECK:STDOUT: %.68b: require_specific_def_type = require_specific_def @U.as.Z.impl(%as_type) [symbolic] -// CHECK:STDOUT: %Z.impl_witness.6f3: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%as_type) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.65d: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%as_type) [symbolic] // CHECK:STDOUT: %.7e3: = impl_self_witness %as_type, @Z [symbolic] // CHECK:STDOUT: %.Self.frozen.3a0: %I.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %I.WithSelf.F.type.183: type = fn_type @I.WithSelf.F, @I.WithSelf(%.Self.frozen.3a0) [symbolic_self] @@ -410,11 +410,11 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %.fdf: = impl_self_witness %T, @Y [symbolic] -// CHECK:STDOUT: %Y.impl_witness.3d4: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%T) [symbolic] +// CHECK:STDOUT: %Y.impl_witness.383: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%T) [symbolic] // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %.fa3: = impl_self_witness %empty_tuple.type, @Y [concrete] -// CHECK:STDOUT: %Y.impl_witness.2e8: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %Y.facet: %Y.type = facet_value %empty_tuple.type, (%Y.impl_witness.2e8) [concrete] +// CHECK:STDOUT: %Y.impl_witness.91c: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Y.facet: %Y.type = facet_value %empty_tuple.type, (%Y.impl_witness.91c) [concrete] // CHECK:STDOUT: %.Self: %I.type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %.00f: = impl_self_witness %.Self, @I [symbolic_self] // CHECK:STDOUT: %impl.elem0.e02: %Y.type = impl_witness_access %.00f, element0 [symbolic_self] @@ -422,18 +422,18 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %.a26: = impl_self_witness %D, @I [symbolic] // CHECK:STDOUT: %I.impl_witness: = impl_witness @D.as.I.impl.%I.impl_witness_table, @D.as.I.impl(%N) [symbolic] // CHECK:STDOUT: %.78e: = impl_self_witness %empty_tuple.type, @Z [concrete] -// CHECK:STDOUT: %Z.impl_witness.1c1: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %Z.impl_witness.9f1: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%empty_tuple.type) [concrete] // CHECK:STDOUT: %.dd0: require_specific_def_type = require_specific_def @U.as.Z.impl(%empty_tuple.type) [concrete] -// CHECK:STDOUT: %Z.facet.39d: %Z.type = facet_value %empty_tuple.type, (%Z.impl_witness.1c1) [concrete] -// CHECK:STDOUT: %C.00e: type = class_type @C, @C(%Z.facet.39d) [concrete] -// CHECK:STDOUT: %pattern_type.78f: type = pattern_type %C.00e [concrete] -// CHECK:STDOUT: %c.param_patt.d23: %pattern_type.78f = value_param_pattern [concrete] -// CHECK:STDOUT: %c.patt.152: %pattern_type.78f = at_binding_pattern c, %c.param_patt.d23 [concrete] +// CHECK:STDOUT: %Z.facet.c6a: %Z.type = facet_value %empty_tuple.type, (%Z.impl_witness.9f1) [concrete] +// CHECK:STDOUT: %C.82a: type = class_type @C, @C(%Z.facet.c6a) [concrete] +// CHECK:STDOUT: %pattern_type.3b9: type = pattern_type %C.82a [concrete] +// CHECK:STDOUT: %c.param_patt.6af: %pattern_type.3b9 = value_param_pattern [concrete] +// CHECK:STDOUT: %c.patt.dab: %pattern_type.3b9 = at_binding_pattern c, %c.param_patt.6af [concrete] // CHECK:STDOUT: %D.as.I.impl.F.type: type = fn_type @D.as.I.impl.F, @D.as.I.impl(%N) [symbolic] // CHECK:STDOUT: %D.as.I.impl.F: %D.as.I.impl.F.type = struct_value () [symbolic] // CHECK:STDOUT: %I.facet: %I.type = facet_value %D, (%I.impl_witness) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.type.9aa: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.a83: %I.WithSelf.F.type.9aa = struct_value () [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.b73: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.f74: %I.WithSelf.F.type.b73 = struct_value () [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -450,7 +450,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %Main.import_ref.3fc: = import_ref Main//impl_def, loc13_1, loaded [concrete = constants.%complete_type.782] // CHECK:STDOUT: %Main.import_ref.b5a = import_ref Main//impl_def, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Main.import_ref.65b: %Z.type = import_ref Main//impl_def, loc11_10, loaded [symbolic = @C.%V (constants.%V)] -// CHECK:STDOUT: %Main.import_ref.f68: = import_ref Main//impl_def, loc9_30, loaded [symbolic = @U.as.Z.impl.%Z.impl_witness (constants.%Z.impl_witness.824)] +// CHECK:STDOUT: %Main.import_ref.3dd: = import_ref Main//impl_def, loc9_30, loaded [symbolic = @U.as.Z.impl.%Z.impl_witness (constants.%Z.impl_witness.d6c)] // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @U.as.Z.impl [concrete] // CHECK:STDOUT: %Main.import_ref.b7a: type = import_ref Main//impl_def, loc9_23, loaded [symbolic = @U.as.Z.impl.%U (constants.%U)] // CHECK:STDOUT: %Main.import_ref.fbe: type = import_ref Main//impl_def, loc9_28, loaded [concrete = constants.%Z.type] @@ -459,7 +459,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %Main.import_ref.223 = import_ref Main//impl_def, loc15_13, unloaded // CHECK:STDOUT: %Main.import_ref.d73: %Y.type = import_ref Main//impl_def, loc16_12, loaded [concrete = %Assoc] // CHECK:STDOUT: %Assoc: %Y.type = assoc_const_decl @Assoc [concrete] {} -// CHECK:STDOUT: %Main.import_ref.201: = import_ref Main//impl_def, loc5_30, loaded [symbolic = @T.as.Y.impl.%Y.impl_witness (constants.%Y.impl_witness.3d4)] +// CHECK:STDOUT: %Main.import_ref.320: = import_ref Main//impl_def, loc5_30, loaded [symbolic = @T.as.Y.impl.%Y.impl_witness (constants.%Y.impl_witness.383)] // CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (), @T.as.Y.impl [concrete] // CHECK:STDOUT: %Main.import_ref.68d: type = import_ref Main//impl_def, loc5_23, loaded [symbolic = @T.as.Y.impl.%T (constants.%T)] // CHECK:STDOUT: %Main.import_ref.81e: type = import_ref Main//impl_def, loc5_28, loaded [concrete = constants.%Y.type] @@ -501,7 +501,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %Assoc.ref: %I.assoc_type = name_ref Assoc, imports.%Main.import_ref.f32 [concrete = constants.%assoc0] // CHECK:STDOUT: %impl.elem0.loc20_36.1: %Y.type = impl_witness_access constants.%.f01, element0 [symbolic_self = constants.%impl.elem0.7a5] // CHECK:STDOUT: %.loc20_46.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %Y.facet: %Y.type = facet_value constants.%empty_tuple.type, (constants.%Y.impl_witness.2e8) [concrete = constants.%Y.facet] +// CHECK:STDOUT: %Y.facet: %Y.type = facet_value constants.%empty_tuple.type, (constants.%Y.impl_witness.91c) [concrete = constants.%Y.facet] // CHECK:STDOUT: %.loc20_46.2: %Y.type = converted %.loc20_46.1, %Y.facet [concrete = constants.%Y.facet] // CHECK:STDOUT: %rewrite.loc20_43.1 = requirement_rewrite %impl.elem0.loc20_36.1, %.loc20_46.2 [concrete] // CHECK:STDOUT: %impl.elem0.loc20_36.2: %Y.type = impl_witness_access constants.%.00f, element0 [symbolic_self = constants.%impl.elem0.e02] @@ -550,13 +550,13 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [symbolic = %U.patt (constants.%U.patt)] // CHECK:STDOUT: %U: type = symbolic_binding U, 0 [symbolic = %U (constants.%U)] // CHECK:STDOUT: %.1: = impl_self_witness %U, @Z [symbolic = %.1 (constants.%.0ce)] -// CHECK:STDOUT: %Z.impl_witness: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.824)] +// CHECK:STDOUT: %Z.impl_witness: = impl_witness imports.%Z.impl_witness_table, @U.as.Z.impl(%U) [symbolic = %Z.impl_witness (constants.%Z.impl_witness.d6c)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.b7a as imports.%Main.import_ref.fbe { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.f68 +// CHECK:STDOUT: witness = imports.%Main.import_ref.3dd // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -564,13 +564,13 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %.1: = impl_self_witness %T, @Y [symbolic = %.1 (constants.%.fdf)] -// CHECK:STDOUT: %Y.impl_witness: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%T) [symbolic = %Y.impl_witness (constants.%Y.impl_witness.3d4)] +// CHECK:STDOUT: %Y.impl_witness: = impl_witness imports.%Y.impl_witness_table, @T.as.Y.impl(%T) [symbolic = %Y.impl_witness (constants.%Y.impl_witness.383)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.68d as imports.%Main.import_ref.81e { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.201 +// CHECK:STDOUT: witness = imports.%Main.import_ref.320 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -587,18 +587,18 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: // CHECK:STDOUT: impl: %D.loc20_23.2 as %I.ref { // CHECK:STDOUT: %D.as.I.impl.F.decl: @D.as.I.impl.%D.as.I.impl.F.type (%D.as.I.impl.F.type) = fn_decl @D.as.I.impl.F [symbolic = @D.as.I.impl.%D.as.I.impl.F (constants.%D.as.I.impl.F)] { -// CHECK:STDOUT: %c.param_patt: %pattern_type.78f = value_param_pattern [concrete = constants.%c.param_patt.d23] -// CHECK:STDOUT: %c.patt: %pattern_type.78f = at_binding_pattern c, %c.param_patt [concrete = constants.%c.patt.152] +// CHECK:STDOUT: %c.param_patt: %pattern_type.3b9 = value_param_pattern [concrete = constants.%c.param_patt.6af] +// CHECK:STDOUT: %c.patt: %pattern_type.3b9 = at_binding_pattern c, %c.param_patt [concrete = constants.%c.patt.dab] // CHECK:STDOUT: } { -// CHECK:STDOUT: %c.param: %C.00e = value_param call_param0 -// CHECK:STDOUT: %.loc21_22.1: type = splice_block %C [concrete = constants.%C.00e] { +// CHECK:STDOUT: %c.param: %C.82a = value_param call_param0 +// CHECK:STDOUT: %.loc21_22.1: type = splice_block %C [concrete = constants.%C.82a] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C.generic] // CHECK:STDOUT: %.loc21_21: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %Z.facet: %Z.type = facet_value constants.%empty_tuple.type, (constants.%Z.impl_witness.1c1) [concrete = constants.%Z.facet.39d] -// CHECK:STDOUT: %.loc21_22.2: %Z.type = converted %.loc21_21, %Z.facet [concrete = constants.%Z.facet.39d] -// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%Z.facet.39d) [concrete = constants.%C.00e] +// CHECK:STDOUT: %Z.facet: %Z.type = facet_value constants.%empty_tuple.type, (constants.%Z.impl_witness.9f1) [concrete = constants.%Z.facet.c6a] +// CHECK:STDOUT: %.loc21_22.2: %Z.type = converted %.loc21_21, %Z.facet [concrete = constants.%Z.facet.c6a] +// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%Z.facet.c6a) [concrete = constants.%C.82a] // CHECK:STDOUT: } -// CHECK:STDOUT: %c: %C.00e = wrapper_binding c, %c.param +// CHECK:STDOUT: %c: %C.82a = wrapper_binding c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant, %D.as.I.impl.F.decl), @D.as.I.impl [concrete] // CHECK:STDOUT: %I.impl_witness.loc20_48.1: = impl_witness %I.impl_witness_table, @D.as.I.impl(constants.%N) [symbolic = %I.impl_witness.loc20_48.2 (constants.%I.impl_witness)] @@ -668,7 +668,7 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: generic fn @D.as.I.impl.F(@D.as.I.impl.%N.loc20_15.2: %E) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: fn(%c.param: %C.00e) { +// CHECK:STDOUT: fn(%c.param: %C.82a) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -708,14 +708,14 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %U.patt => constants.%U.patt // CHECK:STDOUT: %U => constants.%U // CHECK:STDOUT: %.1 => constants.%.0ce -// CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.824 +// CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.d6c // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @U.as.Z.impl(constants.%as_type) { // CHECK:STDOUT: %U.patt => constants.%U.patt // CHECK:STDOUT: %U => constants.%as_type // CHECK:STDOUT: %.1 => constants.%.7e3 -// CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.6f3 +// CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.65d // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -745,14 +745,14 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %T.patt => constants.%T.patt // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %.1 => constants.%.fdf -// CHECK:STDOUT: %Y.impl_witness => constants.%Y.impl_witness.3d4 +// CHECK:STDOUT: %Y.impl_witness => constants.%Y.impl_witness.383 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as.Y.impl(constants.%empty_tuple.type) { // CHECK:STDOUT: %T.patt => constants.%T.patt // CHECK:STDOUT: %T => constants.%empty_tuple.type // CHECK:STDOUT: %.1 => constants.%.fa3 -// CHECK:STDOUT: %Y.impl_witness => constants.%Y.impl_witness.2e8 +// CHECK:STDOUT: %Y.impl_witness => constants.%Y.impl_witness.91c // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -773,14 +773,14 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %U.patt => constants.%U.patt // CHECK:STDOUT: %U => constants.%empty_tuple.type // CHECK:STDOUT: %.1 => constants.%.78e -// CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.1c1 +// CHECK:STDOUT: %Z.impl_witness => constants.%Z.impl_witness.9f1 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @C(constants.%Z.facet.39d) { +// CHECK:STDOUT: specific @C(constants.%Z.facet.c6a) { // CHECK:STDOUT: %V.patt => constants.%V.patt -// CHECK:STDOUT: %V => constants.%Z.facet.39d +// CHECK:STDOUT: %V => constants.%Z.facet.c6a // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -790,8 +790,8 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.9aa -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.a83 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.b73 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.f74 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet) { @@ -800,11 +800,11 @@ impl forall [N: E] D(N) as I where .Assoc = () { // CHECK:STDOUT: %impl.elem0 => constants.%Y.facet // CHECK:STDOUT: %as_type => constants.%empty_tuple.type // CHECK:STDOUT: %.1 => constants.%.dd0 -// CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.impl_witness.1c1 -// CHECK:STDOUT: %Z.facet => constants.%Z.facet.39d -// CHECK:STDOUT: %C => constants.%C.00e -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.78f -// CHECK:STDOUT: %c.param_patt => constants.%c.param_patt.d23 -// CHECK:STDOUT: %c.patt => constants.%c.patt.152 +// CHECK:STDOUT: %Z.lookup_impl_witness => constants.%Z.impl_witness.9f1 +// CHECK:STDOUT: %Z.facet => constants.%Z.facet.c6a +// CHECK:STDOUT: %C => constants.%C.82a +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.3b9 +// CHECK:STDOUT: %c.param_patt => constants.%c.param_patt.6af +// CHECK:STDOUT: %c.patt => constants.%c.patt.dab // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/import_thunk.carbon b/toolchain/check/testdata/impl/import_thunk.carbon index 36522f528a3d..2b39fba8cf5c 100644 --- a/toolchain/check/testdata/impl/import_thunk.carbon +++ b/toolchain/check/testdata/impl/import_thunk.carbon @@ -141,8 +141,8 @@ fn G() { // CHECK:STDOUT: %C.as.I.impl.F.type.9a27ec.1: type = fn_type @C.as.I.impl.F.loc8_24.1, @C.as.I.impl(%Y) [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.84dd70.1: %C.as.I.impl.F.type.9a27ec.1 = struct_value () [symbolic] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C.6b1ed7.2, (%I.impl_witness) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.type.535: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.6f0: %I.WithSelf.F.type.535 = struct_value () [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.ca5: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.a9c: %I.WithSelf.F.type.ca5 = struct_value () [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.type.9a27ec.2: type = fn_type @C.as.I.impl.F.loc8_24.2, @C.as.I.impl(%Y) [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.84dd70.2: %C.as.I.impl.F.type.9a27ec.2 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %C.6b1ed7.2 [symbolic] @@ -403,8 +403,8 @@ fn G() { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.535 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.6f0 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.ca5 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.a9c // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet) {} @@ -435,7 +435,7 @@ fn G() { // CHECK:STDOUT: %Y: %empty_tuple.type = symbolic_binding Y, 0 [symbolic] // CHECK:STDOUT: %C.6b1ed7.2: type = class_type @C, @C(%Y) [symbolic] // CHECK:STDOUT: %.4ce: = impl_self_witness %C.6b1ed7.2, @I [symbolic] -// CHECK:STDOUT: %I.impl_witness.95e: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%Y) [symbolic] +// CHECK:STDOUT: %I.impl_witness.079: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%Y) [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.type.c7d3b5.1: type = fn_type @C.as.I.impl.F.1, @C.as.I.impl(%Y) [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.c1d971.1: %C.as.I.impl.F.type.c7d3b5.1 = struct_value () [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.type.c7d3b5.2: type = fn_type @C.as.I.impl.F.2, @C.as.I.impl(%Y) [symbolic] @@ -445,7 +445,7 @@ fn G() { // CHECK:STDOUT: %Y.patt: %pattern_type.cb1 = symbolic_binding_pattern Y, 0 [symbolic] // CHECK:STDOUT: %x.patt.cc8: %pattern_type.d0f = at_binding_pattern x, %x.param_patt.bc9 [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %C.6b1ed7.2 [symbolic] -// CHECK:STDOUT: %I.facet.cee: %I.type = facet_value %C.6b1ed7.2, (%I.impl_witness.95e) [symbolic] +// CHECK:STDOUT: %I.facet.38e: %I.type = facet_value %C.6b1ed7.2, (%I.impl_witness.079) [symbolic] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %C.6b1ed7.2, @Destroy [symbolic] // CHECK:STDOUT: %Destroy.facet.886: %Destroy.type = facet_value %C.6b1ed7.2, (%Destroy.lookup_impl_witness) [symbolic] @@ -459,15 +459,15 @@ fn G() { // CHECK:STDOUT: %bound_method.3e7: = bound_method %.e66, %impl.elem0 [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.specific_fn.79d: = specific_function %C.as.I.impl.F.c1d971.2, @C.as.I.impl.F.2(%Y) [symbolic] // CHECK:STDOUT: %.3b5: = impl_self_witness %C.2c9, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.953: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%empty_tuple) [concrete] +// CHECK:STDOUT: %I.impl_witness.973: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%empty_tuple) [concrete] // CHECK:STDOUT: %C.as.I.impl.F.type.42776e.1: type = fn_type @C.as.I.impl.F.2, @C.as.I.impl(%empty_tuple) [concrete] // CHECK:STDOUT: %C.as.I.impl.F.4ca3bc.1: %C.as.I.impl.F.type.42776e.1 = struct_value () [concrete] // CHECK:STDOUT: %C.as.I.impl.F.type.42776e.2: type = fn_type @C.as.I.impl.F.1, @C.as.I.impl(%empty_tuple) [concrete] // CHECK:STDOUT: %C.as.I.impl.F.4ca3bc.2: %C.as.I.impl.F.type.42776e.2 = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.01a: %I.type = facet_value %C.2c9, (%I.impl_witness.953) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.fbb: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.01a) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.c63: %I.WithSelf.F.type.fbb = struct_value () [concrete] -// CHECK:STDOUT: %.1e5: type = fn_type_with_self_type %I.WithSelf.F.type.fbb, %I.facet.01a [concrete] +// CHECK:STDOUT: %I.facet.b89: %I.type = facet_value %C.2c9, (%I.impl_witness.973) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.ae4: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.b89) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.c0f: %I.WithSelf.F.type.ae4 = struct_value () [concrete] +// CHECK:STDOUT: %.902: type = fn_type_with_self_type %I.WithSelf.F.type.ae4, %I.facet.b89 [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.as.I.impl.F.specific_fn.e3e0cd.1: = specific_function %C.as.I.impl.F.4ca3bc.2, @C.as.I.impl.F.1(%empty_tuple) [concrete] // CHECK:STDOUT: %pattern_type.7b9: type = pattern_type %C.2c9 [concrete] @@ -502,7 +502,7 @@ fn G() { // CHECK:STDOUT: %Main.import_ref.e59c42.2: %I.type = import_ref Main//a, loc4_13, loaded [symbolic = constants.%Self.dda] // CHECK:STDOUT: %Main.import_ref.223 = import_ref Main//a, loc4_13, unloaded // CHECK:STDOUT: %Main.import_ref.9f7: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type.418) = import_ref Main//a, loc5_14, loaded [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F.ca5)] -// CHECK:STDOUT: %Main.import_ref.9c4: = import_ref Main//b, loc7_31, loaded [symbolic = @C.as.I.impl.%I.impl_witness (constants.%I.impl_witness.95e)] +// CHECK:STDOUT: %Main.import_ref.294: = import_ref Main//b, loc7_31, loaded [symbolic = @C.as.I.impl.%I.impl_witness (constants.%I.impl_witness.079)] // CHECK:STDOUT: %Main.import_ref.718: @C.as.I.impl.%C.as.I.impl.F.type.2 (%C.as.I.impl.F.type.c7d3b5.1) = import_ref Main//b, loc8_24, loaded [symbolic = @C.as.I.impl.%C.as.I.impl.F.2 (constants.%C.as.I.impl.F.c1d971.1)] // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.718), @C.as.I.impl [concrete] // CHECK:STDOUT: %Main.import_ref.c90e1a.2: %empty_tuple.type = import_ref Main//b, loc7_15, loaded [symbolic = @C.as.I.impl.%Y (constants.%Y)] @@ -540,7 +540,7 @@ fn G() { // CHECK:STDOUT: %Y: %empty_tuple.type = symbolic_binding Y, 0 [symbolic = %Y (constants.%Y)] // CHECK:STDOUT: %C: type = class_type @C, @C(%Y) [symbolic = %C (constants.%C.6b1ed7.2)] // CHECK:STDOUT: %.1: = impl_self_witness %C, @I [symbolic = %.1 (constants.%.4ce)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%Y) [symbolic = %I.impl_witness (constants.%I.impl_witness.95e)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%Y) [symbolic = %I.impl_witness (constants.%I.impl_witness.079)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %C.as.I.impl.F.type.1: type = fn_type @C.as.I.impl.F.2, @C.as.I.impl(%Y) [symbolic = %C.as.I.impl.F.type.1 (constants.%C.as.I.impl.F.type.c7d3b5.2)] @@ -550,7 +550,7 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.ff4 as imports.%Main.import_ref.e90 { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.9c4 +// CHECK:STDOUT: witness = imports.%Main.import_ref.294 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -577,9 +577,9 @@ fn G() { // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%empty_tuple) [concrete = constants.%C.2c9] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %F.ref.loc7_11: %I.assoc_type = name_ref F, imports.%Main.import_ref.1b3 [concrete = constants.%assoc0.232] -// CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (constants.%I.impl_witness.953) [concrete = constants.%I.facet.01a] -// CHECK:STDOUT: %.loc7_8: %I.type = converted %C, %I.facet [concrete = constants.%I.facet.01a] -// CHECK:STDOUT: %impl.elem0: %.1e5 = impl_witness_access constants.%I.impl_witness.953, element0 [concrete = constants.%C.as.I.impl.F.4ca3bc.2] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (constants.%I.impl_witness.973) [concrete = constants.%I.facet.b89] +// CHECK:STDOUT: %.loc7_8: %I.type = converted %C, %I.facet [concrete = constants.%I.facet.b89] +// CHECK:STDOUT: %impl.elem0: %.902 = impl_witness_access constants.%I.impl_witness.973, element0 [concrete = constants.%C.as.I.impl.F.4ca3bc.2] // CHECK:STDOUT: %.loc7_16.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @C.as.I.impl.F.1(constants.%empty_tuple) [concrete = constants.%C.as.I.impl.F.specific_fn.e3e0cd.1] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete = constants.%empty_struct] @@ -620,7 +620,7 @@ fn G() { // CHECK:STDOUT: %specific_impl_fn: = specific_impl_function %impl.elem0, @Destroy.WithSelf.Op(%Destroy.facet) [symbolic = %specific_impl_fn (constants.%specific_impl_fn)] // CHECK:STDOUT: %bound_method.2: = bound_method %.1, %specific_impl_fn [symbolic = %bound_method.2 (constants.%bound_method.ef4)] // CHECK:STDOUT: -// CHECK:STDOUT: fn [thunk imports.%Main.F.b80 for imports.%I.WithSelf.F.decl, @I.WithSelf.F(constants.%I.facet.cee)]; +// CHECK:STDOUT: fn [thunk imports.%Main.F.b80 for imports.%I.WithSelf.F.decl, @I.WithSelf.F(constants.%I.facet.38e)]; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic fn @C.as.I.impl.F.2(imports.%Main.import_ref.c90e1a.2: %empty_tuple.type) [from "b.carbon"] { @@ -676,7 +676,7 @@ fn G() { // CHECK:STDOUT: %Y => constants.%Y // CHECK:STDOUT: %C => constants.%C.6b1ed7.2 // CHECK:STDOUT: %.1 => constants.%.4ce -// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.95e +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.079 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %C.as.I.impl.F.type.1 => constants.%C.as.I.impl.F.type.c7d3b5.2 @@ -696,7 +696,7 @@ fn G() { // CHECK:STDOUT: %require_complete => constants.%require_complete // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.cee) {} +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.38e) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.I.impl.F.1(constants.%Y) {} // CHECK:STDOUT: @@ -705,7 +705,7 @@ fn G() { // CHECK:STDOUT: %Y => constants.%empty_tuple // CHECK:STDOUT: %C => constants.%C.2c9 // CHECK:STDOUT: %.1 => constants.%.3b5 -// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.953 +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.973 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %C.as.I.impl.F.type.1 => constants.%C.as.I.impl.F.type.42776e.1 @@ -714,11 +714,11 @@ fn G() { // CHECK:STDOUT: %C.as.I.impl.F.2 => constants.%C.as.I.impl.F.4ca3bc.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.01a) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.b89) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.01a -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.fbb -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.c63 +// CHECK:STDOUT: %Self => constants.%I.facet.b89 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.ae4 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.c0f // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.I.impl.F.1(constants.%empty_tuple) { diff --git a/toolchain/check/testdata/impl/import_use_generic.carbon b/toolchain/check/testdata/impl/import_use_generic.carbon index 4b365c67b183..da534448b33a 100644 --- a/toolchain/check/testdata/impl/import_use_generic.carbon +++ b/toolchain/check/testdata/impl/import_use_generic.carbon @@ -77,8 +77,8 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F, @C.as.I.impl(%T) [symbolic] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [symbolic] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.type.09e: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.ad6: %I.WithSelf.F.type.09e = struct_value () [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.b7f: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.454: %I.WithSelf.F.type.b7f = struct_value () [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -210,8 +210,8 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.09e -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.ad6 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.b7f +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.454 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet) {} @@ -243,17 +243,17 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %.41f: = impl_self_witness %C.1d0, @I [symbolic] -// CHECK:STDOUT: %I.impl_witness.5b2: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%T) [symbolic] +// CHECK:STDOUT: %I.impl_witness.c4a: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%T) [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.type.86f: type = fn_type @C.as.I.impl.F, @C.as.I.impl(%T) [symbolic] // CHECK:STDOUT: %C.as.I.impl.F.45f: %C.as.I.impl.F.type.86f = struct_value () [symbolic] // CHECK:STDOUT: %.0b2: = impl_self_witness %C.d8e, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.a73: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %I.impl_witness.873: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %C.as.I.impl.F.type.7ce: type = fn_type @C.as.I.impl.F, @C.as.I.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %C.as.I.impl.F.899: %C.as.I.impl.F.type.7ce = struct_value () [concrete] -// CHECK:STDOUT: %I.facet: %I.type = facet_value %C.d8e, (%I.impl_witness.a73) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.f26: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.c12: %I.WithSelf.F.type.f26 = struct_value () [concrete] -// CHECK:STDOUT: %.2c7: type = fn_type_with_self_type %I.WithSelf.F.type.f26, %I.facet [concrete] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %C.d8e, (%I.impl_witness.873) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.3f0: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.c10: %I.WithSelf.F.type.3f0 = struct_value () [concrete] +// CHECK:STDOUT: %.c92: type = fn_type_with_self_type %I.WithSelf.F.type.3f0, %I.facet [concrete] // CHECK:STDOUT: %C.as.I.impl.F.specific_fn: = specific_function %C.as.I.impl.F.899, @C.as.I.impl.F(%empty_struct_type) [concrete] // CHECK:STDOUT: %H.type: type = fn_type @H [concrete] // CHECK:STDOUT: %H: %H.type = struct_value () [concrete] @@ -270,7 +270,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %Main.import_ref.e59c42.2: %I.type = import_ref Main//import_generic, loc6_13, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %Main.import_ref.223 = import_ref Main//import_generic, loc6_13, unloaded // CHECK:STDOUT: %Main.import_ref.9f7: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type.418) = import_ref Main//import_generic, loc7_9, loaded [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F.ca5)] -// CHECK:STDOUT: %Main.import_ref.57e: = import_ref Main//import_generic, loc10_33, loaded [symbolic = @C.as.I.impl.%I.impl_witness (constants.%I.impl_witness.5b2)] +// CHECK:STDOUT: %Main.import_ref.2bb: = import_ref Main//import_generic, loc10_33, loaded [symbolic = @C.as.I.impl.%I.impl_witness (constants.%I.impl_witness.c4a)] // CHECK:STDOUT: %Main.import_ref.bec: @C.as.I.impl.%C.as.I.impl.F.type (%C.as.I.impl.F.type.86f) = import_ref Main//import_generic, loc11_10, loaded [symbolic = @C.as.I.impl.%C.as.I.impl.F (constants.%C.as.I.impl.F.45f)] // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.bec), @C.as.I.impl [concrete] // CHECK:STDOUT: %Main.import_ref.b3bc94.2: type = import_ref Main//import_generic, loc10_15, loaded [symbolic = @C.as.I.impl.%T (constants.%T)] @@ -318,9 +318,9 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%empty_struct_type) [concrete = constants.%C.d8e] // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, imports.%Main.import_ref.1b3 [concrete = constants.%assoc0] -// CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (constants.%I.impl_witness.a73) [concrete = constants.%I.facet] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (constants.%I.impl_witness.873) [concrete = constants.%I.facet] // CHECK:STDOUT: %.loc25_16: %I.type = converted %C, %I.facet [concrete = constants.%I.facet] -// CHECK:STDOUT: %impl.elem0: %.2c7 = impl_witness_access constants.%I.impl_witness.a73, element0 [concrete = constants.%C.as.I.impl.F.899] +// CHECK:STDOUT: %impl.elem0: %.c92 = impl_witness_access constants.%I.impl_witness.873, element0 [concrete = constants.%C.as.I.impl.F.899] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @C.as.I.impl.F(constants.%empty_struct_type) [concrete = constants.%C.as.I.impl.F.specific_fn] // CHECK:STDOUT: %C.as.I.impl.F.call: init %empty_tuple.type = call %specific_fn() // CHECK:STDOUT: %.loc25_23: type = converted %C.as.I.impl.F.call, [concrete = ] @@ -342,7 +342,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %C: type = class_type @C, @C(%T) [symbolic = %C (constants.%C.1d0)] // CHECK:STDOUT: %.1: = impl_self_witness %C, @I [symbolic = %.1 (constants.%.41f)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.5b2)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table, @C.as.I.impl(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.c4a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F, @C.as.I.impl(%T) [symbolic = %C.as.I.impl.F.type (constants.%C.as.I.impl.F.type.86f)] @@ -350,7 +350,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: // CHECK:STDOUT: impl: imports.%Main.import_ref.4aa as imports.%Main.import_ref.c3f { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.57e +// CHECK:STDOUT: witness = imports.%Main.import_ref.2bb // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -421,7 +421,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %C => constants.%C.1d0 // CHECK:STDOUT: %.1 => constants.%.41f -// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.5b2 +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.c4a // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %C.as.I.impl.F.type => constants.%C.as.I.impl.F.type.86f @@ -435,7 +435,7 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %C => constants.%C.d8e // CHECK:STDOUT: %.1 => constants.%.0b2 -// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.a73 +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.873 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %C.as.I.impl.F.type => constants.%C.as.I.impl.F.type.7ce @@ -445,8 +445,8 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.f26 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.c12 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.3f0 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.c10 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.I.impl.F(constants.%empty_struct_type) { diff --git a/toolchain/check/testdata/impl/interface_args.carbon b/toolchain/check/testdata/impl/interface_args.carbon index bdceeffd5803..47ca087f9c45 100644 --- a/toolchain/check/testdata/impl/interface_args.carbon +++ b/toolchain/check/testdata/impl/interface_args.carbon @@ -277,13 +277,13 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %A.as.Action.impl.Op.type: type = fn_type @A.as.Action.impl.Op [concrete] // CHECK:STDOUT: %A.as.Action.impl.Op: %A.as.Action.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Action.facet: %Action.type.5d2 = facet_value %A, (%Action.impl_witness) [concrete] -// CHECK:STDOUT: %Action.WithSelf.Op.type.e59: type = fn_type @Action.WithSelf.Op, @Action.WithSelf(%B, %Action.facet) [concrete] -// CHECK:STDOUT: %Action.WithSelf.Op.c3b: %Action.WithSelf.Op.type.e59 = struct_value () [concrete] +// CHECK:STDOUT: %Action.WithSelf.Op.type.606: type = fn_type @Action.WithSelf.Op, @Action.WithSelf(%B, %Action.facet) [concrete] +// CHECK:STDOUT: %Action.WithSelf.Op.e27: %Action.WithSelf.Op.type.606 = struct_value () [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type.9ef = value_param_pattern [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.9ef = at_binding_pattern a, %a.param_patt [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] -// CHECK:STDOUT: %.898: type = fn_type_with_self_type %Action.WithSelf.Op.type.e59, %Action.facet [concrete] +// CHECK:STDOUT: %.a0a: type = fn_type_with_self_type %Action.WithSelf.Op.type.606, %Action.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -436,7 +436,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(constants.%B)> [concrete = constants.%Action.type.5d2] // CHECK:STDOUT: %.loc16: %Action.assoc_type.4ce = specific_constant @Action.WithSelf.%assoc0.loc5_14.1, @Action.WithSelf(constants.%B, constants.%Self.67c) [concrete = constants.%assoc0.005] // CHECK:STDOUT: %Op.ref: %Action.assoc_type.4ce = name_ref Op, %.loc16 [concrete = constants.%assoc0.005] -// CHECK:STDOUT: %impl.elem0: %.898 = impl_witness_access constants.%Action.impl_witness, element0 [concrete = constants.%A.as.Action.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.a0a = impl_witness_access constants.%Action.impl_witness, element0 [concrete = constants.%A.as.Action.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem0 // CHECK:STDOUT: %A.as.Action.impl.Op.call: init %empty_tuple.type = call %bound_method(%a.ref) // CHECK:STDOUT: return @@ -484,8 +484,8 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %T => constants.%B // CHECK:STDOUT: %Action.type => constants.%Action.type.5d2 // CHECK:STDOUT: %Self => constants.%Action.facet -// CHECK:STDOUT: %Action.WithSelf.Op.type => constants.%Action.WithSelf.Op.type.e59 -// CHECK:STDOUT: %Action.WithSelf.Op => constants.%Action.WithSelf.Op.c3b +// CHECK:STDOUT: %Action.WithSelf.Op.type => constants.%Action.WithSelf.Op.type.606 +// CHECK:STDOUT: %Action.WithSelf.Op => constants.%Action.WithSelf.Op.e27 // CHECK:STDOUT: %Action.assoc_type => constants.%Action.assoc_type.4ce // CHECK:STDOUT: %assoc0.loc5_14.2 => constants.%assoc0.005 // CHECK:STDOUT: } @@ -536,9 +536,9 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %assoc0.029: %Action.assoc_type.1c3 = assoc_entity element0, imports.%Main.import_ref.b3a [symbolic] // CHECK:STDOUT: %Action.impl_witness: = impl_witness imports.%Action.impl_witness_table [concrete] // CHECK:STDOUT: %Action.facet: %Action.type.5d2 = facet_value %A, (%Action.impl_witness) [concrete] -// CHECK:STDOUT: %Action.WithSelf.Op.type.8c0: type = fn_type @Action.WithSelf.Op, @Action.WithSelf(%B, %Action.facet) [concrete] -// CHECK:STDOUT: %Action.WithSelf.Op.031: %Action.WithSelf.Op.type.8c0 = struct_value () [concrete] -// CHECK:STDOUT: %.1f3: type = fn_type_with_self_type %Action.WithSelf.Op.type.8c0, %Action.facet [concrete] +// CHECK:STDOUT: %Action.WithSelf.Op.type.2e1: type = fn_type @Action.WithSelf.Op, @Action.WithSelf(%B, %Action.facet) [concrete] +// CHECK:STDOUT: %Action.WithSelf.Op.5ec: %Action.WithSelf.Op.type.2e1 = struct_value () [concrete] +// CHECK:STDOUT: %.007: type = fn_type_with_self_type %Action.WithSelf.Op.type.2e1, %Action.facet [concrete] // CHECK:STDOUT: %A.as.Action.impl.Op.type: type = fn_type @A.as.Action.impl.Op [concrete] // CHECK:STDOUT: %A.as.Action.impl.Op: %A.as.Action.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -562,7 +562,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Main.import_ref.7dfc68.2: @Action.%Action.type (%Action.type.cbf) = import_ref Main//action, loc4_27, loaded [symbolic = @Action.%Self (constants.%Self.ea2)] // CHECK:STDOUT: %Main.import_ref.422 = import_ref Main//action, loc4_27, unloaded // CHECK:STDOUT: %Main.import_ref.b3bc94.3: type = import_ref Main//action, loc4_19, loaded [symbolic = @Action.%T (constants.%T)] -// CHECK:STDOUT: %Main.import_ref.371: = import_ref Main//action, loc12_21, loaded [concrete = constants.%Action.impl_witness] +// CHECK:STDOUT: %Main.import_ref.484: = import_ref Main//action, loc12_21, loaded [concrete = constants.%Action.impl_witness] // CHECK:STDOUT: %Main.import_ref.8f24d3.2: = import_ref Main//action, loc8_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.0ee = import_ref Main//action, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Main.import_ref.239: type = import_ref Main//action, loc12_6, loaded [concrete = constants.%A] @@ -619,7 +619,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Op = imports.%Main.import_ref.294 // CHECK:STDOUT: extend imports.%Main.import_ref.07b -// CHECK:STDOUT: witness = imports.%Main.import_ref.371 +// CHECK:STDOUT: witness = imports.%Main.import_ref.484 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @B [from "action.carbon"] { @@ -656,7 +656,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(constants.%B)> [concrete = constants.%Action.type.5d2] // CHECK:STDOUT: %.loc4: %Action.assoc_type.4ce = specific_constant imports.%Main.import_ref.00f, @Action.WithSelf(constants.%B, constants.%Self.ea2) [concrete = constants.%assoc0.2d9] // CHECK:STDOUT: %Op.ref: %Action.assoc_type.4ce = name_ref Op, %.loc4 [concrete = constants.%assoc0.2d9] -// CHECK:STDOUT: %impl.elem0: %.1f3 = impl_witness_access constants.%Action.impl_witness, element0 [concrete = constants.%A.as.Action.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.007 = impl_witness_access constants.%Action.impl_witness, element0 [concrete = constants.%A.as.Action.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem0 // CHECK:STDOUT: %A.as.Action.impl.Op.call: init %empty_tuple.type = call %bound_method(%a.ref) // CHECK:STDOUT: return @@ -706,8 +706,8 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %T => constants.%B // CHECK:STDOUT: %Action.type => constants.%Action.type.5d2 // CHECK:STDOUT: %Self => constants.%Action.facet -// CHECK:STDOUT: %Action.WithSelf.Op.type => constants.%Action.WithSelf.Op.type.8c0 -// CHECK:STDOUT: %Action.WithSelf.Op => constants.%Action.WithSelf.Op.031 +// CHECK:STDOUT: %Action.WithSelf.Op.type => constants.%Action.WithSelf.Op.type.2e1 +// CHECK:STDOUT: %Action.WithSelf.Op => constants.%Action.WithSelf.Op.5ec // CHECK:STDOUT: %Action.assoc_type => constants.%Action.assoc_type.4ce // CHECK:STDOUT: %assoc0 => constants.%assoc0.2d9 // CHECK:STDOUT: } @@ -769,7 +769,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Main.import_ref.7dfc68.2: @Action.%Action.type (%Action.type.cbf) = import_ref Main//action, loc4_27, loaded [symbolic = @Action.%Self (constants.%Self.ea2)] // CHECK:STDOUT: %Main.import_ref.422 = import_ref Main//action, loc4_27, unloaded // CHECK:STDOUT: %Main.import_ref.b3bc94.3: type = import_ref Main//action, loc4_19, loaded [symbolic = @Action.%T (constants.%T)] -// CHECK:STDOUT: %Main.import_ref.640 = import_ref Main//action, loc12_21, unloaded +// CHECK:STDOUT: %Main.import_ref.62f = import_ref Main//action, loc12_21, unloaded // CHECK:STDOUT: %Main.import_ref.8f24d3.2: = import_ref Main//action, loc8_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.0ee = import_ref Main//action, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Main.import_ref.239: type = import_ref Main//action, loc12_6, loaded [concrete = constants.%A] @@ -826,7 +826,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Op = imports.%Main.import_ref.294 // CHECK:STDOUT: extend imports.%Main.import_ref.07b -// CHECK:STDOUT: witness = imports.%Main.import_ref.640 +// CHECK:STDOUT: witness = imports.%Main.import_ref.62f // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @B [from "action.carbon"] { @@ -973,10 +973,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %A.as.Factory.impl.Method.type: type = fn_type @A.as.Factory.impl.Method [concrete] // CHECK:STDOUT: %A.as.Factory.impl.Method: %A.as.Factory.impl.Method.type = struct_value () [concrete] // CHECK:STDOUT: %Factory.facet: %Factory.type.5e3 = facet_value %A, (%Factory.impl_witness) [concrete] -// CHECK:STDOUT: %Factory.WithSelf.Make.type.0c4: type = fn_type @Factory.WithSelf.Make, @Factory.WithSelf(%B, %Factory.facet) [concrete] -// CHECK:STDOUT: %Factory.WithSelf.Make.f30: %Factory.WithSelf.Make.type.0c4 = struct_value () [concrete] -// CHECK:STDOUT: %Factory.WithSelf.Method.type.99a: type = fn_type @Factory.WithSelf.Method, @Factory.WithSelf(%B, %Factory.facet) [concrete] -// CHECK:STDOUT: %Factory.WithSelf.Method.637: %Factory.WithSelf.Method.type.99a = struct_value () [concrete] +// CHECK:STDOUT: %Factory.WithSelf.Make.type.2c3: type = fn_type @Factory.WithSelf.Make, @Factory.WithSelf(%B, %Factory.facet) [concrete] +// CHECK:STDOUT: %Factory.WithSelf.Make.cae: %Factory.WithSelf.Make.type.2c3 = struct_value () [concrete] +// CHECK:STDOUT: %Factory.WithSelf.Method.type.5e3: type = fn_type @Factory.WithSelf.Method, @Factory.WithSelf(%B, %Factory.facet) [concrete] +// CHECK:STDOUT: %Factory.WithSelf.Method.372: %Factory.WithSelf.Method.type.5e3 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1209,12 +1209,12 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %T => constants.%B // CHECK:STDOUT: %Factory.type => constants.%Factory.type.5e3 // CHECK:STDOUT: %Self => constants.%Factory.facet -// CHECK:STDOUT: %Factory.WithSelf.Make.type => constants.%Factory.WithSelf.Make.type.0c4 -// CHECK:STDOUT: %Factory.WithSelf.Make => constants.%Factory.WithSelf.Make.f30 +// CHECK:STDOUT: %Factory.WithSelf.Make.type => constants.%Factory.WithSelf.Make.type.2c3 +// CHECK:STDOUT: %Factory.WithSelf.Make => constants.%Factory.WithSelf.Make.cae // CHECK:STDOUT: %Factory.assoc_type => constants.%Factory.assoc_type.8bd // CHECK:STDOUT: %assoc0.loc6_17.2 => constants.%assoc0.012 -// CHECK:STDOUT: %Factory.WithSelf.Method.type => constants.%Factory.WithSelf.Method.type.99a -// CHECK:STDOUT: %Factory.WithSelf.Method => constants.%Factory.WithSelf.Method.637 +// CHECK:STDOUT: %Factory.WithSelf.Method.type => constants.%Factory.WithSelf.Method.type.5e3 +// CHECK:STDOUT: %Factory.WithSelf.Method => constants.%Factory.WithSelf.Method.372 // CHECK:STDOUT: %assoc1.loc8_23.2 => constants.%assoc1.682 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1285,11 +1285,11 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %assoc0.c0a: %Factory.assoc_type.0ed = assoc_entity element0, imports.%Main.import_ref.587 [symbolic] // CHECK:STDOUT: %Factory.impl_witness: = impl_witness imports.%Factory.impl_witness_table [concrete] // CHECK:STDOUT: %Factory.facet: %Factory.type.5e3 = facet_value %A, (%Factory.impl_witness) [concrete] -// CHECK:STDOUT: %Factory.WithSelf.Make.type.f93: type = fn_type @Factory.WithSelf.Make, @Factory.WithSelf(%B, %Factory.facet) [concrete] -// CHECK:STDOUT: %Factory.WithSelf.Make.57a: %Factory.WithSelf.Make.type.f93 = struct_value () [concrete] -// CHECK:STDOUT: %Factory.WithSelf.Method.type.053: type = fn_type @Factory.WithSelf.Method, @Factory.WithSelf(%B, %Factory.facet) [concrete] -// CHECK:STDOUT: %Factory.WithSelf.Method.d76: %Factory.WithSelf.Method.type.053 = struct_value () [concrete] -// CHECK:STDOUT: %.9f3: type = fn_type_with_self_type %Factory.WithSelf.Make.type.f93, %Factory.facet [concrete] +// CHECK:STDOUT: %Factory.WithSelf.Make.type.1e5: type = fn_type @Factory.WithSelf.Make, @Factory.WithSelf(%B, %Factory.facet) [concrete] +// CHECK:STDOUT: %Factory.WithSelf.Make.3ca: %Factory.WithSelf.Make.type.1e5 = struct_value () [concrete] +// CHECK:STDOUT: %Factory.WithSelf.Method.type.510: type = fn_type @Factory.WithSelf.Method, @Factory.WithSelf(%B, %Factory.facet) [concrete] +// CHECK:STDOUT: %Factory.WithSelf.Method.ef3: %Factory.WithSelf.Method.type.510 = struct_value () [concrete] +// CHECK:STDOUT: %.a03: type = fn_type_with_self_type %Factory.WithSelf.Make.type.1e5, %Factory.facet [concrete] // CHECK:STDOUT: %A.as.Factory.impl.Make.type: type = fn_type @A.as.Factory.impl.Make [concrete] // CHECK:STDOUT: %A.as.Factory.impl.Make: %A.as.Factory.impl.Make.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.9ef: type = pattern_type %A [concrete] @@ -1298,7 +1298,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %InstanceB.type: type = fn_type @InstanceB [concrete] // CHECK:STDOUT: %InstanceB: %InstanceB.type = struct_value () [concrete] // CHECK:STDOUT: %assoc1.c00: %Factory.assoc_type.0ed = assoc_entity element1, imports.%Main.import_ref.82f [symbolic] -// CHECK:STDOUT: %.076: type = fn_type_with_self_type %Factory.WithSelf.Method.type.053, %Factory.facet [concrete] +// CHECK:STDOUT: %.0a9: type = fn_type_with_self_type %Factory.WithSelf.Method.type.510, %Factory.facet [concrete] // CHECK:STDOUT: %A.as.Factory.impl.Method.type: type = fn_type @A.as.Factory.impl.Method [concrete] // CHECK:STDOUT: %A.as.Factory.impl.Method: %A.as.Factory.impl.Method.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -1325,7 +1325,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Main.import_ref.0f8e01.3: @Factory.%Factory.type (%Factory.type.711) = import_ref Main//factory, loc4_28, loaded [symbolic = @Factory.%Self (constants.%Self.3e3)] // CHECK:STDOUT: %Main.import_ref.a45 = import_ref Main//factory, loc4_28, unloaded // CHECK:STDOUT: %Main.import_ref.b3bc94.4: type = import_ref Main//factory, loc4_20, loaded [symbolic = @Factory.%T (constants.%T)] -// CHECK:STDOUT: %Main.import_ref.8c3: = import_ref Main//factory, loc14_22, loaded [concrete = constants.%Factory.impl_witness] +// CHECK:STDOUT: %Main.import_ref.7a7: = import_ref Main//factory, loc14_22, loaded [concrete = constants.%Factory.impl_witness] // CHECK:STDOUT: %Main.import_ref.8f24d3.2: = import_ref Main//factory, loc11_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.0ee = import_ref Main//factory, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Main.import_ref.239: type = import_ref Main//factory, loc14_6, loaded [concrete = constants.%A] @@ -1401,7 +1401,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: .Make = imports.%Main.import_ref.213 // CHECK:STDOUT: .Method = imports.%Main.import_ref.1ee // CHECK:STDOUT: extend imports.%Main.import_ref.ebb -// CHECK:STDOUT: witness = imports.%Main.import_ref.8c3 +// CHECK:STDOUT: witness = imports.%Main.import_ref.7a7 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @B [from "factory.carbon"] { @@ -1454,7 +1454,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Make.ref: %Factory.assoc_type.8bd = name_ref Make, %.loc5_23 [concrete = constants.%assoc0.e71] // CHECK:STDOUT: %Factory.facet: %Factory.type.5e3 = facet_value %A.ref, (constants.%Factory.impl_witness) [concrete = constants.%Factory.facet] // CHECK:STDOUT: %.loc5_11: %Factory.type.5e3 = converted %A.ref, %Factory.facet [concrete = constants.%Factory.facet] -// CHECK:STDOUT: %impl.elem0: %.9f3 = impl_witness_access constants.%Factory.impl_witness, element0 [concrete = constants.%A.as.Factory.impl.Make] +// CHECK:STDOUT: %impl.elem0: %.a03 = impl_witness_access constants.%Factory.impl_witness, element0 [concrete = constants.%A.as.Factory.impl.Make] // CHECK:STDOUT: %.loc4_15.1: ref %B = splice_block %return.param {} // CHECK:STDOUT: %A.as.Factory.impl.Make.call: init %B to %.loc4_15.1 = call %impl.elem0() // CHECK:STDOUT: return %A.as.Factory.impl.Make.call to %return.param @@ -1470,7 +1470,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(constants.%B)> [concrete = constants.%Factory.type.5e3] // CHECK:STDOUT: %.loc8: %Factory.assoc_type.8bd = specific_constant imports.%Main.import_ref.1ef, @Factory.WithSelf(constants.%B, constants.%Self.3e3) [concrete = constants.%assoc1.e2e] // CHECK:STDOUT: %Method.ref: %Factory.assoc_type.8bd = name_ref Method, %.loc8 [concrete = constants.%assoc1.e2e] -// CHECK:STDOUT: %impl.elem1: %.076 = impl_witness_access constants.%Factory.impl_witness, element1 [concrete = constants.%A.as.Factory.impl.Method] +// CHECK:STDOUT: %impl.elem1: %.0a9 = impl_witness_access constants.%Factory.impl_witness, element1 [concrete = constants.%A.as.Factory.impl.Method] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: %.loc7_23.1: ref %B = splice_block %return.param {} // CHECK:STDOUT: %A.as.Factory.impl.Method.call: init %B to %.loc7_23.1 = call %bound_method(%a.ref) @@ -1536,12 +1536,12 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %T => constants.%B // CHECK:STDOUT: %Factory.type => constants.%Factory.type.5e3 // CHECK:STDOUT: %Self => constants.%Factory.facet -// CHECK:STDOUT: %Factory.WithSelf.Make.type => constants.%Factory.WithSelf.Make.type.f93 -// CHECK:STDOUT: %Factory.WithSelf.Make => constants.%Factory.WithSelf.Make.57a +// CHECK:STDOUT: %Factory.WithSelf.Make.type => constants.%Factory.WithSelf.Make.type.1e5 +// CHECK:STDOUT: %Factory.WithSelf.Make => constants.%Factory.WithSelf.Make.3ca // CHECK:STDOUT: %Factory.assoc_type => constants.%Factory.assoc_type.8bd // CHECK:STDOUT: %assoc0 => constants.%assoc0.e71 -// CHECK:STDOUT: %Factory.WithSelf.Method.type => constants.%Factory.WithSelf.Method.type.053 -// CHECK:STDOUT: %Factory.WithSelf.Method => constants.%Factory.WithSelf.Method.d76 +// CHECK:STDOUT: %Factory.WithSelf.Method.type => constants.%Factory.WithSelf.Method.type.510 +// CHECK:STDOUT: %Factory.WithSelf.Method => constants.%Factory.WithSelf.Method.ef3 // CHECK:STDOUT: %assoc1 => constants.%assoc1.e2e // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1622,7 +1622,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Main.import_ref.0f8e01.3: @Factory.%Factory.type (%Factory.type.711) = import_ref Main//factory, loc4_28, loaded [symbolic = @Factory.%Self (constants.%Self.3e3)] // CHECK:STDOUT: %Main.import_ref.a45 = import_ref Main//factory, loc4_28, unloaded // CHECK:STDOUT: %Main.import_ref.b3bc94.4: type = import_ref Main//factory, loc4_20, loaded [symbolic = @Factory.%T (constants.%T)] -// CHECK:STDOUT: %Main.import_ref.97f = import_ref Main//factory, loc14_22, unloaded +// CHECK:STDOUT: %Main.import_ref.b13 = import_ref Main//factory, loc14_22, unloaded // CHECK:STDOUT: %Main.import_ref.8f24d3.2: = import_ref Main//factory, loc11_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.0ee = import_ref Main//factory, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Main.import_ref.239: type = import_ref Main//factory, loc14_6, loaded [concrete = constants.%A] @@ -1697,7 +1697,7 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: .Make = imports.%Main.import_ref.213 // CHECK:STDOUT: .Method = imports.%Main.import_ref.1ee // CHECK:STDOUT: extend imports.%Main.import_ref.ebb -// CHECK:STDOUT: witness = imports.%Main.import_ref.97f +// CHECK:STDOUT: witness = imports.%Main.import_ref.b13 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @B [from "factory.carbon"] { diff --git a/toolchain/check/testdata/impl/lookup/alias.carbon b/toolchain/check/testdata/impl/lookup/alias.carbon index f40abb564df6..e4cea832f8a3 100644 --- a/toolchain/check/testdata/impl/lookup/alias.carbon +++ b/toolchain/check/testdata/impl/lookup/alias.carbon @@ -47,14 +47,14 @@ fn G(c: C) { // CHECK:STDOUT: %C.as.HasF.impl.F.type: type = fn_type @C.as.HasF.impl.F [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F: %C.as.HasF.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %C, (%HasF.impl_witness) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.263: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.3c7: %HasF.WithSelf.F.type.263 = struct_value () [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.722: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.689: %HasF.WithSelf.F.type.722 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type = value_param_pattern [concrete] // CHECK:STDOUT: %c.patt: %pattern_type = at_binding_pattern c, %c.param_patt [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] -// CHECK:STDOUT: %.34f: type = fn_type_with_self_type %HasF.WithSelf.F.type.263, %HasF.facet [concrete] +// CHECK:STDOUT: %.697: type = fn_type_with_self_type %HasF.WithSelf.F.type.722, %HasF.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -133,11 +133,11 @@ fn G(c: C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc28: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %G.ref.loc28: %HasF.assoc_type = name_ref G, @C.%G [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0.loc28: %.34f = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] +// CHECK:STDOUT: %impl.elem0.loc28: %.697 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] // CHECK:STDOUT: %C.as.HasF.impl.F.call.loc28: init %empty_tuple.type = call %impl.elem0.loc28() // CHECK:STDOUT: %c.ref: %C = name_ref c, %c // CHECK:STDOUT: %G.ref.loc29: %HasF.assoc_type = name_ref G, @C.%G [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0.loc29: %.34f = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] +// CHECK:STDOUT: %impl.elem0.loc29: %.697 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] // CHECK:STDOUT: %C.as.HasF.impl.F.call.loc29: init %empty_tuple.type = call %impl.elem0.loc29() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -154,8 +154,8 @@ fn G(c: C) { // CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasF.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.263 -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.3c7 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.722 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.689 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet) {} diff --git a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon index 9f58f4411e72..45e4ba24418a 100644 --- a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon +++ b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon @@ -78,8 +78,8 @@ fn G() { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %I.type, %type.as.BitAndWith.impl.Op [concrete] @@ -119,16 +119,16 @@ fn G() { // CHECK:STDOUT: %self.patt.947: %pattern_type.f79 = at_binding_pattern self, %self.param_patt.dfa [concrete] // CHECK:STDOUT: %C.as.I.impl.II.type: type = fn_type @C.as.I.impl.II [concrete] // CHECK:STDOUT: %C.as.I.impl.II: %C.as.I.impl.II.type = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.947: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.II.type.9c8: type = fn_type @I.WithSelf.II, @I.WithSelf(%I.facet.947) [concrete] -// CHECK:STDOUT: %I.WithSelf.II.622: %I.WithSelf.II.type.9c8 = struct_value () [concrete] +// CHECK:STDOUT: %I.facet.bae: %I.type = facet_value %C, (%I.impl_witness) [concrete] +// CHECK:STDOUT: %I.WithSelf.II.type.ffc: type = fn_type @I.WithSelf.II, @I.WithSelf(%I.facet.bae) [concrete] +// CHECK:STDOUT: %I.WithSelf.II.263: %I.WithSelf.II.type.ffc = struct_value () [concrete] // CHECK:STDOUT: %.196: = impl_self_witness %C, @J [concrete] // CHECK:STDOUT: %J.impl_witness: = impl_witness @C.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.J.impl.JJ.type: type = fn_type @C.as.J.impl.JJ [concrete] // CHECK:STDOUT: %C.as.J.impl.JJ: %C.as.J.impl.JJ.type = struct_value () [concrete] -// CHECK:STDOUT: %J.facet.a74: %J.type = facet_value %C, (%J.impl_witness) [concrete] -// CHECK:STDOUT: %J.WithSelf.JJ.type.95f: type = fn_type @J.WithSelf.JJ, @J.WithSelf(%J.facet.a74) [concrete] -// CHECK:STDOUT: %J.WithSelf.JJ.d09: %J.WithSelf.JJ.type.95f = struct_value () [concrete] +// CHECK:STDOUT: %J.facet.85d: %J.type = facet_value %C, (%J.impl_witness) [concrete] +// CHECK:STDOUT: %J.WithSelf.JJ.type.088: type = fn_type @J.WithSelf.JJ, @J.WithSelf(%J.facet.85d) [concrete] +// CHECK:STDOUT: %J.WithSelf.JJ.e4e: %J.WithSelf.JJ.type.088 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -139,7 +139,7 @@ fn G() { // CHECK:STDOUT: %J.WithSelf.JJ.87d: %J.WithSelf.JJ.type.383 = struct_value () [concrete] // CHECK:STDOUT: %I.WithSelf.II.type.92c: type = fn_type @I.WithSelf.II, @I.WithSelf(%C.type.facet) [concrete] // CHECK:STDOUT: %I.WithSelf.II.03d: %I.WithSelf.II.type.92c = struct_value () [concrete] -// CHECK:STDOUT: %.dd2: type = fn_type_with_self_type %J.WithSelf.JJ.type.95f, %J.facet.a74 [concrete] +// CHECK:STDOUT: %.c59: type = fn_type_with_self_type %J.WithSelf.JJ.type.088, %J.facet.85d [concrete] // CHECK:STDOUT: %C.as.J.impl.JJ.bound: = bound_method %.5d3, %C.as.J.impl.JJ [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc40_8.2 [concrete] @@ -184,7 +184,7 @@ fn G() { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %I.ref.loc22: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %J.ref.loc22: type = name_ref J, file.%J.decl [concrete = constants.%J.type] -// CHECK:STDOUT: %impl.elem0.loc22: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc22: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc22: = bound_method %I.ref.loc22, %impl.elem0.loc22 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method.loc22(%I.ref.loc22, %J.ref.loc22) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc22_19.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -408,31 +408,31 @@ fn G() { // CHECK:STDOUT: %.loc40_8.1: init %C = converted %.loc40_6.1, %.loc40_6.3 [concrete = constants.%C.val] // CHECK:STDOUT: %C.ref.loc40_24: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc40_29: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %I.facet.loc40_26: %I.type = facet_value %C.ref.loc40_24, (constants.%I.impl_witness) [concrete = constants.%I.facet.947] -// CHECK:STDOUT: %.loc40_26: %I.type = converted %C.ref.loc40_24, %I.facet.loc40_26 [concrete = constants.%I.facet.947] +// CHECK:STDOUT: %I.facet.loc40_26: %I.type = facet_value %C.ref.loc40_24, (constants.%I.impl_witness) [concrete = constants.%I.facet.bae] +// CHECK:STDOUT: %.loc40_26: %I.type = converted %C.ref.loc40_24, %I.facet.loc40_26 [concrete = constants.%I.facet.bae] // CHECK:STDOUT: %.loc40_35: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type.loc40_32: type = facet_access_type %.loc40_26 [concrete = constants.%C] // CHECK:STDOUT: %.loc40_32: type = converted %.loc40_26, %as_type.loc40_32 [concrete = constants.%C] // CHECK:STDOUT: %J.ref.loc40_44: type = name_ref J, file.%J.decl [concrete = constants.%J.type] -// CHECK:STDOUT: %J.facet.loc40_41: %J.type = facet_value %.loc40_32, (constants.%J.impl_witness) [concrete = constants.%J.facet.a74] -// CHECK:STDOUT: %.loc40_41: %J.type = converted %.loc40_32, %J.facet.loc40_41 [concrete = constants.%J.facet.a74] +// CHECK:STDOUT: %J.facet.loc40_41: %J.type = facet_value %.loc40_32, (constants.%J.impl_witness) [concrete = constants.%J.facet.85d] +// CHECK:STDOUT: %.loc40_41: %J.type = converted %.loc40_32, %J.facet.loc40_41 [concrete = constants.%J.facet.85d] // CHECK:STDOUT: %.loc40_50: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type.loc40_47: type = facet_access_type %.loc40_41 [concrete = constants.%C] // CHECK:STDOUT: %.loc40_47: type = converted %.loc40_41, %as_type.loc40_47 [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc40_59: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %I.facet.loc40_56: %I.type = facet_value %.loc40_47, (constants.%I.impl_witness) [concrete = constants.%I.facet.947] -// CHECK:STDOUT: %.loc40_56: %I.type = converted %.loc40_47, %I.facet.loc40_56 [concrete = constants.%I.facet.947] +// CHECK:STDOUT: %I.facet.loc40_56: %I.type = facet_value %.loc40_47, (constants.%I.impl_witness) [concrete = constants.%I.facet.bae] +// CHECK:STDOUT: %.loc40_56: %I.type = converted %.loc40_47, %I.facet.loc40_56 [concrete = constants.%I.facet.bae] // CHECK:STDOUT: %.loc40_65: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type.loc40_62: type = facet_access_type %.loc40_56 [concrete = constants.%C] // CHECK:STDOUT: %.loc40_62: type = converted %.loc40_56, %as_type.loc40_62 [concrete = constants.%C] // CHECK:STDOUT: %J.ref.loc40_74: type = name_ref J, file.%J.decl [concrete = constants.%J.type] -// CHECK:STDOUT: %J.facet.loc40_71: %J.type = facet_value %.loc40_62, (constants.%J.impl_witness) [concrete = constants.%J.facet.a74] -// CHECK:STDOUT: %.loc40_71: %J.type = converted %.loc40_62, %J.facet.loc40_71 [concrete = constants.%J.facet.a74] +// CHECK:STDOUT: %J.facet.loc40_71: %J.type = facet_value %.loc40_62, (constants.%J.impl_witness) [concrete = constants.%J.facet.85d] +// CHECK:STDOUT: %.loc40_71: %J.type = converted %.loc40_62, %J.facet.loc40_71 [concrete = constants.%J.facet.85d] // CHECK:STDOUT: %as_type.loc40_75: type = facet_access_type %.loc40_71 [concrete = constants.%C] // CHECK:STDOUT: %.loc40_75: type = converted %.loc40_71, %as_type.loc40_75 [concrete = constants.%C] // CHECK:STDOUT: %.loc40_8.2: ref %C = temporary %.loc40_6.2, %.loc40_8.1 [concrete = constants.%.5d3] // CHECK:STDOUT: %JJ.ref: %J.assoc_type = name_ref JJ, @J.WithSelf.%assoc0 [concrete = constants.%assoc0.7d8] -// CHECK:STDOUT: %impl.elem0: %.dd2 = impl_witness_access constants.%J.impl_witness, element0 [concrete = constants.%C.as.J.impl.JJ] +// CHECK:STDOUT: %impl.elem0: %.c59 = impl_witness_access constants.%J.impl_witness, element0 [concrete = constants.%C.as.J.impl.JJ] // CHECK:STDOUT: %bound_method: = bound_method %.loc40_8.2, %impl.elem0 [concrete = constants.%C.as.J.impl.JJ.bound] // CHECK:STDOUT: %.loc40_8.3: %C = acquire_value %.loc40_8.2 [concrete = constants.%C.val] // CHECK:STDOUT: %C.as.J.impl.JJ.call: init %empty_tuple.type = call %bound_method(%.loc40_8.3) @@ -543,30 +543,30 @@ fn G() { // CHECK:STDOUT: %self.patt.loc19_9.2 => constants.%self.patt.1c9 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.947) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.bae) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.947 -// CHECK:STDOUT: %I.WithSelf.II.type => constants.%I.WithSelf.II.type.9c8 -// CHECK:STDOUT: %I.WithSelf.II => constants.%I.WithSelf.II.622 +// CHECK:STDOUT: %Self => constants.%I.facet.bae +// CHECK:STDOUT: %I.WithSelf.II.type => constants.%I.WithSelf.II.type.ffc +// CHECK:STDOUT: %I.WithSelf.II => constants.%I.WithSelf.II.263 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.II(constants.%I.facet.947) { -// CHECK:STDOUT: %Self => constants.%I.facet.947 +// CHECK:STDOUT: specific @I.WithSelf.II(constants.%I.facet.bae) { +// CHECK:STDOUT: %Self => constants.%I.facet.bae // CHECK:STDOUT: %Self.as_type.loc16_9.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.f79 // CHECK:STDOUT: %self.param_patt.loc16_9.2 => constants.%self.param_patt.dfa // CHECK:STDOUT: %self.patt.loc16_9.2 => constants.%self.patt.947 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.a74) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.85d) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%J.facet.a74 -// CHECK:STDOUT: %J.WithSelf.JJ.type => constants.%J.WithSelf.JJ.type.95f -// CHECK:STDOUT: %J.WithSelf.JJ => constants.%J.WithSelf.JJ.d09 +// CHECK:STDOUT: %Self => constants.%J.facet.85d +// CHECK:STDOUT: %J.WithSelf.JJ.type => constants.%J.WithSelf.JJ.type.088 +// CHECK:STDOUT: %J.WithSelf.JJ => constants.%J.WithSelf.JJ.e4e // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.JJ(constants.%J.facet.a74) { -// CHECK:STDOUT: %Self => constants.%J.facet.a74 +// CHECK:STDOUT: specific @J.WithSelf.JJ(constants.%J.facet.85d) { +// CHECK:STDOUT: %Self => constants.%J.facet.85d // CHECK:STDOUT: %Self.as_type.loc19_9.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.f79 // CHECK:STDOUT: %self.param_patt.loc19_9.2 => constants.%self.param_patt.dfa @@ -598,11 +598,11 @@ fn G() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type // CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness -// CHECK:STDOUT: %I.facet.loc26_18.2 => constants.%I.facet.947 +// CHECK:STDOUT: %I.facet.loc26_18.2 => constants.%I.facet.bae // CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.impl_witness -// CHECK:STDOUT: %J.facet.loc26_33.2 => constants.%J.facet.a74 -// CHECK:STDOUT: %J.WithSelf.JJ.type => constants.%J.WithSelf.JJ.type.95f -// CHECK:STDOUT: %.loc26_69 => constants.%.dd2 +// CHECK:STDOUT: %J.facet.loc26_33.2 => constants.%J.facet.85d +// CHECK:STDOUT: %J.WithSelf.JJ.type => constants.%J.WithSelf.JJ.type.088 +// CHECK:STDOUT: %.loc26_69 => constants.%.c59 // CHECK:STDOUT: %impl.elem0.loc26_69.2 => constants.%C.as.J.impl.JJ // CHECK:STDOUT: %specific_impl_fn.loc26_69.2 => constants.%C.as.J.impl.JJ // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon b/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon index 8391414511a1..4938c08554fd 100644 --- a/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon +++ b/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon @@ -59,7 +59,7 @@ fn G() { // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.b7f: = impl_self_witness %C, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.4e9: = impl_witness @C.as.I.impl.ac9.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.490: = impl_witness @C.as.I.impl.ac9.%I.impl_witness_table [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -68,16 +68,16 @@ fn G() { // CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] // CHECK:STDOUT: %I.WithSelf.F.type.b04: type = fn_type @I.WithSelf.F, @I.WithSelf(%C.type.facet) [concrete] // CHECK:STDOUT: %I.WithSelf.F.cef: %I.WithSelf.F.type.b04 = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.029: %I.type = facet_value %C, (%I.impl_witness.4e9) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.d7f: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.029) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.1f7: %I.WithSelf.F.type.d7f = struct_value () [concrete] -// CHECK:STDOUT: %.010: type = fn_type_with_self_type %I.WithSelf.F.type.d7f, %I.facet.029 [concrete] -// CHECK:STDOUT: %I.impl_witness.d1b: = impl_witness @C.as.I.impl.e10.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.facet.aa5: %I.type = facet_value %C, (%I.impl_witness.490) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.372: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.aa5) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.d46: %I.WithSelf.F.type.372 = struct_value () [concrete] +// CHECK:STDOUT: %.a89: type = fn_type_with_self_type %I.WithSelf.F.type.372, %I.facet.aa5 [concrete] +// CHECK:STDOUT: %I.impl_witness.df5: = impl_witness @C.as.I.impl.e10.%I.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.c86: %I.type = facet_value %C, (%I.impl_witness.d1b) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.51c: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.c86) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.179: %I.WithSelf.F.type.51c = struct_value () [concrete] +// CHECK:STDOUT: %I.facet.a71: %I.type = facet_value %C, (%I.impl_witness.df5) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.cb9: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.a71) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.a58: %I.WithSelf.F.type.cb9 = struct_value () [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -121,7 +121,7 @@ fn G() { // CHECK:STDOUT: impl @C.as.I.impl.e10: %C.ref as %I.ref { // CHECK:STDOUT: %C.as.I.impl.F.decl: %C.as.I.impl.F.type = fn_decl @C.as.I.impl.F [concrete = constants.%C.as.I.impl.F] {} {} // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%C.as.I.impl.F.decl), @C.as.I.impl.e10 [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.d1b] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.df5] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %C.as.I.impl.F.decl @@ -153,7 +153,7 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.010 = impl_witness_access constants.%I.impl_witness.4e9, element0 [concrete = ] +// CHECK:STDOUT: %impl.elem0: %.a89 = impl_witness_access constants.%I.impl_witness.490, element0 [concrete = ] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -166,7 +166,7 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.010 = impl_witness_access constants.%I.impl_witness.4e9, element0 [concrete = ] +// CHECK:STDOUT: %impl.elem0: %.a89 = impl_witness_access constants.%I.impl_witness.490, element0 [concrete = ] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -186,19 +186,19 @@ fn G() { // CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.cef // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.029) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.aa5) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.029 -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.d7f -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.1f7 +// CHECK:STDOUT: %Self => constants.%I.facet.aa5 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.372 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.d46 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.c86) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.a71) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.c86 -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.51c -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.179 +// CHECK:STDOUT: %Self => constants.%I.facet.a71 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.cb9 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.a58 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.c86) {} +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.a71) {} // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/lookup/generic.carbon b/toolchain/check/testdata/impl/lookup/generic.carbon index 1c6644ce99c7..5d1e2f6fe6db 100644 --- a/toolchain/check/testdata/impl/lookup/generic.carbon +++ b/toolchain/check/testdata/impl/lookup/generic.carbon @@ -148,15 +148,15 @@ fn G(x: A) { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %.989: = impl_self_witness %T, @HasF [symbolic] -// CHECK:STDOUT: %HasF.impl_witness.ebe: = impl_witness @T.as.HasF.impl.%HasF.impl_witness_table, @T.as.HasF.impl(%T) [symbolic] +// CHECK:STDOUT: %HasF.impl_witness.c4c: = impl_witness @T.as.HasF.impl.%HasF.impl_witness_table, @T.as.HasF.impl(%T) [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] // CHECK:STDOUT: %self.param_patt.b7c: %pattern_type.51d = value_param_pattern [symbolic] // CHECK:STDOUT: %self.patt.7e4: %pattern_type.51d = at_binding_pattern self, %self.param_patt.b7c [symbolic] // CHECK:STDOUT: %T.as.HasF.impl.F.type.195: type = fn_type @T.as.HasF.impl.F, @T.as.HasF.impl(%T) [symbolic] // CHECK:STDOUT: %T.as.HasF.impl.F.863: %T.as.HasF.impl.F.type.195 = struct_value () [symbolic] -// CHECK:STDOUT: %HasF.facet.805: %HasF.type = facet_value %T, (%HasF.impl_witness.ebe) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.type.b00: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.805) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.33f: %HasF.WithSelf.F.type.b00 = struct_value () [symbolic] +// CHECK:STDOUT: %HasF.facet.d3e: %HasF.type = facet_value %T, (%HasF.impl_witness.c4c) [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.type.48c: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.d3e) [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.6a2: %HasF.WithSelf.F.type.48c = struct_value () [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %T [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -166,13 +166,13 @@ fn G(x: A) { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %.94a: = impl_self_witness %empty_struct_type, @HasF [concrete] -// CHECK:STDOUT: %HasF.impl_witness.aaf: = impl_witness @T.as.HasF.impl.%HasF.impl_witness_table, @T.as.HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %HasF.impl_witness.85b: = impl_witness @T.as.HasF.impl.%HasF.impl_witness_table, @T.as.HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %T.as.HasF.impl.F.type.d06: type = fn_type @T.as.HasF.impl.F, @T.as.HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %T.as.HasF.impl.F.e31: %T.as.HasF.impl.F.type.d06 = struct_value () [concrete] -// CHECK:STDOUT: %HasF.facet.b0f: %HasF.type = facet_value %empty_struct_type, (%HasF.impl_witness.aaf) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.476: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.b0f) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.141: %HasF.WithSelf.F.type.476 = struct_value () [concrete] -// CHECK:STDOUT: %.be5: type = fn_type_with_self_type %HasF.WithSelf.F.type.476, %HasF.facet.b0f [concrete] +// CHECK:STDOUT: %HasF.facet.db1: %HasF.type = facet_value %empty_struct_type, (%HasF.impl_witness.85b) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.c41: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.db1) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.e57: %HasF.WithSelf.F.type.c41 = struct_value () [concrete] +// CHECK:STDOUT: %.376: type = fn_type_with_self_type %HasF.WithSelf.F.type.c41, %HasF.facet.db1 [concrete] // CHECK:STDOUT: %self.param_patt.482: %pattern_type.a96 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.b63: %pattern_type.a96 = at_binding_pattern self, %self.param_patt.482 [concrete] // CHECK:STDOUT: %T.as.HasF.impl.F.specific_fn: = specific_function %T.as.HasF.impl.F.e31, @T.as.HasF.impl.F(%empty_struct_type) [concrete] @@ -250,7 +250,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.patt.loc8_15.2: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: %.loc8_33: = impl_self_witness %T.loc8_15.1, @HasF [symbolic = %.loc8_33 (constants.%.989)] -// CHECK:STDOUT: %HasF.impl_witness.loc8_33.2: = impl_witness %HasF.impl_witness_table, @T.as.HasF.impl(%T.loc8_15.1) [symbolic = %HasF.impl_witness.loc8_33.2 (constants.%HasF.impl_witness.ebe)] +// CHECK:STDOUT: %HasF.impl_witness.loc8_33.2: = impl_witness %HasF.impl_witness_table, @T.as.HasF.impl(%T.loc8_15.1) [symbolic = %HasF.impl_witness.loc8_33.2 (constants.%HasF.impl_witness.c4c)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as.HasF.impl.F.type: type = fn_type @T.as.HasF.impl.F, @T.as.HasF.impl(%T.loc8_15.1) [symbolic = %T.as.HasF.impl.F.type (constants.%T.as.HasF.impl.F.type.195)] @@ -266,7 +266,7 @@ fn G(x: A) { // CHECK:STDOUT: %self: @T.as.HasF.impl.F.%T (%T) = wrapper_binding self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (%T.as.HasF.impl.F.decl), @T.as.HasF.impl [concrete] -// CHECK:STDOUT: %HasF.impl_witness.loc8_33.1: = impl_witness %HasF.impl_witness_table, @T.as.HasF.impl(constants.%T) [symbolic = %HasF.impl_witness.loc8_33.2 (constants.%HasF.impl_witness.ebe)] +// CHECK:STDOUT: %HasF.impl_witness.loc8_33.1: = impl_witness %HasF.impl_witness_table, @T.as.HasF.impl(constants.%T) [symbolic = %HasF.impl_witness.loc8_33.2 (constants.%HasF.impl_witness.c4c)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %T.as.HasF.impl.F.decl @@ -305,7 +305,7 @@ fn G(x: A) { // CHECK:STDOUT: %x.ref: %empty_struct_type = name_ref x, %x // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %F.ref: %HasF.assoc_type = name_ref F, @HasF.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.be5 = impl_witness_access constants.%HasF.impl_witness.aaf, element0 [concrete = constants.%T.as.HasF.impl.F.e31] +// CHECK:STDOUT: %impl.elem0: %.376 = impl_witness_access constants.%HasF.impl_witness.85b, element0 [concrete = constants.%T.as.HasF.impl.F.e31] // CHECK:STDOUT: %bound_method.loc13_4: = bound_method %x.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @T.as.HasF.impl.F(constants.%empty_struct_type) [concrete = constants.%T.as.HasF.impl.F.specific_fn] // CHECK:STDOUT: %bound_method.loc13_14: = bound_method %x.ref, %specific_fn @@ -332,7 +332,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.patt.loc8_15.2 => constants.%T.patt // CHECK:STDOUT: %T.loc8_15.1 => constants.%T // CHECK:STDOUT: %.loc8_33 => constants.%.989 -// CHECK:STDOUT: %HasF.impl_witness.loc8_33.2 => constants.%HasF.impl_witness.ebe +// CHECK:STDOUT: %HasF.impl_witness.loc8_33.2 => constants.%HasF.impl_witness.c4c // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as.HasF.impl.F.type => constants.%T.as.HasF.impl.F.type.195 @@ -346,15 +346,15 @@ fn G(x: A) { // CHECK:STDOUT: %self.patt.loc9_15.2 => constants.%self.patt.7e4 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.805) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.d3e) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%HasF.facet.805 -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.b00 -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.33f +// CHECK:STDOUT: %Self => constants.%HasF.facet.d3e +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.48c +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.6a2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet.805) { -// CHECK:STDOUT: %Self => constants.%HasF.facet.805 +// CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet.d3e) { +// CHECK:STDOUT: %Self => constants.%HasF.facet.d3e // CHECK:STDOUT: %Self.as_type.loc5_8.1 => constants.%T // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d // CHECK:STDOUT: %self.param_patt.loc5_8.2 => constants.%self.param_patt.b7c @@ -365,18 +365,18 @@ fn G(x: A) { // CHECK:STDOUT: %T.patt.loc8_15.2 => constants.%T.patt // CHECK:STDOUT: %T.loc8_15.1 => constants.%empty_struct_type // CHECK:STDOUT: %.loc8_33 => constants.%.94a -// CHECK:STDOUT: %HasF.impl_witness.loc8_33.2 => constants.%HasF.impl_witness.aaf +// CHECK:STDOUT: %HasF.impl_witness.loc8_33.2 => constants.%HasF.impl_witness.85b // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as.HasF.impl.F.type => constants.%T.as.HasF.impl.F.type.d06 // CHECK:STDOUT: %T.as.HasF.impl.F => constants.%T.as.HasF.impl.F.e31 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.b0f) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.db1) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%HasF.facet.b0f -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.476 -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.141 +// CHECK:STDOUT: %Self => constants.%HasF.facet.db1 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.c41 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.e57 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as.HasF.impl.F(constants.%empty_struct_type) { @@ -412,7 +412,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T.67d [symbolic] // CHECK:STDOUT: %.1c9: = impl_self_witness %ptr.e8f, @HasF [symbolic] -// CHECK:STDOUT: %HasF.impl_witness.672: = impl_witness @ptr.as.HasF.impl.%HasF.impl_witness_table, @ptr.as.HasF.impl(%T.67d) [symbolic] +// CHECK:STDOUT: %HasF.impl_witness.bd4: = impl_witness @ptr.as.HasF.impl.%HasF.impl_witness_table, @ptr.as.HasF.impl(%T.67d) [symbolic] // CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f [symbolic] // CHECK:STDOUT: %self.param_patt.921: %pattern_type.4f4 = value_param_pattern [symbolic] // CHECK:STDOUT: %self.patt.99b: %pattern_type.4f4 = at_binding_pattern self, %self.param_patt.921 [symbolic] @@ -421,9 +421,9 @@ fn G(x: A) { // CHECK:STDOUT: %return.patt.d67: %pattern_type.4f4 = return_slot_pattern %return.param_patt.27f, %ptr.e8f [symbolic] // CHECK:STDOUT: %ptr.as.HasF.impl.F.type.d5f: type = fn_type @ptr.as.HasF.impl.F, @ptr.as.HasF.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.HasF.impl.F.be3: %ptr.as.HasF.impl.F.type.d5f = struct_value () [symbolic] -// CHECK:STDOUT: %HasF.facet.3fb: %HasF.type = facet_value %ptr.e8f, (%HasF.impl_witness.672) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.type.7fc: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.3fb) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.cbb: %HasF.WithSelf.F.type.7fc = struct_value () [symbolic] +// CHECK:STDOUT: %HasF.facet.b7c: %HasF.type = facet_value %ptr.e8f, (%HasF.impl_witness.bd4) [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.type.517: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.b7c) [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.e3a: %HasF.WithSelf.F.type.517 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete.ef1: = require_complete_type %ptr.e8f [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] @@ -447,24 +447,24 @@ fn G(x: A) { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %.897: = impl_self_witness %ptr.c28, @HasF [concrete] -// CHECK:STDOUT: %HasF.impl_witness.e43: = impl_witness @ptr.as.HasF.impl.%HasF.impl_witness_table, @ptr.as.HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %HasF.impl_witness.6e1: = impl_witness @ptr.as.HasF.impl.%HasF.impl_witness_table, @ptr.as.HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %ptr.as.HasF.impl.F.type.03e: type = fn_type @ptr.as.HasF.impl.F, @ptr.as.HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %ptr.as.HasF.impl.F.156: %ptr.as.HasF.impl.F.type.03e = struct_value () [concrete] -// CHECK:STDOUT: %HasF.facet.7a9: %HasF.type = facet_value %ptr.c28, (%HasF.impl_witness.e43) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.c4f: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.7a9) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.814: %HasF.WithSelf.F.type.c4f = struct_value () [concrete] -// CHECK:STDOUT: %.2ad: type = fn_type_with_self_type %HasF.WithSelf.F.type.c4f, %HasF.facet.7a9 [concrete] +// CHECK:STDOUT: %HasF.facet.84d: %HasF.type = facet_value %ptr.c28, (%HasF.impl_witness.6e1) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.470: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.84d) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.8ab: %HasF.WithSelf.F.type.470 = struct_value () [concrete] +// CHECK:STDOUT: %.41a: type = fn_type_with_self_type %HasF.WithSelf.F.type.470, %HasF.facet.84d [concrete] // CHECK:STDOUT: %self.param_patt.4b0: %pattern_type.1cc = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.254: %pattern_type.1cc = at_binding_pattern self, %self.param_patt.4b0 [concrete] // CHECK:STDOUT: %ptr.as.HasF.impl.F.specific_fn: = specific_function %ptr.as.HasF.impl.F.156, @ptr.as.HasF.impl.F(%empty_struct_type) [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %ptr.c28 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.1c2: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.e8f: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.6c5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.9ed: %ptr.as.Copy.impl.Op.type.6c5 = struct_value () [concrete] // CHECK:STDOUT: %.a81: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %Copy.facet.80f: %Copy.type = facet_value %ptr.c28, (%Copy.impl_witness.1c2) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.80f) [concrete] -// CHECK:STDOUT: %.523: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8a4, %Copy.facet.80f [concrete] +// CHECK:STDOUT: %Copy.facet.8c1: %Copy.type = facet_value %ptr.c28, (%Copy.impl_witness.e8f) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.42f: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.8c1) [concrete] +// CHECK:STDOUT: %.f18: type = fn_type_with_self_type %Copy.WithSelf.Op.type.42f, %Copy.facet.8c1 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.9ed, @ptr.as.Copy.impl.Op(%empty_struct_type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -476,7 +476,7 @@ fn G(x: A) { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -563,7 +563,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T.67d)] // CHECK:STDOUT: %ptr.loc8_24.1: type = ptr_type %T.loc8_15.1 [symbolic = %ptr.loc8_24.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc8_34: = impl_self_witness %ptr.loc8_24.1, @HasF [symbolic = %.loc8_34 (constants.%.1c9)] -// CHECK:STDOUT: %HasF.impl_witness.loc8_34.2: = impl_witness %HasF.impl_witness_table, @ptr.as.HasF.impl(%T.loc8_15.1) [symbolic = %HasF.impl_witness.loc8_34.2 (constants.%HasF.impl_witness.672)] +// CHECK:STDOUT: %HasF.impl_witness.loc8_34.2: = impl_witness %HasF.impl_witness_table, @ptr.as.HasF.impl(%T.loc8_15.1) [symbolic = %HasF.impl_witness.loc8_34.2 (constants.%HasF.impl_witness.bd4)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %ptr.as.HasF.impl.F.type: type = fn_type @ptr.as.HasF.impl.F, @ptr.as.HasF.impl(%T.loc8_15.1) [symbolic = %ptr.as.HasF.impl.F.type (constants.%ptr.as.HasF.impl.F.type.d5f)] @@ -586,7 +586,7 @@ fn G(x: A) { // CHECK:STDOUT: %return: ref @ptr.as.HasF.impl.F.%ptr.loc9_8 (%ptr.e8f) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (%ptr.as.HasF.impl.F.decl), @ptr.as.HasF.impl [concrete] -// CHECK:STDOUT: %HasF.impl_witness.loc8_34.1: = impl_witness %HasF.impl_witness_table, @ptr.as.HasF.impl(constants.%T.67d) [symbolic = %HasF.impl_witness.loc8_34.2 (constants.%HasF.impl_witness.672)] +// CHECK:STDOUT: %HasF.impl_witness.loc8_34.1: = impl_witness %HasF.impl_witness_table, @ptr.as.HasF.impl(constants.%T.67d) [symbolic = %HasF.impl_witness.loc8_34.2 (constants.%HasF.impl_witness.bd4)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .T = @@ -650,7 +650,7 @@ fn G(x: A) { // CHECK:STDOUT: %x.ref: %ptr.c28 = name_ref x, %x // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %F.ref: %HasF.assoc_type = name_ref F, @HasF.WithSelf.%assoc0 [concrete = constants.%assoc0.a0c] -// CHECK:STDOUT: %impl.elem0: %.2ad = impl_witness_access constants.%HasF.impl_witness.e43, element0 [concrete = constants.%ptr.as.HasF.impl.F.156] +// CHECK:STDOUT: %impl.elem0: %.41a = impl_witness_access constants.%HasF.impl_witness.6e1, element0 [concrete = constants.%ptr.as.HasF.impl.F.156] // CHECK:STDOUT: %bound_method.loc13_11: = bound_method %x.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.HasF.impl.F(constants.%empty_struct_type) [concrete = constants.%ptr.as.HasF.impl.F.specific_fn] // CHECK:STDOUT: %bound_method.loc13_21: = bound_method %x.ref, %specific_fn @@ -681,7 +681,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc8_15.1 => constants.%T.67d // CHECK:STDOUT: %ptr.loc8_24.1 => constants.%ptr.e8f // CHECK:STDOUT: %.loc8_34 => constants.%.1c9 -// CHECK:STDOUT: %HasF.impl_witness.loc8_34.2 => constants.%HasF.impl_witness.672 +// CHECK:STDOUT: %HasF.impl_witness.loc8_34.2 => constants.%HasF.impl_witness.bd4 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %ptr.as.HasF.impl.F.type => constants.%ptr.as.HasF.impl.F.type.d5f @@ -699,15 +699,15 @@ fn G(x: A) { // CHECK:STDOUT: %return.patt.loc9_14.2 => constants.%return.patt.d67 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.3fb) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.b7c) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%HasF.facet.3fb -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.7fc -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.cbb +// CHECK:STDOUT: %Self => constants.%HasF.facet.b7c +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.517 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.e3a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet.3fb) { -// CHECK:STDOUT: %Self => constants.%HasF.facet.3fb +// CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet.b7c) { +// CHECK:STDOUT: %Self => constants.%HasF.facet.b7c // CHECK:STDOUT: %Self.as_type.loc5_8.1 => constants.%ptr.e8f // CHECK:STDOUT: %pattern_type => constants.%pattern_type.4f4 // CHECK:STDOUT: %self.param_patt.loc5_8.2 => constants.%self.param_patt.921 @@ -722,18 +722,18 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc8_15.1 => constants.%empty_struct_type // CHECK:STDOUT: %ptr.loc8_24.1 => constants.%ptr.c28 // CHECK:STDOUT: %.loc8_34 => constants.%.897 -// CHECK:STDOUT: %HasF.impl_witness.loc8_34.2 => constants.%HasF.impl_witness.e43 +// CHECK:STDOUT: %HasF.impl_witness.loc8_34.2 => constants.%HasF.impl_witness.6e1 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %ptr.as.HasF.impl.F.type => constants.%ptr.as.HasF.impl.F.type.03e // CHECK:STDOUT: %ptr.as.HasF.impl.F => constants.%ptr.as.HasF.impl.F.156 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.7a9) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.84d) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%HasF.facet.7a9 -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.c4f -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.814 +// CHECK:STDOUT: %Self => constants.%HasF.facet.84d +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.470 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.8ab // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @ptr.as.HasF.impl.F(constants.%empty_struct_type) { @@ -749,10 +749,10 @@ fn G(x: A) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type // CHECK:STDOUT: %.loc9_29.3 => constants.%.a81 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.1c2 -// CHECK:STDOUT: %Copy.facet.loc9_29.3 => constants.%Copy.facet.80f -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.8a4 -// CHECK:STDOUT: %.loc9_29.4 => constants.%.523 +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.e8f +// CHECK:STDOUT: %Copy.facet.loc9_29.3 => constants.%Copy.facet.8c1 +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.42f +// CHECK:STDOUT: %.loc9_29.4 => constants.%.f18 // CHECK:STDOUT: %impl.elem0.loc9_29.2 => constants.%ptr.as.Copy.impl.Op.9ed // CHECK:STDOUT: %specific_impl_fn.loc9_29.2 => constants.%ptr.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } @@ -782,15 +782,15 @@ fn G(x: A) { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %.9f4: = impl_self_witness %C.1d0, @HasF [symbolic] -// CHECK:STDOUT: %HasF.impl_witness.4e6: = impl_witness @C.as.HasF.impl.%HasF.impl_witness_table, @C.as.HasF.impl(%T) [symbolic] +// CHECK:STDOUT: %HasF.impl_witness.cc9: = impl_witness @C.as.HasF.impl.%HasF.impl_witness_table, @C.as.HasF.impl(%T) [symbolic] // CHECK:STDOUT: %pattern_type.ebe: type = pattern_type %C.1d0 [symbolic] // CHECK:STDOUT: %self.param_patt.5bc: %pattern_type.ebe = value_param_pattern [symbolic] // CHECK:STDOUT: %self.patt.6f1: %pattern_type.ebe = at_binding_pattern self, %self.param_patt.5bc [symbolic] // CHECK:STDOUT: %C.as.HasF.impl.F.type.67f: type = fn_type @C.as.HasF.impl.F, @C.as.HasF.impl(%T) [symbolic] // CHECK:STDOUT: %C.as.HasF.impl.F.7ba: %C.as.HasF.impl.F.type.67f = struct_value () [symbolic] -// CHECK:STDOUT: %HasF.facet.0c3: %HasF.type = facet_value %C.1d0, (%HasF.impl_witness.4e6) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.type.2db: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.0c3) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.5ef: %HasF.WithSelf.F.type.2db = struct_value () [symbolic] +// CHECK:STDOUT: %HasF.facet.831: %HasF.type = facet_value %C.1d0, (%HasF.impl_witness.cc9) [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.type.8e1: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.831) [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.733: %HasF.WithSelf.F.type.8e1 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %C.1d0 [symbolic] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.d8e: type = class_type @C, @C(%empty_struct_type) [concrete] @@ -800,13 +800,13 @@ fn G(x: A) { // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %.014: = impl_self_witness %C.d8e, @HasF [concrete] -// CHECK:STDOUT: %HasF.impl_witness.f0d: = impl_witness @C.as.HasF.impl.%HasF.impl_witness_table, @C.as.HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %HasF.impl_witness.820: = impl_witness @C.as.HasF.impl.%HasF.impl_witness_table, @C.as.HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F.type.edc: type = fn_type @C.as.HasF.impl.F, @C.as.HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F.612: %C.as.HasF.impl.F.type.edc = struct_value () [concrete] -// CHECK:STDOUT: %HasF.facet.132: %HasF.type = facet_value %C.d8e, (%HasF.impl_witness.f0d) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.938: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.132) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.787: %HasF.WithSelf.F.type.938 = struct_value () [concrete] -// CHECK:STDOUT: %.bf7: type = fn_type_with_self_type %HasF.WithSelf.F.type.938, %HasF.facet.132 [concrete] +// CHECK:STDOUT: %HasF.facet.cc9: %HasF.type = facet_value %C.d8e, (%HasF.impl_witness.820) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.abd: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet.cc9) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.f56: %HasF.WithSelf.F.type.abd = struct_value () [concrete] +// CHECK:STDOUT: %.286: type = fn_type_with_self_type %HasF.WithSelf.F.type.abd, %HasF.facet.cc9 [concrete] // CHECK:STDOUT: %self.param_patt.12a: %pattern_type.2fd = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.ac5: %pattern_type.2fd = at_binding_pattern self, %self.param_patt.12a [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F.specific_fn: = specific_function %C.as.HasF.impl.F.612, @C.as.HasF.impl.F(%empty_struct_type) [concrete] @@ -898,7 +898,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc10_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc10_15.1 (constants.%T)] // CHECK:STDOUT: %C.loc10_26.1: type = class_type @C, @C(%T.loc10_15.1) [symbolic = %C.loc10_26.1 (constants.%C.1d0)] // CHECK:STDOUT: %.loc10_36: = impl_self_witness %C.loc10_26.1, @HasF [symbolic = %.loc10_36 (constants.%.9f4)] -// CHECK:STDOUT: %HasF.impl_witness.loc10_36.2: = impl_witness %HasF.impl_witness_table, @C.as.HasF.impl(%T.loc10_15.1) [symbolic = %HasF.impl_witness.loc10_36.2 (constants.%HasF.impl_witness.4e6)] +// CHECK:STDOUT: %HasF.impl_witness.loc10_36.2: = impl_witness %HasF.impl_witness_table, @C.as.HasF.impl(%T.loc10_15.1) [symbolic = %HasF.impl_witness.loc10_36.2 (constants.%HasF.impl_witness.cc9)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %C.as.HasF.impl.F.type: type = fn_type @C.as.HasF.impl.F, @C.as.HasF.impl(%T.loc10_15.1) [symbolic = %C.as.HasF.impl.F.type (constants.%C.as.HasF.impl.F.type.67f)] @@ -914,7 +914,7 @@ fn G(x: A) { // CHECK:STDOUT: %self: @C.as.HasF.impl.F.%C (%C.1d0) = wrapper_binding self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (%C.as.HasF.impl.F.decl), @C.as.HasF.impl [concrete] -// CHECK:STDOUT: %HasF.impl_witness.loc10_36.1: = impl_witness %HasF.impl_witness_table, @C.as.HasF.impl(constants.%T) [symbolic = %HasF.impl_witness.loc10_36.2 (constants.%HasF.impl_witness.4e6)] +// CHECK:STDOUT: %HasF.impl_witness.loc10_36.1: = impl_witness %HasF.impl_witness_table, @C.as.HasF.impl(constants.%T) [symbolic = %HasF.impl_witness.loc10_36.2 (constants.%HasF.impl_witness.cc9)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %C.as.HasF.impl.F.decl @@ -969,7 +969,7 @@ fn G(x: A) { // CHECK:STDOUT: %x.ref: %C.d8e = name_ref x, %x // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] // CHECK:STDOUT: %F.ref: %HasF.assoc_type = name_ref F, @HasF.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.bf7 = impl_witness_access constants.%HasF.impl_witness.f0d, element0 [concrete = constants.%C.as.HasF.impl.F.612] +// CHECK:STDOUT: %impl.elem0: %.286 = impl_witness_access constants.%HasF.impl_witness.820, element0 [concrete = constants.%C.as.HasF.impl.F.612] // CHECK:STDOUT: %bound_method.loc15_4: = bound_method %x.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @C.as.HasF.impl.F(constants.%empty_struct_type) [concrete = constants.%C.as.HasF.impl.F.specific_fn] // CHECK:STDOUT: %bound_method.loc15_14: = bound_method %x.ref, %specific_fn @@ -1004,7 +1004,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc10_15.1 => constants.%T // CHECK:STDOUT: %C.loc10_26.1 => constants.%C.1d0 // CHECK:STDOUT: %.loc10_36 => constants.%.9f4 -// CHECK:STDOUT: %HasF.impl_witness.loc10_36.2 => constants.%HasF.impl_witness.4e6 +// CHECK:STDOUT: %HasF.impl_witness.loc10_36.2 => constants.%HasF.impl_witness.cc9 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %C.as.HasF.impl.F.type => constants.%C.as.HasF.impl.F.type.67f @@ -1019,15 +1019,15 @@ fn G(x: A) { // CHECK:STDOUT: %self.patt.loc11_15.2 => constants.%self.patt.6f1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.0c3) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.831) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%HasF.facet.0c3 -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.2db -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.5ef +// CHECK:STDOUT: %Self => constants.%HasF.facet.831 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.8e1 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.733 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet.0c3) { -// CHECK:STDOUT: %Self => constants.%HasF.facet.0c3 +// CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet.831) { +// CHECK:STDOUT: %Self => constants.%HasF.facet.831 // CHECK:STDOUT: %Self.as_type.loc5_8.1 => constants.%C.1d0 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.ebe // CHECK:STDOUT: %self.param_patt.loc5_8.2 => constants.%self.param_patt.5bc @@ -1046,18 +1046,18 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc10_15.1 => constants.%empty_struct_type // CHECK:STDOUT: %C.loc10_26.1 => constants.%C.d8e // CHECK:STDOUT: %.loc10_36 => constants.%.014 -// CHECK:STDOUT: %HasF.impl_witness.loc10_36.2 => constants.%HasF.impl_witness.f0d +// CHECK:STDOUT: %HasF.impl_witness.loc10_36.2 => constants.%HasF.impl_witness.820 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %C.as.HasF.impl.F.type => constants.%C.as.HasF.impl.F.type.edc // CHECK:STDOUT: %C.as.HasF.impl.F => constants.%C.as.HasF.impl.F.612 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.132) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet.cc9) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%HasF.facet.132 -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.938 -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.787 +// CHECK:STDOUT: %Self => constants.%HasF.facet.cc9 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.abd +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.f56 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.HasF.impl.F(constants.%empty_struct_type) { @@ -1095,16 +1095,16 @@ fn G(x: A) { // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %.500: = impl_self_witness %empty_struct_type, @HasF, @HasF(%T) [symbolic] -// CHECK:STDOUT: %HasF.impl_witness.932: = impl_witness @empty_struct_type.as.HasF.impl.%HasF.impl_witness_table, @empty_struct_type.as.HasF.impl(%T) [symbolic] +// CHECK:STDOUT: %HasF.impl_witness.5f9: = impl_witness @empty_struct_type.as.HasF.impl.%HasF.impl_witness_table, @empty_struct_type.as.HasF.impl(%T) [symbolic] // CHECK:STDOUT: %require_complete: = require_complete_type %HasF.type.daf [symbolic] // CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] // CHECK:STDOUT: %self.param_patt.482: %pattern_type.a96 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.b63: %pattern_type.a96 = at_binding_pattern self, %self.param_patt.482 [concrete] // CHECK:STDOUT: %empty_struct_type.as.HasF.impl.F.type.5ee: type = fn_type @empty_struct_type.as.HasF.impl.F, @empty_struct_type.as.HasF.impl(%T) [symbolic] // CHECK:STDOUT: %empty_struct_type.as.HasF.impl.F.b79: %empty_struct_type.as.HasF.impl.F.type.5ee = struct_value () [symbolic] -// CHECK:STDOUT: %HasF.facet.9f2: %HasF.type.daf = facet_value %empty_struct_type, (%HasF.impl_witness.932) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.type.dd7: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%T, %HasF.facet.9f2) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.7b3: %HasF.WithSelf.F.type.dd7 = struct_value () [symbolic] +// CHECK:STDOUT: %HasF.facet.5dc: %HasF.type.daf = facet_value %empty_struct_type, (%HasF.impl_witness.5f9) [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.type.c8f: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%T, %HasF.facet.5dc) [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.c26: %HasF.WithSelf.F.type.c8f = struct_value () [symbolic] // CHECK:STDOUT: %x.param_patt: %pattern_type.a96 = value_param_pattern [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.a96 = at_binding_pattern x, %x.param_patt [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] @@ -1116,14 +1116,14 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.assoc_type.1d0: type = assoc_entity_type @HasF, @HasF(%empty_struct_type) [concrete] // CHECK:STDOUT: %assoc0.3f7: %HasF.assoc_type.1d0 = assoc_entity element0, @HasF.WithSelf.%HasF.WithSelf.F.decl [concrete] // CHECK:STDOUT: %.232: = impl_self_witness %empty_struct_type, @HasF, @HasF(%empty_struct_type) [concrete] -// CHECK:STDOUT: %HasF.impl_witness.7f1: = impl_witness @empty_struct_type.as.HasF.impl.%HasF.impl_witness_table, @empty_struct_type.as.HasF.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %HasF.impl_witness.38f: = impl_witness @empty_struct_type.as.HasF.impl.%HasF.impl_witness_table, @empty_struct_type.as.HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %HasF.type.b91 [concrete] // CHECK:STDOUT: %empty_struct_type.as.HasF.impl.F.type.6cf: type = fn_type @empty_struct_type.as.HasF.impl.F, @empty_struct_type.as.HasF.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %empty_struct_type.as.HasF.impl.F.0aa: %empty_struct_type.as.HasF.impl.F.type.6cf = struct_value () [concrete] -// CHECK:STDOUT: %HasF.facet.b45: %HasF.type.b91 = facet_value %empty_struct_type, (%HasF.impl_witness.7f1) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.1ff: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%empty_struct_type, %HasF.facet.b45) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.260: %HasF.WithSelf.F.type.1ff = struct_value () [concrete] -// CHECK:STDOUT: %.abf: type = fn_type_with_self_type %HasF.WithSelf.F.type.1ff, %HasF.facet.b45 [concrete] +// CHECK:STDOUT: %HasF.facet.4e5: %HasF.type.b91 = facet_value %empty_struct_type, (%HasF.impl_witness.38f) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.48c: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%empty_struct_type, %HasF.facet.4e5) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.077: %HasF.WithSelf.F.type.48c = struct_value () [concrete] +// CHECK:STDOUT: %.6a4: type = fn_type_with_self_type %HasF.WithSelf.F.type.48c, %HasF.facet.4e5 [concrete] // CHECK:STDOUT: %empty_struct_type.as.HasF.impl.F.specific_fn: = specific_function %empty_struct_type.as.HasF.impl.F.0aa, @empty_struct_type.as.HasF.impl.F(%empty_struct_type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1220,7 +1220,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc8_15.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_35.1: type = facet_type <@HasF, @HasF(%T.loc8_15.1)> [symbolic = %HasF.type.loc8_35.1 (constants.%HasF.type.daf)] // CHECK:STDOUT: %.loc8_37: = impl_self_witness constants.%empty_struct_type, @HasF, @HasF(%T.loc8_15.1) [symbolic = %.loc8_37 (constants.%.500)] -// CHECK:STDOUT: %HasF.impl_witness.loc8_37.2: = impl_witness %HasF.impl_witness_table, @empty_struct_type.as.HasF.impl(%T.loc8_15.1) [symbolic = %HasF.impl_witness.loc8_37.2 (constants.%HasF.impl_witness.932)] +// CHECK:STDOUT: %HasF.impl_witness.loc8_37.2: = impl_witness %HasF.impl_witness_table, @empty_struct_type.as.HasF.impl(%T.loc8_15.1) [symbolic = %HasF.impl_witness.loc8_37.2 (constants.%HasF.impl_witness.5f9)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %HasF.type.loc8_35.1 [symbolic = %require_complete (constants.%require_complete)] @@ -1237,7 +1237,7 @@ fn G(x: A) { // CHECK:STDOUT: %self: %empty_struct_type = wrapper_binding self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %HasF.impl_witness_table = impl_witness_table (%empty_struct_type.as.HasF.impl.F.decl), @empty_struct_type.as.HasF.impl [concrete] -// CHECK:STDOUT: %HasF.impl_witness.loc8_37.1: = impl_witness %HasF.impl_witness_table, @empty_struct_type.as.HasF.impl(constants.%T) [symbolic = %HasF.impl_witness.loc8_37.2 (constants.%HasF.impl_witness.932)] +// CHECK:STDOUT: %HasF.impl_witness.loc8_37.1: = impl_witness %HasF.impl_witness_table, @empty_struct_type.as.HasF.impl(constants.%T) [symbolic = %HasF.impl_witness.loc8_37.2 (constants.%HasF.impl_witness.5f9)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %empty_struct_type.as.HasF.impl.F.decl @@ -1276,7 +1276,7 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF, @HasF(constants.%empty_struct_type)> [concrete = constants.%HasF.type.b91] // CHECK:STDOUT: %.loc13_14: %HasF.assoc_type.1d0 = specific_constant @HasF.WithSelf.%assoc0.loc5_13.1, @HasF.WithSelf(constants.%empty_struct_type, constants.%Self.822) [concrete = constants.%assoc0.3f7] // CHECK:STDOUT: %F.ref: %HasF.assoc_type.1d0 = name_ref F, %.loc13_14 [concrete = constants.%assoc0.3f7] -// CHECK:STDOUT: %impl.elem0: %.abf = impl_witness_access constants.%HasF.impl_witness.7f1, element0 [concrete = constants.%empty_struct_type.as.HasF.impl.F.0aa] +// CHECK:STDOUT: %impl.elem0: %.6a4 = impl_witness_access constants.%HasF.impl_witness.38f, element0 [concrete = constants.%empty_struct_type.as.HasF.impl.F.0aa] // CHECK:STDOUT: %bound_method.loc13_4: = bound_method %x.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @empty_struct_type.as.HasF.impl.F(constants.%empty_struct_type) [concrete = constants.%empty_struct_type.as.HasF.impl.F.specific_fn] // CHECK:STDOUT: %bound_method.loc13_18: = bound_method %x.ref, %specific_fn @@ -1319,7 +1319,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc8_15.1 => constants.%T // CHECK:STDOUT: %HasF.type.loc8_35.1 => constants.%HasF.type.daf // CHECK:STDOUT: %.loc8_37 => constants.%.500 -// CHECK:STDOUT: %HasF.impl_witness.loc8_37.2 => constants.%HasF.impl_witness.932 +// CHECK:STDOUT: %HasF.impl_witness.loc8_37.2 => constants.%HasF.impl_witness.5f9 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%require_complete @@ -1329,21 +1329,21 @@ fn G(x: A) { // CHECK:STDOUT: // CHECK:STDOUT: specific @empty_struct_type.as.HasF.impl.F(constants.%T) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%T, constants.%HasF.facet.9f2) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%T, constants.%HasF.facet.5dc) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %HasF.type => constants.%HasF.type.daf -// CHECK:STDOUT: %Self => constants.%HasF.facet.9f2 -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.dd7 -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.7b3 +// CHECK:STDOUT: %Self => constants.%HasF.facet.5dc +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.c8f +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.c26 // CHECK:STDOUT: %HasF.assoc_type => constants.%HasF.assoc_type.ddf // CHECK:STDOUT: %assoc0.loc5_13.2 => constants.%assoc0.e9a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%T, constants.%HasF.facet.9f2) { +// CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%T, constants.%HasF.facet.5dc) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %HasF.type => constants.%HasF.type.daf -// CHECK:STDOUT: %Self => constants.%HasF.facet.9f2 +// CHECK:STDOUT: %Self => constants.%HasF.facet.5dc // CHECK:STDOUT: %Self.as_type.loc5_8.1 => constants.%empty_struct_type // CHECK:STDOUT: %pattern_type => constants.%pattern_type.a96 // CHECK:STDOUT: %self.param_patt.loc5_8.2 => constants.%self.param_patt.482 @@ -1375,7 +1375,7 @@ fn G(x: A) { // CHECK:STDOUT: %T.loc8_15.1 => constants.%empty_struct_type // CHECK:STDOUT: %HasF.type.loc8_35.1 => constants.%HasF.type.b91 // CHECK:STDOUT: %.loc8_37 => constants.%.232 -// CHECK:STDOUT: %HasF.impl_witness.loc8_37.2 => constants.%HasF.impl_witness.7f1 +// CHECK:STDOUT: %HasF.impl_witness.loc8_37.2 => constants.%HasF.impl_witness.38f // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type @@ -1383,13 +1383,13 @@ fn G(x: A) { // CHECK:STDOUT: %empty_struct_type.as.HasF.impl.F => constants.%empty_struct_type.as.HasF.impl.F.0aa // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasF.WithSelf(constants.%empty_struct_type, constants.%HasF.facet.b45) { +// CHECK:STDOUT: specific @HasF.WithSelf(constants.%empty_struct_type, constants.%HasF.facet.4e5) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%empty_struct_type // CHECK:STDOUT: %HasF.type => constants.%HasF.type.b91 -// CHECK:STDOUT: %Self => constants.%HasF.facet.b45 -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.1ff -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.260 +// CHECK:STDOUT: %Self => constants.%HasF.facet.4e5 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.48c +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.077 // CHECK:STDOUT: %HasF.assoc_type => constants.%HasF.assoc_type.1d0 // CHECK:STDOUT: %assoc0.loc5_13.2 => constants.%assoc0.3f7 // CHECK:STDOUT: } @@ -1636,8 +1636,8 @@ fn G(x: A) { // CHECK:STDOUT: %T.as.HasF.impl.F.type: type = fn_type @T.as.HasF.impl.F, @T.as.HasF.impl(%T) [symbolic] // CHECK:STDOUT: %T.as.HasF.impl.F: %T.as.HasF.impl.F.type = struct_value () [symbolic] // CHECK:STDOUT: %HasF.facet: %HasF.type.daf = facet_value %T, (%HasF.impl_witness) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.type.f9f: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%T, %HasF.facet) [symbolic] -// CHECK:STDOUT: %HasF.WithSelf.F.3d5: %HasF.WithSelf.F.type.f9f = struct_value () [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.type.260: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%T, %HasF.facet) [symbolic] +// CHECK:STDOUT: %HasF.WithSelf.F.8f7: %HasF.WithSelf.F.type.260 = struct_value () [symbolic] // CHECK:STDOUT: %require_complete.944: = require_complete_type %T [symbolic] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -1884,8 +1884,8 @@ fn G(x: A) { // CHECK:STDOUT: %T => constants.%T // CHECK:STDOUT: %HasF.type => constants.%HasF.type.daf // CHECK:STDOUT: %Self => constants.%HasF.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.f9f -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.3d5 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.260 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.8f7 // CHECK:STDOUT: %HasF.assoc_type => constants.%HasF.assoc_type.ddf // CHECK:STDOUT: %assoc0.loc5_13.2 => constants.%assoc0.e9a // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/impl_forall.carbon b/toolchain/check/testdata/impl/lookup/impl_forall.carbon index 8d8ca8f49925..eb6d0b1b5206 100644 --- a/toolchain/check/testdata/impl/lookup/impl_forall.carbon +++ b/toolchain/check/testdata/impl/lookup/impl_forall.carbon @@ -61,7 +61,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %A.47a1de.2: type = class_type @A, @A(%V.67d) [symbolic] // CHECK:STDOUT: %I.type.3fe556.2: type = facet_type <@I, @I(%V.67d)> [symbolic] // CHECK:STDOUT: %.dcb87d.1: = impl_self_witness %A.47a1de.2, @I, @I(%V.67d) [symbolic] -// CHECK:STDOUT: %I.impl_witness.25d8bb.1: = impl_witness @A.as.I.impl.%I.impl_witness_table, @A.as.I.impl(%V.67d) [symbolic] +// CHECK:STDOUT: %I.impl_witness.ee9f63.1: = impl_witness @A.as.I.impl.%I.impl_witness_table, @A.as.I.impl(%V.67d) [symbolic] // CHECK:STDOUT: %require_complete.45eab2.1: = require_complete_type %I.type.3fe556.2 [symbolic] // CHECK:STDOUT: %pattern_type.44a178.1: type = pattern_type %A.47a1de.2 [symbolic] // CHECK:STDOUT: %self.param_patt.a903c4.1: %pattern_type.44a178.1 = ref_param_pattern [symbolic] @@ -104,7 +104,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %require_complete.45eab2.2: = require_complete_type %I.type.3fe556.3 [symbolic] // CHECK:STDOUT: %I.lookup_impl_witness: = lookup_impl_witness %A.47a1de.3, @I, @I(%W) [symbolic] // CHECK:STDOUT: %.dcb87d.2: = impl_self_witness %A.47a1de.3, @I, @I(%W) [symbolic] -// CHECK:STDOUT: %I.impl_witness.25d8bb.2: = impl_witness @A.as.I.impl.%I.impl_witness_table, @A.as.I.impl(%W) [symbolic] +// CHECK:STDOUT: %I.impl_witness.ee9f63.2: = impl_witness @A.as.I.impl.%I.impl_witness_table, @A.as.I.impl(%W) [symbolic] // CHECK:STDOUT: %A.as.I.impl.F.type.d1ec9e.2: type = fn_type @A.as.I.impl.F, @A.as.I.impl(%W) [symbolic] // CHECK:STDOUT: %A.as.I.impl.F.d83bf5.2: %A.as.I.impl.F.type.d1ec9e.2 = struct_value () [symbolic] // CHECK:STDOUT: %.346: require_specific_def_type = require_specific_def @A.as.I.impl(%W) [symbolic] @@ -126,13 +126,13 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %I.assoc_type.cd3: type = assoc_entity_type @I, @I(%empty_struct_type) [concrete] // CHECK:STDOUT: %assoc0.a4c: %I.assoc_type.cd3 = assoc_entity element0, @I.WithSelf.%I.WithSelf.F.decl [concrete] // CHECK:STDOUT: %.91b: = impl_self_witness %A.940, @I, @I(%empty_struct_type) [concrete] -// CHECK:STDOUT: %I.impl_witness.e69: = impl_witness @A.as.I.impl.%I.impl_witness_table, @A.as.I.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %I.impl_witness.a45: = impl_witness @A.as.I.impl.%I.impl_witness_table, @A.as.I.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %complete_type.7da: = complete_type_witness %I.type.81d [concrete] // CHECK:STDOUT: %A.as.I.impl.F.type.a42: type = fn_type @A.as.I.impl.F, @A.as.I.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %A.as.I.impl.F.837: %A.as.I.impl.F.type.a42 = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.3f4: %I.type.81d = facet_value %A.940, (%I.impl_witness.e69) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.071: type = fn_type @I.WithSelf.F, @I.WithSelf(%empty_struct_type, %I.facet.3f4) [concrete] -// CHECK:STDOUT: %.6b2: type = fn_type_with_self_type %I.WithSelf.F.type.071, %I.facet.3f4 [concrete] +// CHECK:STDOUT: %I.facet.cc9: %I.type.81d = facet_value %A.940, (%I.impl_witness.a45) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.2da: type = fn_type @I.WithSelf.F, @I.WithSelf(%empty_struct_type, %I.facet.cc9) [concrete] +// CHECK:STDOUT: %.f98: type = fn_type_with_self_type %I.WithSelf.F.type.2da, %I.facet.cc9 [concrete] // CHECK:STDOUT: %pattern_type.1ff: type = pattern_type %A.940 [concrete] // CHECK:STDOUT: %self.param_patt.0f0: %pattern_type.1ff = ref_param_pattern [concrete] // CHECK:STDOUT: %self.patt.975: %pattern_type.1ff = at_binding_pattern self, %self.param_patt.0f0 [concrete] @@ -141,19 +141,19 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %struct_type.n.91c: type = struct_type {.n: %empty_struct_type} [concrete] // CHECK:STDOUT: %complete_type.0a6: = complete_type_witness %struct_type.n.91c [concrete] // CHECK:STDOUT: %complete_type.38e: = complete_type_witness %ptr.c28 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.1c2: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%empty_struct_type) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.e8f: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.6c5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%empty_struct_type) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.9ed: %ptr.as.Copy.impl.Op.type.6c5 = struct_value () [concrete] // CHECK:STDOUT: %.a81: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%empty_struct_type) [concrete] -// CHECK:STDOUT: %Copy.facet.80f: %Copy.type = facet_value %ptr.c28, (%Copy.impl_witness.1c2) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.80f) [concrete] -// CHECK:STDOUT: %.523: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8a4, %Copy.facet.80f [concrete] +// CHECK:STDOUT: %Copy.facet.8c1: %Copy.type = facet_value %ptr.c28, (%Copy.impl_witness.e8f) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.42f: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.8c1) [concrete] +// CHECK:STDOUT: %.f18: type = fn_type_with_self_type %Copy.WithSelf.Op.type.42f, %Copy.facet.8c1 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.9ed, @ptr.as.Copy.impl.Op(%empty_struct_type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5f0d.1) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce912e.1)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -181,7 +181,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %A.loc12_26.1: type = class_type @A, @A(%V.loc12_15.1) [symbolic = %A.loc12_26.1 (constants.%A.47a1de.2)] // CHECK:STDOUT: %I.type.loc12_34.1: type = facet_type <@I, @I(%V.loc12_15.1)> [symbolic = %I.type.loc12_34.1 (constants.%I.type.3fe556.2)] // CHECK:STDOUT: %.loc12_36: = impl_self_witness %A.loc12_26.1, @I, @I(%V.loc12_15.1) [symbolic = %.loc12_36 (constants.%.dcb87d.1)] -// CHECK:STDOUT: %I.impl_witness.loc12_36.2: = impl_witness %I.impl_witness_table, @A.as.I.impl(%V.loc12_15.1) [symbolic = %I.impl_witness.loc12_36.2 (constants.%I.impl_witness.25d8bb.1)] +// CHECK:STDOUT: %I.impl_witness.loc12_36.2: = impl_witness %I.impl_witness_table, @A.as.I.impl(%V.loc12_15.1) [symbolic = %I.impl_witness.loc12_36.2 (constants.%I.impl_witness.ee9f63.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %I.type.loc12_34.1 [symbolic = %require_complete (constants.%require_complete.45eab2.1)] @@ -205,7 +205,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %return: ref @A.as.I.impl.F.%ptr.loc13_22.1 (%ptr.e8f8f9.2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%A.as.I.impl.F.decl), @A.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness.loc12_36.1: = impl_witness %I.impl_witness_table, @A.as.I.impl(constants.%V.67d) [symbolic = %I.impl_witness.loc12_36.2 (constants.%I.impl_witness.25d8bb.1)] +// CHECK:STDOUT: %I.impl_witness.loc12_36.1: = impl_witness %I.impl_witness_table, @A.as.I.impl(constants.%V.67d) [symbolic = %I.impl_witness.loc12_36.2 (constants.%I.impl_witness.ee9f63.1)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .V = @@ -303,7 +303,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %.loc27_19: %I.assoc_type.cd3 = specific_constant @I.WithSelf.%assoc0.loc8_23.1, @I.WithSelf(constants.%empty_struct_type, constants.%Self.1916c4.1) [concrete = constants.%assoc0.a4c] // CHECK:STDOUT: %F.ref: %I.assoc_type.cd3 = name_ref F, %.loc27_19 [concrete = constants.%assoc0.a4c] // CHECK:STDOUT: %.loc27_11: ref %A.940 = deref %a.ref -// CHECK:STDOUT: %impl.elem0: %.6b2 = impl_witness_access constants.%I.impl_witness.e69, element0 [concrete = constants.%A.as.I.impl.F.837] +// CHECK:STDOUT: %impl.elem0: %.f98 = impl_witness_access constants.%I.impl_witness.a45, element0 [concrete = constants.%A.as.I.impl.F.837] // CHECK:STDOUT: %bound_method.loc27_11: = bound_method %.loc27_11, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @A.as.I.impl.F(constants.%empty_struct_type) [concrete = constants.%A.as.I.impl.F.specific_fn] // CHECK:STDOUT: %bound_method.loc27_23: = bound_method %.loc27_11, %specific_fn @@ -317,7 +317,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %A.loc12_26.1 => constants.%A.47a1de.2 // CHECK:STDOUT: %I.type.loc12_34.1 => constants.%I.type.3fe556.2 // CHECK:STDOUT: %.loc12_36 => constants.%.dcb87d.1 -// CHECK:STDOUT: %I.impl_witness.loc12_36.2 => constants.%I.impl_witness.25d8bb.1 +// CHECK:STDOUT: %I.impl_witness.loc12_36.2 => constants.%I.impl_witness.ee9f63.1 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%require_complete.45eab2.1 @@ -359,7 +359,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %A.loc12_26.1 => constants.%A.47a1de.3 // CHECK:STDOUT: %I.type.loc12_34.1 => constants.%I.type.3fe556.3 // CHECK:STDOUT: %.loc12_36 => constants.%.dcb87d.2 -// CHECK:STDOUT: %I.impl_witness.loc12_36.2 => constants.%I.impl_witness.25d8bb.2 +// CHECK:STDOUT: %I.impl_witness.loc12_36.2 => constants.%I.impl_witness.ee9f63.2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%require_complete.45eab2.2 @@ -373,7 +373,7 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %A.loc12_26.1 => constants.%A.940 // CHECK:STDOUT: %I.type.loc12_34.1 => constants.%I.type.81d // CHECK:STDOUT: %.loc12_36 => constants.%.91b -// CHECK:STDOUT: %I.impl_witness.loc12_36.2 => constants.%I.impl_witness.e69 +// CHECK:STDOUT: %I.impl_witness.loc12_36.2 => constants.%I.impl_witness.a45 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.7da @@ -398,10 +398,10 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %require_complete.loc13_18 => constants.%complete_type.38e // CHECK:STDOUT: %A.elem => constants.%A.elem.339 // CHECK:STDOUT: %.loc14_12.3 => constants.%.a81 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.1c2 -// CHECK:STDOUT: %Copy.facet.loc14_12.3 => constants.%Copy.facet.80f -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.8a4 -// CHECK:STDOUT: %.loc14_12.4 => constants.%.523 +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.e8f +// CHECK:STDOUT: %Copy.facet.loc14_12.3 => constants.%Copy.facet.8c1 +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.42f +// CHECK:STDOUT: %.loc14_12.4 => constants.%.f18 // CHECK:STDOUT: %impl.elem0.loc14_12.2 => constants.%ptr.as.Copy.impl.Op.9ed // CHECK:STDOUT: %specific_impl_fn.loc14_12.2 => constants.%ptr.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/import.carbon b/toolchain/check/testdata/impl/lookup/import.carbon index 542d52a4d47e..e990e5040cb7 100644 --- a/toolchain/check/testdata/impl/lookup/import.carbon +++ b/toolchain/check/testdata/impl/lookup/import.carbon @@ -248,8 +248,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %C.as.HasF.impl.F.type: type = fn_type @C.as.HasF.impl.F [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F: %C.as.HasF.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %C, (%HasF.impl_witness) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.75e: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.365: %HasF.WithSelf.F.type.75e = struct_value () [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.748: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.0aa: %HasF.WithSelf.F.type.748 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -361,8 +361,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasF.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.75e -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.365 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.748 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.0aa // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet) { @@ -391,15 +391,15 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %.feb: = impl_self_witness %C, @HasG [concrete] -// CHECK:STDOUT: %HasG.impl_witness.992: = impl_witness @C.as.HasG.impl.%HasG.impl_witness_table [concrete] +// CHECK:STDOUT: %HasG.impl_witness.c19: = impl_witness @C.as.HasG.impl.%HasG.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.866: type = pattern_type %C [concrete] // CHECK:STDOUT: %self.param_patt.f0b: %pattern_type.866 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.c87: %pattern_type.866 = at_binding_pattern self, %self.param_patt.f0b [concrete] // CHECK:STDOUT: %C.as.HasG.impl.G.type: type = fn_type @C.as.HasG.impl.G [concrete] // CHECK:STDOUT: %C.as.HasG.impl.G: %C.as.HasG.impl.G.type = struct_value () [concrete] -// CHECK:STDOUT: %HasG.facet.fa2: %HasG.type = facet_value %C, (%HasG.impl_witness.992) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.type.9e7: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet.fa2) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.553: %HasG.WithSelf.G.type.9e7 = struct_value () [concrete] +// CHECK:STDOUT: %HasG.facet.d2f: %HasG.type = facet_value %C, (%HasG.impl_witness.c19) [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.type.7d7: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet.d2f) [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.bc6: %HasG.WithSelf.G.type.7d7 = struct_value () [concrete] // CHECK:STDOUT: %HasF.type: type = facet_type <@HasF> [concrete] // CHECK:STDOUT: %Self.4dc: %HasF.type = symbolic_binding Self, 0 [symbolic] // CHECK:STDOUT: %HasF.WithSelf.F.type.c4f: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%Self.4dc) [symbolic] @@ -416,15 +416,15 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %D.as.HasF.impl.F.type: type = fn_type @D.as.HasF.impl.F [concrete] // CHECK:STDOUT: %D.as.HasF.impl.F: %D.as.HasF.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %D, (%HasF.impl_witness) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.bf9: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.715: %HasF.WithSelf.F.type.bf9 = struct_value () [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.715: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.b2e: %HasF.WithSelf.F.type.715 = struct_value () [concrete] // CHECK:STDOUT: %.a1f: = impl_self_witness %D, @HasG [concrete] -// CHECK:STDOUT: %HasG.impl_witness.e55: = impl_witness @D.as.HasG.impl.%HasG.impl_witness_table [concrete] +// CHECK:STDOUT: %HasG.impl_witness.49e: = impl_witness @D.as.HasG.impl.%HasG.impl_witness_table [concrete] // CHECK:STDOUT: %D.as.HasG.impl.G.type: type = fn_type @D.as.HasG.impl.G [concrete] // CHECK:STDOUT: %D.as.HasG.impl.G: %D.as.HasG.impl.G.type = struct_value () [concrete] -// CHECK:STDOUT: %HasG.facet.16a: %HasG.type = facet_value %D, (%HasG.impl_witness.e55) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.type.933: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet.16a) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.67e: %HasG.WithSelf.G.type.933 = struct_value () [concrete] +// CHECK:STDOUT: %HasG.facet.114: %HasG.type = facet_value %D, (%HasG.impl_witness.49e) [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.type.94e: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet.114) [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.20a: %HasG.WithSelf.G.type.94e = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -523,7 +523,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %self: %C = wrapper_binding self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %HasG.impl_witness_table = impl_witness_table (%C.as.HasG.impl.G.decl), @C.as.HasG.impl [concrete] -// CHECK:STDOUT: %HasG.impl_witness: = impl_witness %HasG.impl_witness_table [concrete = constants.%HasG.impl_witness.992] +// CHECK:STDOUT: %HasG.impl_witness: = impl_witness %HasG.impl_witness_table [concrete = constants.%HasG.impl_witness.c19] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .G = %C.as.HasG.impl.G.decl @@ -559,7 +559,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %self: %D = wrapper_binding self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %HasG.impl_witness_table = impl_witness_table (%D.as.HasG.impl.G.decl), @D.as.HasG.impl [concrete] -// CHECK:STDOUT: %HasG.impl_witness: = impl_witness %HasG.impl_witness_table [concrete = constants.%HasG.impl_witness.e55] +// CHECK:STDOUT: %HasG.impl_witness: = impl_witness %HasG.impl_witness_table [concrete = constants.%HasG.impl_witness.49e] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .G = %D.as.HasG.impl.G.decl @@ -632,15 +632,15 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %self.patt.loc7_8.2 => constants.%self.patt.054 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasG.WithSelf(constants.%HasG.facet.fa2) { +// CHECK:STDOUT: specific @HasG.WithSelf(constants.%HasG.facet.d2f) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%HasG.facet.fa2 -// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.9e7 -// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.553 +// CHECK:STDOUT: %Self => constants.%HasG.facet.d2f +// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.7d7 +// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.bc6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasG.WithSelf.G(constants.%HasG.facet.fa2) { -// CHECK:STDOUT: %Self => constants.%HasG.facet.fa2 +// CHECK:STDOUT: specific @HasG.WithSelf.G(constants.%HasG.facet.d2f) { +// CHECK:STDOUT: %Self => constants.%HasG.facet.d2f // CHECK:STDOUT: %Self.as_type.loc7_8.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.866 // CHECK:STDOUT: %self.param_patt.loc7_8.2 => constants.%self.param_patt.f0b @@ -665,8 +665,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasF.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.bf9 -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.715 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.715 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.b2e // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet) { @@ -677,15 +677,15 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %self.patt => constants.%self.patt.6ac // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasG.WithSelf(constants.%HasG.facet.16a) { +// CHECK:STDOUT: specific @HasG.WithSelf(constants.%HasG.facet.114) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%HasG.facet.16a -// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.933 -// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.67e +// CHECK:STDOUT: %Self => constants.%HasG.facet.114 +// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.94e +// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.20a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @HasG.WithSelf.G(constants.%HasG.facet.16a) { -// CHECK:STDOUT: %Self => constants.%HasG.facet.16a +// CHECK:STDOUT: specific @HasG.WithSelf.G(constants.%HasG.facet.114) { +// CHECK:STDOUT: %Self => constants.%HasG.facet.114 // CHECK:STDOUT: %Self.as_type.loc7_8.1 => constants.%D // CHECK:STDOUT: %pattern_type => constants.%pattern_type.709 // CHECK:STDOUT: %self.param_patt.loc7_8.2 => constants.%self.param_patt.68d @@ -716,9 +716,9 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %assoc0: %HasF.assoc_type = assoc_entity element0, imports.%PackageA.import_ref.91e [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness imports.%HasF.impl_witness_table [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %C, (%HasF.impl_witness) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.005: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.5fa: %HasF.WithSelf.F.type.005 = struct_value () [concrete] -// CHECK:STDOUT: %.4f9: type = fn_type_with_self_type %HasF.WithSelf.F.type.005, %HasF.facet [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.858: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.4f6: %HasF.WithSelf.F.type.858 = struct_value () [concrete] +// CHECK:STDOUT: %.a6e: type = fn_type_with_self_type %HasF.WithSelf.F.type.858, %HasF.facet [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F.type: type = fn_type @C.as.HasF.impl.F [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F: %C.as.HasF.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -742,7 +742,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageA.import_ref.b7072f.2: %HasF.type = import_ref PackageA//default, loc4_16, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %PackageA.import_ref.15c = import_ref PackageA//default, loc4_16, unloaded // CHECK:STDOUT: %PackageA.import_ref.91e: @HasF.WithSelf.%HasF.WithSelf.F.type (%HasF.WithSelf.F.type.c4f) = import_ref PackageA//default, loc5_13, loaded [symbolic = @HasF.WithSelf.%HasF.WithSelf.F (constants.%HasF.WithSelf.F.c56)] -// CHECK:STDOUT: %PackageA.import_ref.7b8: = import_ref PackageA//default, loc11_16, loaded [concrete = constants.%HasF.impl_witness] +// CHECK:STDOUT: %PackageA.import_ref.a3c: = import_ref PackageA//default, loc11_16, loaded [concrete = constants.%HasF.impl_witness] // CHECK:STDOUT: %PackageA.import_ref.364: type = import_ref PackageA//default, loc11_6, loaded [concrete = constants.%C] // CHECK:STDOUT: %PackageA.import_ref.e71: type = import_ref PackageA//default, loc11_11, loaded [concrete = constants.%HasF.type] // CHECK:STDOUT: %PackageA.import_ref.448: %C.as.HasF.impl.F.type = import_ref PackageA//default, loc12_21, loaded [concrete = constants.%C.as.HasF.impl.F] @@ -781,7 +781,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.HasF.impl: imports.%PackageA.import_ref.364 as imports.%PackageA.import_ref.e71 [from "package_a.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageA.import_ref.7b8 +// CHECK:STDOUT: witness = imports.%PackageA.import_ref.a3c // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C [from "package_a.carbon"] { @@ -797,7 +797,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageA.ref.loc7: = 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: %F.ref: %HasF.assoc_type = name_ref F, imports.%PackageA.import_ref.dff [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.4f9 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] +// CHECK:STDOUT: %impl.elem0: %.a6e = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %C.as.HasF.impl.F.call: init %empty_tuple.type = call %bound_method(%c.ref) // CHECK:STDOUT: return @@ -833,8 +833,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasF.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.005 -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.5fa +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.858 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.4f6 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- use_df.carbon @@ -862,9 +862,9 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %HasF.impl_witness: = impl_witness imports.%HasF.impl_witness_table [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %D, (%HasF.impl_witness) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.0da: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.8b9: %HasF.WithSelf.F.type.0da = struct_value () [concrete] -// CHECK:STDOUT: %.322: type = fn_type_with_self_type %HasF.WithSelf.F.type.0da, %HasF.facet [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.f88: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.7c4: %HasF.WithSelf.F.type.f88 = struct_value () [concrete] +// CHECK:STDOUT: %.a1b: type = fn_type_with_self_type %HasF.WithSelf.F.type.f88, %HasF.facet [concrete] // CHECK:STDOUT: %D.as.HasF.impl.F.type: type = fn_type @D.as.HasF.impl.F [concrete] // CHECK:STDOUT: %D.as.HasF.impl.F: %D.as.HasF.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -891,12 +891,12 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageA.import_ref.b7072f.2: %HasF.type = import_ref PackageA//default, loc4_16, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %PackageA.import_ref.15c = import_ref PackageA//default, loc4_16, unloaded // CHECK:STDOUT: %PackageA.import_ref.91e: @HasF.WithSelf.%HasF.WithSelf.F.type (%HasF.WithSelf.F.type.c4f) = import_ref PackageA//default, loc5_13, loaded [symbolic = @HasF.WithSelf.%HasF.WithSelf.F (constants.%HasF.WithSelf.F.c56)] -// CHECK:STDOUT: %PackageA.import_ref.b97 = import_ref PackageA//default, loc11_16, unloaded +// CHECK:STDOUT: %PackageA.import_ref.985 = import_ref PackageA//default, loc11_16, unloaded // CHECK:STDOUT: %PackageA.import_ref.8f2: = import_ref PackageA//default, loc8_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %PackageA.import_ref.ce9 = import_ref PackageA//default, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %PackageA.import_ref.364: type = import_ref PackageA//default, loc11_6, loaded [concrete = constants.%C] // CHECK:STDOUT: %PackageA.import_ref.e71: type = import_ref PackageA//default, loc11_11, loaded [concrete = constants.%HasF.type] -// CHECK:STDOUT: %PackageB.import_ref.b78: = import_ref PackageB//default, loc18_25, loaded [concrete = constants.%HasF.impl_witness] +// CHECK:STDOUT: %PackageB.import_ref.b1f: = import_ref PackageB//default, loc18_25, loaded [concrete = constants.%HasF.impl_witness] // CHECK:STDOUT: %PackageB.import_ref.624: type = import_ref PackageB//default, loc18_6, loaded [concrete = constants.%D] // CHECK:STDOUT: %PackageB.import_ref.876: type = import_ref PackageB//default, loc18_19, loaded [concrete = constants.%HasF.type] // CHECK:STDOUT: %PackageB.import_ref.2df: %D.as.HasF.impl.F.type = import_ref PackageB//default, loc19_21, loaded [concrete = constants.%D.as.HasF.impl.F] @@ -937,12 +937,12 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.HasF.impl: imports.%PackageA.import_ref.364 as imports.%PackageA.import_ref.e71 [from "package_a.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageA.import_ref.b97 +// CHECK:STDOUT: witness = imports.%PackageA.import_ref.985 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @D.as.HasF.impl: imports.%PackageB.import_ref.624 as imports.%PackageB.import_ref.876 [from "package_b.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageB.import_ref.b78 +// CHECK:STDOUT: witness = imports.%PackageB.import_ref.b1f // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @D [from "package_b.carbon"] { @@ -965,7 +965,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // 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: %F.ref: %HasF.assoc_type = name_ref F, imports.%PackageA.import_ref.dff [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.322 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%D.as.HasF.impl.F] +// CHECK:STDOUT: %impl.elem0: %.a1b = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%D.as.HasF.impl.F] // CHECK:STDOUT: %bound_method: = bound_method %d.ref, %impl.elem0 // CHECK:STDOUT: %D.as.HasF.impl.F.call: init %empty_tuple.type = call %bound_method(%d.ref) // CHECK:STDOUT: return @@ -1001,8 +1001,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasF.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.0da -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.8b9 +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.f88 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.7c4 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- use_cg.carbon @@ -1030,9 +1030,9 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %HasG.impl_witness: = impl_witness imports.%HasG.impl_witness_table [concrete] // CHECK:STDOUT: %HasG.facet: %HasG.type = facet_value %C, (%HasG.impl_witness) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.type.49f: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.aaf: %HasG.WithSelf.G.type.49f = struct_value () [concrete] -// CHECK:STDOUT: %.87e: type = fn_type_with_self_type %HasG.WithSelf.G.type.49f, %HasG.facet [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.type.075: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet) [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.5ef: %HasG.WithSelf.G.type.075 = struct_value () [concrete] +// CHECK:STDOUT: %.c0d: type = fn_type_with_self_type %HasG.WithSelf.G.type.075, %HasG.facet [concrete] // CHECK:STDOUT: %C.as.HasG.impl.G.type: type = fn_type @C.as.HasG.impl.G [concrete] // CHECK:STDOUT: %C.as.HasG.impl.G: %C.as.HasG.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -1059,10 +1059,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageB.import_ref.10cb76.2: %HasG.type = import_ref PackageB//default, loc6_16, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %PackageB.import_ref.d8d = import_ref PackageB//default, loc6_16, unloaded // CHECK:STDOUT: %PackageB.import_ref.89b: @HasG.WithSelf.%HasG.WithSelf.G.type (%HasG.WithSelf.G.type.95e) = import_ref PackageB//default, loc7_13, loaded [symbolic = @HasG.WithSelf.%HasG.WithSelf.G (constants.%HasG.WithSelf.G.50a)] -// CHECK:STDOUT: %PackageB.import_ref.588: = import_ref PackageB//default, loc13_25, loaded [concrete = constants.%HasG.impl_witness] +// CHECK:STDOUT: %PackageB.import_ref.b32: = import_ref PackageB//default, loc13_25, loaded [concrete = constants.%HasG.impl_witness] // CHECK:STDOUT: %PackageB.import_ref.473: type = import_ref PackageB//default, loc13_14, loaded [concrete = constants.%C] // CHECK:STDOUT: %PackageB.import_ref.e35e93.1: type = import_ref PackageB//default, loc13_20, loaded [concrete = constants.%HasG.type] -// CHECK:STDOUT: %PackageB.import_ref.8cf = import_ref PackageB//default, loc23_16, unloaded +// CHECK:STDOUT: %PackageB.import_ref.779 = import_ref PackageB//default, loc23_16, unloaded // CHECK:STDOUT: %PackageB.import_ref.8f2: = import_ref PackageB//default, loc10_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %PackageB.import_ref.26f = import_ref PackageB//default, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %PackageB.import_ref.624: type = import_ref PackageB//default, loc23_6, loaded [concrete = constants.%D] @@ -1105,12 +1105,12 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.HasG.impl: imports.%PackageB.import_ref.473 as imports.%PackageB.import_ref.e35e93.1 [from "package_b.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageB.import_ref.588 +// CHECK:STDOUT: witness = imports.%PackageB.import_ref.b32 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @D.as.HasG.impl: imports.%PackageB.import_ref.624 as imports.%PackageB.import_ref.e35e93.2 [from "package_b.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageB.import_ref.8cf +// CHECK:STDOUT: witness = imports.%PackageB.import_ref.779 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C [from "package_a.carbon"] { @@ -1133,7 +1133,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageB.ref: = name_ref PackageB, imports.%PackageB [concrete = imports.%PackageB] // CHECK:STDOUT: %HasG.ref: type = name_ref HasG, imports.%PackageB.HasG [concrete = constants.%HasG.type] // CHECK:STDOUT: %G.ref: %HasG.assoc_type = name_ref G, imports.%PackageB.import_ref.d25 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.87e = impl_witness_access constants.%HasG.impl_witness, element0 [concrete = constants.%C.as.HasG.impl.G] +// CHECK:STDOUT: %impl.elem0: %.c0d = impl_witness_access constants.%HasG.impl_witness, element0 [concrete = constants.%C.as.HasG.impl.G] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %C.as.HasG.impl.G.call: init %empty_tuple.type = call %bound_method(%c.ref) // CHECK:STDOUT: return @@ -1169,8 +1169,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @HasG.WithSelf(constants.%HasG.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasG.facet -// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.49f -// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.aaf +// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.075 +// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.5ef // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- use_dg.carbon @@ -1198,9 +1198,9 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %HasG.impl_witness: = impl_witness imports.%HasG.impl_witness_table [concrete] // CHECK:STDOUT: %HasG.facet: %HasG.type = facet_value %D, (%HasG.impl_witness) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.type.ef9: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.482: %HasG.WithSelf.G.type.ef9 = struct_value () [concrete] -// CHECK:STDOUT: %.009: type = fn_type_with_self_type %HasG.WithSelf.G.type.ef9, %HasG.facet [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.type.d83: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet) [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.f2d: %HasG.WithSelf.G.type.d83 = struct_value () [concrete] +// CHECK:STDOUT: %.47e: type = fn_type_with_self_type %HasG.WithSelf.G.type.d83, %HasG.facet [concrete] // CHECK:STDOUT: %D.as.HasG.impl.G.type: type = fn_type @D.as.HasG.impl.G [concrete] // CHECK:STDOUT: %D.as.HasG.impl.G: %D.as.HasG.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -1224,12 +1224,12 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageB.import_ref.10cb76.2: %HasG.type = import_ref PackageB//default, loc6_16, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %PackageB.import_ref.d8d = import_ref PackageB//default, loc6_16, unloaded // CHECK:STDOUT: %PackageB.import_ref.89b: @HasG.WithSelf.%HasG.WithSelf.G.type (%HasG.WithSelf.G.type.95e) = import_ref PackageB//default, loc7_13, loaded [symbolic = @HasG.WithSelf.%HasG.WithSelf.G (constants.%HasG.WithSelf.G.50a)] -// CHECK:STDOUT: %PackageB.import_ref.720 = import_ref PackageB//default, loc13_25, unloaded +// CHECK:STDOUT: %PackageB.import_ref.c91 = import_ref PackageB//default, loc13_25, unloaded // CHECK:STDOUT: %PackageB.import_ref.8db: = import_ref PackageB//default, inst{{[0-9A-F]+}} [indirect], loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %PackageB.import_ref.ded = import_ref PackageB//default, inst{{[0-9A-F]+}} [indirect], unloaded // CHECK:STDOUT: %PackageB.import_ref.473: type = import_ref PackageB//default, loc13_14, loaded [concrete = constants.%C] // CHECK:STDOUT: %PackageB.import_ref.e35e93.1: type = import_ref PackageB//default, loc13_20, loaded [concrete = constants.%HasG.type] -// CHECK:STDOUT: %PackageB.import_ref.3cd: = import_ref PackageB//default, loc23_16, loaded [concrete = constants.%HasG.impl_witness] +// CHECK:STDOUT: %PackageB.import_ref.e79: = import_ref PackageB//default, loc23_16, loaded [concrete = constants.%HasG.impl_witness] // CHECK:STDOUT: %PackageB.import_ref.624: type = import_ref PackageB//default, loc23_6, loaded [concrete = constants.%D] // CHECK:STDOUT: %PackageB.import_ref.e35e93.2: type = import_ref PackageB//default, loc23_11, loaded [concrete = constants.%HasG.type] // CHECK:STDOUT: %PackageB.import_ref.98c: %D.as.HasG.impl.G.type = import_ref PackageB//default, loc24_21, loaded [concrete = constants.%D.as.HasG.impl.G] @@ -1268,12 +1268,12 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.HasG.impl: imports.%PackageB.import_ref.473 as imports.%PackageB.import_ref.e35e93.1 [from "package_b.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageB.import_ref.720 +// CHECK:STDOUT: witness = imports.%PackageB.import_ref.c91 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @D.as.HasG.impl: imports.%PackageB.import_ref.624 as imports.%PackageB.import_ref.e35e93.2 [from "package_b.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageB.import_ref.3cd +// CHECK:STDOUT: witness = imports.%PackageB.import_ref.e79 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @D [from "package_b.carbon"] { @@ -1296,7 +1296,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageB.ref.loc7: = name_ref PackageB, imports.%PackageB [concrete = imports.%PackageB] // CHECK:STDOUT: %HasG.ref: type = name_ref HasG, imports.%PackageB.HasG [concrete = constants.%HasG.type] // CHECK:STDOUT: %G.ref: %HasG.assoc_type = name_ref G, imports.%PackageB.import_ref.d25 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.009 = impl_witness_access constants.%HasG.impl_witness, element0 [concrete = constants.%D.as.HasG.impl.G] +// CHECK:STDOUT: %impl.elem0: %.47e = impl_witness_access constants.%HasG.impl_witness, element0 [concrete = constants.%D.as.HasG.impl.G] // CHECK:STDOUT: %bound_method: = bound_method %d.ref, %impl.elem0 // CHECK:STDOUT: %D.as.HasG.impl.G.call: init %empty_tuple.type = call %bound_method(%d.ref) // CHECK:STDOUT: return @@ -1332,8 +1332,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @HasG.WithSelf(constants.%HasG.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasG.facet -// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.ef9 -// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.482 +// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.d83 +// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.f2d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- associated_interface.carbon @@ -1359,8 +1359,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %empty_tuple.type.as.Z.impl.H.type: type = fn_type @empty_tuple.type.as.Z.impl.H [concrete] // CHECK:STDOUT: %empty_tuple.type.as.Z.impl.H: %empty_tuple.type.as.Z.impl.H.type = struct_value () [concrete] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %empty_tuple.type, (%Z.impl_witness) [concrete] -// CHECK:STDOUT: %Z.WithSelf.H.type.c57: type = fn_type @Z.WithSelf.H, @Z.WithSelf(%Z.facet) [concrete] -// CHECK:STDOUT: %Z.WithSelf.H.148: %Z.WithSelf.H.type.c57 = struct_value () [concrete] +// CHECK:STDOUT: %Z.WithSelf.H.type.136: type = fn_type @Z.WithSelf.H, @Z.WithSelf(%Z.facet) [concrete] +// CHECK:STDOUT: %Z.WithSelf.H.b20: %Z.WithSelf.H.type.136 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1463,8 +1463,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Z.facet -// CHECK:STDOUT: %Z.WithSelf.H.type => constants.%Z.WithSelf.H.type.c57 -// CHECK:STDOUT: %Z.WithSelf.H => constants.%Z.WithSelf.H.148 +// CHECK:STDOUT: %Z.WithSelf.H.type => constants.%Z.WithSelf.H.type.136 +// CHECK:STDOUT: %Z.WithSelf.H => constants.%Z.WithSelf.H.b20 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Z.WithSelf.H(constants.%Z.facet) { @@ -1494,9 +1494,9 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %assoc0: %Z.assoc_type = assoc_entity element0, imports.%PackageAssociatedInterface.import_ref.635 [concrete] // CHECK:STDOUT: %Z.impl_witness: = impl_witness imports.%Z.impl_witness_table [concrete] // CHECK:STDOUT: %Z.facet: %Z.type = facet_value %empty_tuple.type, (%Z.impl_witness) [concrete] -// CHECK:STDOUT: %Z.WithSelf.H.type.ff3: type = fn_type @Z.WithSelf.H, @Z.WithSelf(%Z.facet) [concrete] -// CHECK:STDOUT: %Z.WithSelf.H.d80: %Z.WithSelf.H.type.ff3 = struct_value () [concrete] -// CHECK:STDOUT: %.1e6: type = fn_type_with_self_type %Z.WithSelf.H.type.ff3, %Z.facet [concrete] +// CHECK:STDOUT: %Z.WithSelf.H.type.c4f: type = fn_type @Z.WithSelf.H, @Z.WithSelf(%Z.facet) [concrete] +// CHECK:STDOUT: %Z.WithSelf.H.4a7: %Z.WithSelf.H.type.c4f = struct_value () [concrete] +// CHECK:STDOUT: %.1cc: type = fn_type_with_self_type %Z.WithSelf.H.type.c4f, %Z.facet [concrete] // CHECK:STDOUT: %empty_tuple.type.as.Z.impl.H.type: type = fn_type @empty_tuple.type.as.Z.impl.H [concrete] // CHECK:STDOUT: %empty_tuple.type.as.Z.impl.H: %empty_tuple.type.as.Z.impl.H.type = struct_value () [concrete] // CHECK:STDOUT: %empty_tuple.type.as.Z.impl.H.bound: = bound_method %empty_tuple, %empty_tuple.type.as.Z.impl.H [concrete] @@ -1517,7 +1517,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageAssociatedInterface.import_ref.f4f417.2: %Z.type = import_ref PackageAssociatedInterface//default, loc4_13, loaded [symbolic = constants.%Self] // CHECK:STDOUT: %PackageAssociatedInterface.import_ref.503 = import_ref PackageAssociatedInterface//default, loc4_13, unloaded // CHECK:STDOUT: %PackageAssociatedInterface.import_ref.635: @Z.WithSelf.%Z.WithSelf.H.type (%Z.WithSelf.H.type.e28) = import_ref PackageAssociatedInterface//default, loc5_13, loaded [symbolic = @Z.WithSelf.%Z.WithSelf.H (constants.%Z.WithSelf.H.6ec)] -// CHECK:STDOUT: %PackageAssociatedInterface.import_ref.6bc: = import_ref PackageAssociatedInterface//default, loc8_14, loaded [concrete = constants.%Z.impl_witness] +// CHECK:STDOUT: %PackageAssociatedInterface.import_ref.e90: = import_ref PackageAssociatedInterface//default, loc8_14, loaded [concrete = constants.%Z.impl_witness] // CHECK:STDOUT: %PackageAssociatedInterface.import_ref.e5c: type = import_ref PackageAssociatedInterface//default, loc8_7, loaded [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %PackageAssociatedInterface.import_ref.72a: type = import_ref PackageAssociatedInterface//default, loc8_12, loaded [concrete = constants.%Z.type] // CHECK:STDOUT: %PackageAssociatedInterface.import_ref.7f2: %empty_tuple.type.as.Z.impl.H.type = import_ref PackageAssociatedInterface//default, loc9_21, loaded [concrete = constants.%empty_tuple.type.as.Z.impl.H] @@ -1546,7 +1546,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: impl @empty_tuple.type.as.Z.impl: imports.%PackageAssociatedInterface.import_ref.e5c as imports.%PackageAssociatedInterface.import_ref.72a [from "associated_interface.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageAssociatedInterface.import_ref.6bc +// CHECK:STDOUT: witness = imports.%PackageAssociatedInterface.import_ref.e90 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @J() { @@ -1555,7 +1555,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageAssociatedInterface.ref: = name_ref PackageAssociatedInterface, imports.%PackageAssociatedInterface [concrete = imports.%PackageAssociatedInterface] // CHECK:STDOUT: %Z.ref: type = name_ref Z, imports.%PackageAssociatedInterface.Z [concrete = constants.%Z.type] // CHECK:STDOUT: %H.ref: %Z.assoc_type = name_ref H, imports.%PackageAssociatedInterface.import_ref.a7b [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.1e6 = impl_witness_access constants.%Z.impl_witness, element0 [concrete = constants.%empty_tuple.type.as.Z.impl.H] +// CHECK:STDOUT: %impl.elem0: %.1cc = impl_witness_access constants.%Z.impl_witness, element0 [concrete = constants.%empty_tuple.type.as.Z.impl.H] // CHECK:STDOUT: %bound_method: = bound_method %.loc7_4.1, %impl.elem0 [concrete = constants.%empty_tuple.type.as.Z.impl.H.bound] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_4.2: %empty_tuple.type = converted %.loc7_4.1, %empty_tuple [concrete = constants.%empty_tuple] @@ -1593,8 +1593,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @Z.WithSelf(constants.%Z.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Z.facet -// CHECK:STDOUT: %Z.WithSelf.H.type => constants.%Z.WithSelf.H.type.ff3 -// CHECK:STDOUT: %Z.WithSelf.H => constants.%Z.WithSelf.H.d80 +// CHECK:STDOUT: %Z.WithSelf.H.type => constants.%Z.WithSelf.H.type.c4f +// CHECK:STDOUT: %Z.WithSelf.H => constants.%Z.WithSelf.H.4a7 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- has_param.carbon @@ -1784,8 +1784,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %AnyParam.as.Y.impl.K.type: type = fn_type @AnyParam.as.Y.impl.K [concrete] // CHECK:STDOUT: %AnyParam.as.Y.impl.K: %AnyParam.as.Y.impl.K.type = struct_value () [concrete] // CHECK:STDOUT: %Y.facet: %Y.type = facet_value %AnyParam.591, (%Y.impl_witness) [concrete] -// CHECK:STDOUT: %Y.WithSelf.K.type.cd7: type = fn_type @Y.WithSelf.K, @Y.WithSelf(%Y.facet) [concrete] -// CHECK:STDOUT: %Y.WithSelf.K.8fc: %Y.WithSelf.K.type.cd7 = struct_value () [concrete] +// CHECK:STDOUT: %Y.WithSelf.K.type.bd4: type = fn_type @Y.WithSelf.K, @Y.WithSelf(%Y.facet) [concrete] +// CHECK:STDOUT: %Y.WithSelf.K.e27: %Y.WithSelf.K.type.bd4 = struct_value () [concrete] // CHECK:STDOUT: %L.type: type = fn_type @L [concrete] // CHECK:STDOUT: %L: %L.type = struct_value () [concrete] // CHECK:STDOUT: %obj.patt: %pattern_type.f0f = ref_binding_pattern obj [concrete] @@ -1794,7 +1794,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %AnyParam.val: %AnyParam.591 = struct_value () [concrete] // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] // CHECK:STDOUT: %assoc0.970: %Y.assoc_type = assoc_entity element0, imports.%PackageHasParam.import_ref.ee7 [concrete] -// CHECK:STDOUT: %.3eb: type = fn_type_with_self_type %Y.WithSelf.K.type.cd7, %Y.facet [concrete] +// CHECK:STDOUT: %.5a4: type = fn_type_with_self_type %Y.WithSelf.K.type.bd4, %Y.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc13_3.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] @@ -1959,7 +1959,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.ref.loc14: = 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: %K.ref: %Y.assoc_type = name_ref K, imports.%PackageHasParam.import_ref.03c [concrete = constants.%assoc0.970] -// CHECK:STDOUT: %impl.elem0: %.3eb = impl_witness_access constants.%Y.impl_witness, element0 [concrete = constants.%AnyParam.as.Y.impl.K] +// CHECK:STDOUT: %impl.elem0: %.5a4 = impl_witness_access constants.%Y.impl_witness, element0 [concrete = constants.%AnyParam.as.Y.impl.K] // CHECK:STDOUT: %bound_method: = bound_method %obj.ref, %impl.elem0 // CHECK:STDOUT: %.loc14: %AnyParam.591 = acquire_value %obj.ref // CHECK:STDOUT: %AnyParam.as.Y.impl.K.call: init %empty_tuple.type = call %bound_method(%.loc14) @@ -2018,8 +2018,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @Y.WithSelf(constants.%Y.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Y.facet -// CHECK:STDOUT: %Y.WithSelf.K.type => constants.%Y.WithSelf.K.type.cd7 -// CHECK:STDOUT: %Y.WithSelf.K => constants.%Y.WithSelf.K.8fc +// CHECK:STDOUT: %Y.WithSelf.K.type => constants.%Y.WithSelf.K.type.bd4 +// CHECK:STDOUT: %Y.WithSelf.K => constants.%Y.WithSelf.K.e27 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Y.WithSelf.K(constants.%Y.facet) { @@ -2073,9 +2073,9 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %assoc0.970: %Y.assoc_type = assoc_entity element0, imports.%PackageHasParam.import_ref.ee7 [concrete] // CHECK:STDOUT: %Y.impl_witness: = impl_witness imports.%Y.impl_witness_table [concrete] // CHECK:STDOUT: %Y.facet: %Y.type = facet_value %AnyParam.591, (%Y.impl_witness) [concrete] -// CHECK:STDOUT: %Y.WithSelf.K.type.44d: type = fn_type @Y.WithSelf.K, @Y.WithSelf(%Y.facet) [concrete] -// CHECK:STDOUT: %Y.WithSelf.K.077: %Y.WithSelf.K.type.44d = struct_value () [concrete] -// CHECK:STDOUT: %.8a0: type = fn_type_with_self_type %Y.WithSelf.K.type.44d, %Y.facet [concrete] +// CHECK:STDOUT: %Y.WithSelf.K.type.a87: type = fn_type @Y.WithSelf.K, @Y.WithSelf(%Y.facet) [concrete] +// CHECK:STDOUT: %Y.WithSelf.K.1e1: %Y.WithSelf.K.type.a87 = struct_value () [concrete] +// CHECK:STDOUT: %.f2f: type = fn_type_with_self_type %Y.WithSelf.K.type.a87, %Y.facet [concrete] // CHECK:STDOUT: %AnyParam.as.Y.impl.K.type: type = fn_type @AnyParam.as.Y.impl.K [concrete] // CHECK:STDOUT: %AnyParam.as.Y.impl.K: %AnyParam.as.Y.impl.K.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -2112,7 +2112,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.import_ref.fa191b.2: %Y.type = import_ref PackageHasParam//default, loc6_13, loaded [symbolic = constants.%Self.aff] // CHECK:STDOUT: %PackageHasParam.import_ref.2ff = import_ref PackageHasParam//default, loc6_13, unloaded // CHECK:STDOUT: %PackageHasParam.import_ref.ee7: @Y.WithSelf.%Y.WithSelf.K.type (%Y.WithSelf.K.type.977) = import_ref PackageHasParam//default, loc7_21, loaded [symbolic = @Y.WithSelf.%Y.WithSelf.K (constants.%Y.WithSelf.K.d2d)] -// CHECK:STDOUT: %PackageGenericInterface.import_ref.b38: = import_ref PackageGenericInterface//default, loc8_70, loaded [concrete = constants.%Y.impl_witness] +// CHECK:STDOUT: %PackageGenericInterface.import_ref.6fb: = import_ref PackageGenericInterface//default, loc8_70, loaded [concrete = constants.%Y.impl_witness] // CHECK:STDOUT: %PackageGenericInterface.import_ref.82e: type = import_ref PackageGenericInterface//default, loc8_47, loaded [concrete = constants.%AnyParam.591] // CHECK:STDOUT: %PackageGenericInterface.import_ref.482: type = import_ref PackageGenericInterface//default, loc8_67, loaded [concrete = constants.%Y.type] // CHECK:STDOUT: %PackageGenericInterface.import_ref.49f: %AnyParam.as.Y.impl.K.type = import_ref PackageGenericInterface//default, loc9_21, loaded [concrete = constants.%AnyParam.as.Y.impl.K] @@ -2161,7 +2161,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: impl @AnyParam.as.Y.impl: imports.%PackageGenericInterface.import_ref.82e as imports.%PackageGenericInterface.import_ref.482 [from "has_generic_interface.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageGenericInterface.import_ref.b38 +// CHECK:STDOUT: witness = imports.%PackageGenericInterface.import_ref.6fb // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @AnyParam(imports.%PackageHasParam.import_ref.b3b: type, imports.%PackageHasParam.import_ref.b42: @AnyParam.%T (%T)) [from "has_param.carbon"] { @@ -2204,7 +2204,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.ref.loc10: = 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: %K.ref: %Y.assoc_type = name_ref K, imports.%PackageHasParam.import_ref.03c [concrete = constants.%assoc0.970] -// CHECK:STDOUT: %impl.elem0: %.8a0 = impl_witness_access constants.%Y.impl_witness, element0 [concrete = constants.%AnyParam.as.Y.impl.K] +// CHECK:STDOUT: %impl.elem0: %.f2f = impl_witness_access constants.%Y.impl_witness, element0 [concrete = constants.%AnyParam.as.Y.impl.K] // CHECK:STDOUT: %bound_method: = bound_method %obj.ref, %impl.elem0 // CHECK:STDOUT: %.loc10: %AnyParam.591 = acquire_value %obj.ref // CHECK:STDOUT: %AnyParam.as.Y.impl.K.call: init %empty_tuple.type = call %bound_method(%.loc10) @@ -2278,8 +2278,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @Y.WithSelf(constants.%Y.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Y.facet -// CHECK:STDOUT: %Y.WithSelf.K.type => constants.%Y.WithSelf.K.type.44d -// CHECK:STDOUT: %Y.WithSelf.K => constants.%Y.WithSelf.K.077 +// CHECK:STDOUT: %Y.WithSelf.K.type => constants.%Y.WithSelf.K.type.a87 +// CHECK:STDOUT: %Y.WithSelf.K => constants.%Y.WithSelf.K.1e1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- has_generic_class.carbon @@ -2323,8 +2323,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %AnyParam.as.Y.impl.K.type: type = fn_type @AnyParam.as.Y.impl.K [concrete] // CHECK:STDOUT: %AnyParam.as.Y.impl.K: %AnyParam.as.Y.impl.K.type = struct_value () [concrete] // CHECK:STDOUT: %Y.facet: %Y.type = facet_value %AnyParam.21c, (%Y.impl_witness) [concrete] -// CHECK:STDOUT: %Y.WithSelf.K.type.020: type = fn_type @Y.WithSelf.K, @Y.WithSelf(%Y.facet) [concrete] -// CHECK:STDOUT: %Y.WithSelf.K.658: %Y.WithSelf.K.type.020 = struct_value () [concrete] +// CHECK:STDOUT: %Y.WithSelf.K.type.2f6: type = fn_type @Y.WithSelf.K, @Y.WithSelf(%Y.facet) [concrete] +// CHECK:STDOUT: %Y.WithSelf.K.1da: %Y.WithSelf.K.type.2f6 = struct_value () [concrete] // CHECK:STDOUT: %L.type: type = fn_type @L [concrete] // CHECK:STDOUT: %L: %L.type = struct_value () [concrete] // CHECK:STDOUT: %obj.patt: %pattern_type.005 = ref_binding_pattern obj [concrete] @@ -2333,7 +2333,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %AnyParam.val: %AnyParam.21c = struct_value () [concrete] // CHECK:STDOUT: %Y.assoc_type: type = assoc_entity_type @Y [concrete] // CHECK:STDOUT: %assoc0.970: %Y.assoc_type = assoc_entity element0, imports.%PackageHasParam.import_ref.ee7 [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %Y.WithSelf.K.type.020, %Y.facet [concrete] +// CHECK:STDOUT: %.66a: type = fn_type_with_self_type %Y.WithSelf.K.type.2f6, %Y.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc13_3.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] @@ -2493,7 +2493,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.ref.loc14: = 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: %K.ref: %Y.assoc_type = name_ref K, imports.%PackageHasParam.import_ref.03c [concrete = constants.%assoc0.970] -// CHECK:STDOUT: %impl.elem0: %.ca2 = impl_witness_access constants.%Y.impl_witness, element0 [concrete = constants.%AnyParam.as.Y.impl.K] +// CHECK:STDOUT: %impl.elem0: %.66a = impl_witness_access constants.%Y.impl_witness, element0 [concrete = constants.%AnyParam.as.Y.impl.K] // CHECK:STDOUT: %bound_method: = bound_method %obj.ref, %impl.elem0 // CHECK:STDOUT: %.loc14: %AnyParam.21c = acquire_value %obj.ref // CHECK:STDOUT: %AnyParam.as.Y.impl.K.call: init %empty_tuple.type = call %bound_method(%.loc14) @@ -2550,8 +2550,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @Y.WithSelf(constants.%Y.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Y.facet -// CHECK:STDOUT: %Y.WithSelf.K.type => constants.%Y.WithSelf.K.type.020 -// CHECK:STDOUT: %Y.WithSelf.K => constants.%Y.WithSelf.K.658 +// CHECK:STDOUT: %Y.WithSelf.K.type => constants.%Y.WithSelf.K.type.2f6 +// CHECK:STDOUT: %Y.WithSelf.K => constants.%Y.WithSelf.K.1da // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Y.WithSelf.K(constants.%Y.facet) { @@ -2603,9 +2603,9 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %assoc0.970: %Y.assoc_type = assoc_entity element0, imports.%PackageHasParam.import_ref.ee7 [concrete] // CHECK:STDOUT: %Y.impl_witness: = impl_witness imports.%Y.impl_witness_table [concrete] // CHECK:STDOUT: %Y.facet: %Y.type = facet_value %AnyParam.21c, (%Y.impl_witness) [concrete] -// CHECK:STDOUT: %Y.WithSelf.K.type.7da: type = fn_type @Y.WithSelf.K, @Y.WithSelf(%Y.facet) [concrete] -// CHECK:STDOUT: %Y.WithSelf.K.c9c: %Y.WithSelf.K.type.7da = struct_value () [concrete] -// CHECK:STDOUT: %.f07: type = fn_type_with_self_type %Y.WithSelf.K.type.7da, %Y.facet [concrete] +// CHECK:STDOUT: %Y.WithSelf.K.type.4f4: type = fn_type @Y.WithSelf.K, @Y.WithSelf(%Y.facet) [concrete] +// CHECK:STDOUT: %Y.WithSelf.K.4aa: %Y.WithSelf.K.type.4f4 = struct_value () [concrete] +// CHECK:STDOUT: %.dff: type = fn_type_with_self_type %Y.WithSelf.K.type.4f4, %Y.facet [concrete] // CHECK:STDOUT: %AnyParam.as.Y.impl.K.type: type = fn_type @AnyParam.as.Y.impl.K [concrete] // CHECK:STDOUT: %AnyParam.as.Y.impl.K: %AnyParam.as.Y.impl.K.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -2643,7 +2643,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.import_ref.fa191b.2: %Y.type = import_ref PackageHasParam//default, loc6_13, loaded [symbolic = constants.%Self.aff] // CHECK:STDOUT: %PackageHasParam.import_ref.2ff = import_ref PackageHasParam//default, loc6_13, unloaded // CHECK:STDOUT: %PackageHasParam.import_ref.ee7: @Y.WithSelf.%Y.WithSelf.K.type (%Y.WithSelf.K.type.977) = import_ref PackageHasParam//default, loc7_21, loaded [symbolic = @Y.WithSelf.%Y.WithSelf.K (constants.%Y.WithSelf.K.d2d)] -// CHECK:STDOUT: %PackageGenericClass.import_ref.28c: = import_ref PackageGenericClass//default, loc8_66, loaded [concrete = constants.%Y.impl_witness] +// CHECK:STDOUT: %PackageGenericClass.import_ref.b64: = import_ref PackageGenericClass//default, loc8_66, loaded [concrete = constants.%Y.impl_witness] // CHECK:STDOUT: %PackageGenericClass.import_ref.c77: type = import_ref PackageGenericClass//default, loc8_43, loaded [concrete = constants.%AnyParam.21c] // CHECK:STDOUT: %PackageGenericClass.import_ref.482: type = import_ref PackageGenericClass//default, loc8_63, loaded [concrete = constants.%Y.type] // CHECK:STDOUT: %PackageGenericClass.import_ref.64c: %AnyParam.as.Y.impl.K.type = import_ref PackageGenericClass//default, loc9_21, loaded [concrete = constants.%AnyParam.as.Y.impl.K] @@ -2675,7 +2675,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: impl @AnyParam.as.Y.impl: imports.%PackageGenericClass.import_ref.c77 as imports.%PackageGenericClass.import_ref.482 [from "has_generic_class.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%PackageGenericClass.import_ref.28c +// CHECK:STDOUT: witness = imports.%PackageGenericClass.import_ref.b64 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @AnyParam(imports.%PackageHasParam.import_ref.b3b: type, imports.%PackageHasParam.import_ref.b42: @AnyParam.%T (%T)) [from "has_param.carbon"] { @@ -2732,7 +2732,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %PackageHasParam.ref.loc9: = 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: %K.ref: %Y.assoc_type = name_ref K, imports.%PackageHasParam.import_ref.03c [concrete = constants.%assoc0.970] -// CHECK:STDOUT: %impl.elem0: %.f07 = impl_witness_access constants.%Y.impl_witness, element0 [concrete = constants.%AnyParam.as.Y.impl.K] +// CHECK:STDOUT: %impl.elem0: %.dff = impl_witness_access constants.%Y.impl_witness, element0 [concrete = constants.%AnyParam.as.Y.impl.K] // CHECK:STDOUT: %bound_method: = bound_method %obj.ref, %impl.elem0 // CHECK:STDOUT: %.loc9: %AnyParam.21c = acquire_value %obj.ref // CHECK:STDOUT: %AnyParam.as.Y.impl.K.call: init %empty_tuple.type = call %bound_method(%.loc9) @@ -2804,8 +2804,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @Y.WithSelf(constants.%Y.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%Y.facet -// CHECK:STDOUT: %Y.WithSelf.K.type => constants.%Y.WithSelf.K.type.7da -// CHECK:STDOUT: %Y.WithSelf.K => constants.%Y.WithSelf.K.c9c +// CHECK:STDOUT: %Y.WithSelf.K.type => constants.%Y.WithSelf.K.type.4f4 +// CHECK:STDOUT: %Y.WithSelf.K => constants.%Y.WithSelf.K.4aa // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- has_extra_interfaces.carbon @@ -2859,8 +2859,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C.279, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.291: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.9e8: %I.WithSelf.F.type.291 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.513: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.d3b: %I.WithSelf.F.type.513 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -3130,8 +3130,8 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.291 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.9e8 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.513 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.d3b // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet) { @@ -3208,7 +3208,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %HasExtraInterfaces.import_ref.51a236.2: %I.type = import_ref HasExtraInterfaces//default, loc14_13, loaded [symbolic = constants.%Self.b29] // CHECK:STDOUT: %HasExtraInterfaces.import_ref.ca1 = import_ref HasExtraInterfaces//default, loc14_13, unloaded // CHECK:STDOUT: %HasExtraInterfaces.import_ref.f85: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type) = import_ref HasExtraInterfaces//default, loc14_25, loaded [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F)] -// CHECK:STDOUT: %HasExtraInterfaces.import_ref.16c = import_ref HasExtraInterfaces//default, loc16_79, unloaded +// CHECK:STDOUT: %HasExtraInterfaces.import_ref.32f = import_ref HasExtraInterfaces//default, loc16_79, unloaded // CHECK:STDOUT: %HasExtraInterfaces.import_ref.9a3 = import_ref HasExtraInterfaces//default, loc11_18, unloaded // CHECK:STDOUT: %HasExtraInterfaces.import_ref.c9e = import_ref HasExtraInterfaces//default, loc10_18, unloaded // CHECK:STDOUT: %HasExtraInterfaces.import_ref.8b3 = import_ref HasExtraInterfaces//default, loc9_18, unloaded @@ -3319,7 +3319,7 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.I.impl: imports.%HasExtraInterfaces.import_ref.f05 as imports.%HasExtraInterfaces.import_ref.d6f [from "has_extra_interfaces.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%HasExtraInterfaces.import_ref.16c +// CHECK:STDOUT: witness = imports.%HasExtraInterfaces.import_ref.32f // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(imports.%HasExtraInterfaces.import_ref.b3b: type) [from "has_extra_interfaces.carbon"] { diff --git a/toolchain/check/testdata/impl/lookup/instance_method.carbon b/toolchain/check/testdata/impl/lookup/instance_method.carbon index 34b305b8e6e0..69df5182cf6f 100644 --- a/toolchain/check/testdata/impl/lookup/instance_method.carbon +++ b/toolchain/check/testdata/impl/lookup/instance_method.carbon @@ -59,8 +59,8 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.064: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.513: %I.WithSelf.F.type.064 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.372: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.d46: %I.WithSelf.F.type.372 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.98b = value_param_pattern [concrete] @@ -71,7 +71,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %C.type.facet: %type = facet_value %C, () [concrete] // CHECK:STDOUT: %I.WithSelf.F.type.b04: type = fn_type @I.WithSelf.F, @I.WithSelf(%C.type.facet) [concrete] // CHECK:STDOUT: %I.WithSelf.F.cef: %I.WithSelf.F.type.b04 = struct_value () [concrete] -// CHECK:STDOUT: %.ea0: type = fn_type_with_self_type %I.WithSelf.F.type.064, %I.facet [concrete] +// CHECK:STDOUT: %.a89: type = fn_type_with_self_type %I.WithSelf.F.type.372, %I.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -199,7 +199,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.ref: %C = name_ref c, %c // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.ea0 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] +// CHECK:STDOUT: %impl.elem0: %.a89 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %C.as.I.impl.F.call: init %i32 = call %bound_method(%c.ref) // CHECK:STDOUT: return %C.as.I.impl.F.call @@ -223,8 +223,8 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.064 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.513 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.372 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.d46 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet) { 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 5939bb5f6623..3a0ac97c2006 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 @@ -498,8 +498,8 @@ fn F() { // CHECK:STDOUT: %impl.elem0.aaa: type = impl_witness_access %.a5c, element0 [symbolic] // CHECK:STDOUT: %Y_where.type.cb4: type = facet_type <@Y, @Y(%OuterParam) where %impl.elem0.aaa = %empty_tuple.type> [symbolic] // CHECK:STDOUT: %.8e6: = impl_self_witness %C.147, @Y, @Y(%OuterParam) [symbolic] -// CHECK:STDOUT: %Y.impl_witness.b49: = impl_witness @C.as.Y.impl.%Y.impl_witness_table, @C.as.Y.impl(%OuterParam) [symbolic] -// CHECK:STDOUT: %Y.facet.253: %Y.type.6da = facet_value %C.147, (%Y.impl_witness.b49) [symbolic] +// CHECK:STDOUT: %Y.impl_witness.2b5: = impl_witness @C.as.Y.impl.%Y.impl_witness_table, @C.as.Y.impl(%OuterParam) [symbolic] +// CHECK:STDOUT: %Y.facet.5f1: %Y.type.6da = facet_value %C.147, (%Y.impl_witness.2b5) [symbolic] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type.357: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %.9a5: = impl_self_witness %empty_tuple.type, @Z1 [concrete] @@ -515,41 +515,41 @@ fn F() { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Z1.type, %type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %facet_type: type = facet_type <@Z1 & @Z2> [concrete] -// CHECK:STDOUT: %facet_value.af0: %facet_type = facet_value %empty_tuple.type, (%Z1.impl_witness, %Z2.impl_witness) [concrete] -// CHECK:STDOUT: %Outer.22e: type = class_type @Outer, @Outer(%Z1.facet) [concrete] -// CHECK:STDOUT: %Y.type.b7c: type = facet_type <@Y, @Y(%Z1.facet)> [concrete] -// CHECK:STDOUT: %Outer.G.type.8ce: type = fn_type @Outer.G, @Outer(%Z1.facet) [concrete] -// CHECK:STDOUT: %Outer.G.20a: %Outer.G.type.8ce = struct_value () [concrete] -// CHECK:STDOUT: %C.5e2: type = class_type @C, @C(%Z1.facet) [concrete] -// CHECK:STDOUT: %.Self.b06: %Y.type.b7c = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %Y.lookup_impl_witness.d61: = lookup_impl_witness %.Self.b06, @Y, @Y(%Z1.facet) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.400: type = impl_witness_access %Y.lookup_impl_witness.d61, element0 [symbolic_self] -// CHECK:STDOUT: %Y_where.type.8eb: type = facet_type <@Y, @Y(%Z1.facet) where %impl.elem0.400 = %empty_tuple.type> [concrete] -// CHECK:STDOUT: %.Self.frozen.70d: %Y.type.b7c = symbolic_binding .Self [symbolic_self] -// CHECK:STDOUT: %Self.0e0: %Y.type.b7c = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %Y.assoc_type.d53: type = assoc_entity_type @Y, @Y(%Z1.facet) [concrete] -// CHECK:STDOUT: %assoc0.ef6: %Y.assoc_type.d53 = assoc_entity element0, @Y.WithSelf.%T [concrete] -// CHECK:STDOUT: %complete_type.c4c: = complete_type_witness %Y.type.b7c [concrete] -// CHECK:STDOUT: %.Self.frozen.as_type.1e5: type = facet_access_type %.Self.frozen.70d [symbolic_self] -// CHECK:STDOUT: %.177: = impl_self_witness %.Self.frozen.70d, @Y, @Y(%Z1.facet) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.d83: type = impl_witness_access %.177, element0 [symbolic_self] -// CHECK:STDOUT: %.c6a: = impl_self_witness %.Self.b06, @Y, @Y(%Z1.facet) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.c60: type = impl_witness_access %.c6a, element0 [symbolic_self] -// CHECK:STDOUT: %Y_where.type.0d1: type = facet_type <@Y, @Y(%Z1.facet) where %impl.elem0.c60 = %empty_tuple.type> [concrete] -// CHECK:STDOUT: %.808: = impl_self_witness %C.5e2, @Y, @Y(%Z1.facet) [concrete] -// CHECK:STDOUT: %Y.impl_witness.5cc: = impl_witness @C.as.Y.impl.%Y.impl_witness_table, @C.as.Y.impl(%Z1.facet) [concrete] -// CHECK:STDOUT: %facet_value.3eb: %Y_where.type.8eb = facet_value %C.5e2, (%Y.impl_witness.5cc) [concrete] -// CHECK:STDOUT: %Y.lookup_impl_witness.fb3: = lookup_impl_witness %.Self.frozen.70d, @Y, @Y(%Z1.facet) [symbolic_self] -// CHECK:STDOUT: %impl.elem0.73b: type = impl_witness_access %Y.lookup_impl_witness.fb3, element0 [symbolic_self] -// CHECK:STDOUT: %pattern_type.692: type = pattern_type %Y_where.type.8eb [concrete] -// CHECK:STDOUT: %H.patt.a46: %pattern_type.692 = symbolic_binding_pattern H, 1 [symbolic] -// CHECK:STDOUT: %Outer.G.specific_fn: = specific_function %Outer.G.20a, @Outer.G(%Z1.facet, %facet_value.3eb) [concrete] +// CHECK:STDOUT: %facet_value.794: %facet_type = facet_value %empty_tuple.type, (%Z1.impl_witness, %Z2.impl_witness) [concrete] +// CHECK:STDOUT: %Outer.be4: type = class_type @Outer, @Outer(%Z1.facet) [concrete] +// CHECK:STDOUT: %Y.type.2d4: type = facet_type <@Y, @Y(%Z1.facet)> [concrete] +// CHECK:STDOUT: %Outer.G.type.86e: type = fn_type @Outer.G, @Outer(%Z1.facet) [concrete] +// CHECK:STDOUT: %Outer.G.5ca: %Outer.G.type.86e = struct_value () [concrete] +// CHECK:STDOUT: %C.857: type = class_type @C, @C(%Z1.facet) [concrete] +// CHECK:STDOUT: %.Self.e84: %Y.type.2d4 = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %Y.lookup_impl_witness.a85: = lookup_impl_witness %.Self.e84, @Y, @Y(%Z1.facet) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.3da: type = impl_witness_access %Y.lookup_impl_witness.a85, element0 [symbolic_self] +// CHECK:STDOUT: %Y_where.type.50c: type = facet_type <@Y, @Y(%Z1.facet) where %impl.elem0.3da = %empty_tuple.type> [concrete] +// CHECK:STDOUT: %.Self.frozen.e6a: %Y.type.2d4 = symbolic_binding .Self [symbolic_self] +// CHECK:STDOUT: %Self.b58: %Y.type.2d4 = symbolic_binding Self, 1 [symbolic] +// CHECK:STDOUT: %Y.assoc_type.976: type = assoc_entity_type @Y, @Y(%Z1.facet) [concrete] +// CHECK:STDOUT: %assoc0.ed0: %Y.assoc_type.976 = assoc_entity element0, @Y.WithSelf.%T [concrete] +// CHECK:STDOUT: %complete_type.19b: = complete_type_witness %Y.type.2d4 [concrete] +// CHECK:STDOUT: %.Self.frozen.as_type.6ef: type = facet_access_type %.Self.frozen.e6a [symbolic_self] +// CHECK:STDOUT: %.196: = impl_self_witness %.Self.frozen.e6a, @Y, @Y(%Z1.facet) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.070: type = impl_witness_access %.196, element0 [symbolic_self] +// CHECK:STDOUT: %.120: = impl_self_witness %.Self.e84, @Y, @Y(%Z1.facet) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.75e: type = impl_witness_access %.120, element0 [symbolic_self] +// CHECK:STDOUT: %Y_where.type.b2e: type = facet_type <@Y, @Y(%Z1.facet) where %impl.elem0.75e = %empty_tuple.type> [concrete] +// CHECK:STDOUT: %.ce5: = impl_self_witness %C.857, @Y, @Y(%Z1.facet) [concrete] +// CHECK:STDOUT: %Y.impl_witness.ab4: = impl_witness @C.as.Y.impl.%Y.impl_witness_table, @C.as.Y.impl(%Z1.facet) [concrete] +// CHECK:STDOUT: %facet_value.554: %Y_where.type.50c = facet_value %C.857, (%Y.impl_witness.ab4) [concrete] +// CHECK:STDOUT: %Y.lookup_impl_witness.7a6: = lookup_impl_witness %.Self.frozen.e6a, @Y, @Y(%Z1.facet) [symbolic_self] +// CHECK:STDOUT: %impl.elem0.b35: type = impl_witness_access %Y.lookup_impl_witness.7a6, element0 [symbolic_self] +// CHECK:STDOUT: %pattern_type.330: type = pattern_type %Y_where.type.50c [concrete] +// CHECK:STDOUT: %H.patt.c56: %pattern_type.330 = symbolic_binding_pattern H, 1 [symbolic] +// CHECK:STDOUT: %Outer.G.specific_fn: = specific_function %Outer.G.5ca, @Outer.G(%Z1.facet, %facet_value.554) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -660,13 +660,13 @@ fn F() { // CHECK:STDOUT: %impl.elem0.loc14_21.4: type = impl_witness_access %.loc14_21.4, element0 [symbolic = %impl.elem0.loc14_21.4 (constants.%impl.elem0.aaa)] // CHECK:STDOUT: %Y_where.type: type = facet_type <@Y, @Y(%OuterParam) where %impl.elem0.loc14_21.4 = constants.%empty_tuple.type> [symbolic = %Y_where.type (constants.%Y_where.type.cb4)] // CHECK:STDOUT: %.loc14_29: = impl_self_witness %C, @Y, @Y(%OuterParam) [symbolic = %.loc14_29 (constants.%.8e6)] -// CHECK:STDOUT: %Y.impl_witness.loc14_29.2: = impl_witness %Y.impl_witness_table, @C.as.Y.impl(%OuterParam) [symbolic = %Y.impl_witness.loc14_29.2 (constants.%Y.impl_witness.b49)] +// CHECK:STDOUT: %Y.impl_witness.loc14_29.2: = impl_witness %Y.impl_witness_table, @C.as.Y.impl(%OuterParam) [symbolic = %Y.impl_witness.loc14_29.2 (constants.%Y.impl_witness.2b5)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %C.ref as %Y.ref { // CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @C.as.Y.impl [concrete] -// CHECK:STDOUT: %Y.impl_witness.loc14_29.1: = impl_witness %Y.impl_witness_table, @C.as.Y.impl(constants.%OuterParam) [symbolic = %Y.impl_witness.loc14_29.2 (constants.%Y.impl_witness.b49)] +// CHECK:STDOUT: %Y.impl_witness.loc14_29.1: = impl_witness %Y.impl_witness_table, @C.as.Y.impl(constants.%OuterParam) [symbolic = %Y.impl_witness.loc14_29.2 (constants.%Y.impl_witness.2b5)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -804,39 +804,39 @@ fn F() { // CHECK:STDOUT: %.loc21_10: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %Z1.ref.loc21_16: type = name_ref Z1, file.%Z1.decl [concrete = constants.%Z1.type] // CHECK:STDOUT: %Z2.ref.loc21_21: type = name_ref Z2, file.%Z2.decl [concrete = constants.%Z2.type] -// CHECK:STDOUT: %impl.elem0.loc21_19: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc21_19: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc21_19: = bound_method %Z1.ref.loc21_16, %impl.elem0.loc21_19 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc21_19: init type = call %bound_method.loc21_19(%Z1.ref.loc21_16, %Z2.ref.loc21_21) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc21_23.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc21_19 [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc21_23.2: type = converted %type.as.BitAndWith.impl.Op.call.loc21_19, %.loc21_23.1 [concrete = constants.%facet_type] -// CHECK:STDOUT: %facet_value.loc21_12: %facet_type = facet_value constants.%empty_tuple.type, (constants.%Z1.impl_witness, constants.%Z2.impl_witness) [concrete = constants.%facet_value.af0] -// CHECK:STDOUT: %.loc21_12: %facet_type = converted %.loc21_10, %facet_value.loc21_12 [concrete = constants.%facet_value.af0] +// CHECK:STDOUT: %facet_value.loc21_12: %facet_type = facet_value constants.%empty_tuple.type, (constants.%Z1.impl_witness, constants.%Z2.impl_witness) [concrete = constants.%facet_value.794] +// CHECK:STDOUT: %.loc21_12: %facet_type = converted %.loc21_10, %facet_value.loc21_12 [concrete = constants.%facet_value.794] // CHECK:STDOUT: %as_type.loc21_24: type = facet_access_type %.loc21_12 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %Z1.facet.loc21_24: %Z1.type = facet_value %as_type.loc21_24, (constants.%Z1.impl_witness) [concrete = constants.%Z1.facet] // CHECK:STDOUT: %.loc21_24: %Z1.type = converted %.loc21_12, %Z1.facet.loc21_24 [concrete = constants.%Z1.facet] -// CHECK:STDOUT: %Outer.loc21_24: type = class_type @Outer, @Outer(constants.%Z1.facet) [concrete = constants.%Outer.22e] -// CHECK:STDOUT: %.loc21_25: %Outer.G.type.8ce = specific_constant @Outer.%Outer.G.decl, @Outer(constants.%Z1.facet) [concrete = constants.%Outer.G.20a] -// CHECK:STDOUT: %G.ref: %Outer.G.type.8ce = name_ref G, %.loc21_25 [concrete = constants.%Outer.G.20a] +// CHECK:STDOUT: %Outer.loc21_24: type = class_type @Outer, @Outer(constants.%Z1.facet) [concrete = constants.%Outer.be4] +// CHECK:STDOUT: %.loc21_25: %Outer.G.type.86e = specific_constant @Outer.%Outer.G.decl, @Outer(constants.%Z1.facet) [concrete = constants.%Outer.G.5ca] +// CHECK:STDOUT: %G.ref: %Outer.G.type.86e = name_ref G, %.loc21_25 [concrete = constants.%Outer.G.5ca] // CHECK:STDOUT: %Outer.ref.loc21_28: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %.loc21_35: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %Z1.ref.loc21_41: type = name_ref Z1, file.%Z1.decl [concrete = constants.%Z1.type] // CHECK:STDOUT: %Z2.ref.loc21_46: type = name_ref Z2, file.%Z2.decl [concrete = constants.%Z2.type] -// CHECK:STDOUT: %impl.elem0.loc21_44: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc21_44: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc21_44: = bound_method %Z1.ref.loc21_41, %impl.elem0.loc21_44 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc21_44: init type = call %bound_method.loc21_44(%Z1.ref.loc21_41, %Z2.ref.loc21_46) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc21_48.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc21_44 [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc21_48.2: type = converted %type.as.BitAndWith.impl.Op.call.loc21_44, %.loc21_48.1 [concrete = constants.%facet_type] -// CHECK:STDOUT: %facet_value.loc21_37: %facet_type = facet_value constants.%empty_tuple.type, (constants.%Z1.impl_witness, constants.%Z2.impl_witness) [concrete = constants.%facet_value.af0] -// CHECK:STDOUT: %.loc21_37: %facet_type = converted %.loc21_35, %facet_value.loc21_37 [concrete = constants.%facet_value.af0] +// CHECK:STDOUT: %facet_value.loc21_37: %facet_type = facet_value constants.%empty_tuple.type, (constants.%Z1.impl_witness, constants.%Z2.impl_witness) [concrete = constants.%facet_value.794] +// CHECK:STDOUT: %.loc21_37: %facet_type = converted %.loc21_35, %facet_value.loc21_37 [concrete = constants.%facet_value.794] // CHECK:STDOUT: %as_type.loc21_49: type = facet_access_type %.loc21_37 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %Z1.facet.loc21_49: %Z1.type = facet_value %as_type.loc21_49, (constants.%Z1.impl_witness) [concrete = constants.%Z1.facet] // CHECK:STDOUT: %.loc21_49: %Z1.type = converted %.loc21_37, %Z1.facet.loc21_49 [concrete = constants.%Z1.facet] -// CHECK:STDOUT: %Outer.loc21_49: type = class_type @Outer, @Outer(constants.%Z1.facet) [concrete = constants.%Outer.22e] -// CHECK:STDOUT: %.loc21_50: type = specific_constant @Outer.%C.decl, @Outer(constants.%Z1.facet) [concrete = constants.%C.5e2] -// CHECK:STDOUT: %C.ref: type = name_ref C, %.loc21_50 [concrete = constants.%C.5e2] -// CHECK:STDOUT: %facet_value.loc21_52: %Y_where.type.8eb = facet_value constants.%C.5e2, (constants.%Y.impl_witness.5cc) [concrete = constants.%facet_value.3eb] -// CHECK:STDOUT: %.loc21_52: %Y_where.type.8eb = converted constants.%C.5e2, %facet_value.loc21_52 [concrete = constants.%facet_value.3eb] -// CHECK:STDOUT: %Outer.G.specific_fn: = specific_function %G.ref, @Outer.G(constants.%Z1.facet, constants.%facet_value.3eb) [concrete = constants.%Outer.G.specific_fn] +// CHECK:STDOUT: %Outer.loc21_49: type = class_type @Outer, @Outer(constants.%Z1.facet) [concrete = constants.%Outer.be4] +// CHECK:STDOUT: %.loc21_50: type = specific_constant @Outer.%C.decl, @Outer(constants.%Z1.facet) [concrete = constants.%C.857] +// CHECK:STDOUT: %C.ref: type = name_ref C, %.loc21_50 [concrete = constants.%C.857] +// CHECK:STDOUT: %facet_value.loc21_52: %Y_where.type.50c = facet_value constants.%C.857, (constants.%Y.impl_witness.ab4) [concrete = constants.%facet_value.554] +// CHECK:STDOUT: %.loc21_52: %Y_where.type.50c = converted constants.%C.857, %facet_value.loc21_52 [concrete = constants.%facet_value.554] +// CHECK:STDOUT: %Outer.G.specific_fn: = specific_function %G.ref, @Outer.G(constants.%Z1.facet, constants.%facet_value.554) [concrete = constants.%Outer.G.specific_fn] // CHECK:STDOUT: %Outer.G.call: init %empty_tuple.type = call %Outer.G.specific_fn() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -918,10 +918,10 @@ fn F() { // CHECK:STDOUT: %impl.elem0.loc14_21.4 => constants.%impl.elem0.aaa // CHECK:STDOUT: %Y_where.type => constants.%Y_where.type.cb4 // CHECK:STDOUT: %.loc14_29 => constants.%.8e6 -// CHECK:STDOUT: %Y.impl_witness.loc14_29.2 => constants.%Y.impl_witness.b49 +// CHECK:STDOUT: %Y.impl_witness.loc14_29.2 => constants.%Y.impl_witness.2b5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Y.WithSelf(constants.%OuterParam, constants.%Y.facet.253) { +// CHECK:STDOUT: specific @Y.WithSelf(constants.%OuterParam, constants.%Y.facet.5f1) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %OuterParam => constants.%OuterParam // CHECK:STDOUT: %Y.assoc_type => constants.%Y.assoc_type.9e3 @@ -941,38 +941,38 @@ fn F() { // CHECK:STDOUT: %OuterParam.loc6_23.1 => constants.%Z1.facet // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Y.type => constants.%Y.type.b7c -// CHECK:STDOUT: %Outer.G.type => constants.%Outer.G.type.8ce -// CHECK:STDOUT: %Outer.G => constants.%Outer.G.20a -// CHECK:STDOUT: %C => constants.%C.5e2 +// CHECK:STDOUT: %Y.type => constants.%Y.type.2d4 +// CHECK:STDOUT: %Outer.G.type => constants.%Outer.G.type.86e +// CHECK:STDOUT: %Outer.G => constants.%Outer.G.5ca +// CHECK:STDOUT: %C => constants.%C.857 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Y(constants.%Z1.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %OuterParam => constants.%Z1.facet -// CHECK:STDOUT: %Y.type => constants.%Y.type.b7c -// CHECK:STDOUT: %Self.loc7_15.2 => constants.%Self.0e0 +// CHECK:STDOUT: %Y.type => constants.%Y.type.2d4 +// CHECK:STDOUT: %Self.loc7_15.2 => constants.%Self.b58 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @C(constants.%Z1.facet) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @C.as.Y.impl(constants.%Z1.facet) { // CHECK:STDOUT: %OuterParam => constants.%Z1.facet -// CHECK:STDOUT: %C => constants.%C.5e2 -// CHECK:STDOUT: %Y.type => constants.%Y.type.b7c -// CHECK:STDOUT: %.Self.frozen.loc14_15.2 => constants.%.Self.frozen.70d -// CHECK:STDOUT: %require_complete => constants.%complete_type.c4c -// CHECK:STDOUT: %.Self.frozen.as_type => constants.%.Self.frozen.as_type.1e5 -// CHECK:STDOUT: %Y.assoc_type => constants.%Y.assoc_type.d53 -// CHECK:STDOUT: %assoc0 => constants.%assoc0.ef6 -// CHECK:STDOUT: %.loc14_21.3 => constants.%.177 -// CHECK:STDOUT: %impl.elem0.loc14_21.3 => constants.%impl.elem0.d83 -// CHECK:STDOUT: %.Self => constants.%.Self.b06 -// CHECK:STDOUT: %.loc14_21.4 => constants.%.c6a -// CHECK:STDOUT: %impl.elem0.loc14_21.4 => constants.%impl.elem0.c60 -// CHECK:STDOUT: %Y_where.type => constants.%Y_where.type.0d1 -// CHECK:STDOUT: %.loc14_29 => constants.%.808 -// CHECK:STDOUT: %Y.impl_witness.loc14_29.2 => constants.%Y.impl_witness.5cc +// CHECK:STDOUT: %C => constants.%C.857 +// CHECK:STDOUT: %Y.type => constants.%Y.type.2d4 +// CHECK:STDOUT: %.Self.frozen.loc14_15.2 => constants.%.Self.frozen.e6a +// CHECK:STDOUT: %require_complete => constants.%complete_type.19b +// CHECK:STDOUT: %.Self.frozen.as_type => constants.%.Self.frozen.as_type.6ef +// CHECK:STDOUT: %Y.assoc_type => constants.%Y.assoc_type.976 +// CHECK:STDOUT: %assoc0 => constants.%assoc0.ed0 +// CHECK:STDOUT: %.loc14_21.3 => constants.%.196 +// CHECK:STDOUT: %impl.elem0.loc14_21.3 => constants.%impl.elem0.070 +// CHECK:STDOUT: %.Self => constants.%.Self.e84 +// CHECK:STDOUT: %.loc14_21.4 => constants.%.120 +// CHECK:STDOUT: %impl.elem0.loc14_21.4 => constants.%impl.elem0.75e +// CHECK:STDOUT: %Y_where.type => constants.%Y_where.type.b2e +// CHECK:STDOUT: %.loc14_29 => constants.%.ce5 +// CHECK:STDOUT: %Y.impl_witness.loc14_29.2 => constants.%Y.impl_witness.ab4 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -980,27 +980,27 @@ fn F() { // CHECK:STDOUT: specific @Y.WithSelf(constants.%Z1.facet, constants.%Self.b90) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %OuterParam => constants.%Z1.facet -// CHECK:STDOUT: %Y.assoc_type => constants.%Y.assoc_type.d53 -// CHECK:STDOUT: %assoc0 => constants.%assoc0.ef6 +// CHECK:STDOUT: %Y.assoc_type => constants.%Y.assoc_type.976 +// CHECK:STDOUT: %assoc0 => constants.%assoc0.ed0 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Outer.G(constants.%Z1.facet, constants.%facet_value.3eb) { +// CHECK:STDOUT: specific @Outer.G(constants.%Z1.facet, constants.%facet_value.554) { // CHECK:STDOUT: %OuterParam => constants.%Z1.facet -// CHECK:STDOUT: %Y.type => constants.%Y.type.b7c -// CHECK:STDOUT: %.Self.frozen.loc11_28.1 => constants.%.Self.frozen.70d -// CHECK:STDOUT: %require_complete => constants.%complete_type.c4c -// CHECK:STDOUT: %.Self.frozen.as_type => constants.%.Self.frozen.as_type.1e5 -// CHECK:STDOUT: %Y.assoc_type => constants.%Y.assoc_type.d53 -// CHECK:STDOUT: %assoc0 => constants.%assoc0.ef6 -// CHECK:STDOUT: %Y.lookup_impl_witness.loc11_34.1 => constants.%Y.lookup_impl_witness.fb3 -// CHECK:STDOUT: %impl.elem0.loc11_34.1 => constants.%impl.elem0.73b -// CHECK:STDOUT: %.Self => constants.%.Self.b06 -// CHECK:STDOUT: %Y.lookup_impl_witness.loc11_34.2 => constants.%Y.lookup_impl_witness.d61 -// CHECK:STDOUT: %impl.elem0.loc11_34.2 => constants.%impl.elem0.400 -// CHECK:STDOUT: %Y_where.type => constants.%Y_where.type.8eb -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.692 -// CHECK:STDOUT: %H.patt.loc11_24.2 => constants.%H.patt.a46 -// CHECK:STDOUT: %H.loc11_24.1 => constants.%facet_value.3eb +// CHECK:STDOUT: %Y.type => constants.%Y.type.2d4 +// CHECK:STDOUT: %.Self.frozen.loc11_28.1 => constants.%.Self.frozen.e6a +// CHECK:STDOUT: %require_complete => constants.%complete_type.19b +// CHECK:STDOUT: %.Self.frozen.as_type => constants.%.Self.frozen.as_type.6ef +// CHECK:STDOUT: %Y.assoc_type => constants.%Y.assoc_type.976 +// CHECK:STDOUT: %assoc0 => constants.%assoc0.ed0 +// CHECK:STDOUT: %Y.lookup_impl_witness.loc11_34.1 => constants.%Y.lookup_impl_witness.7a6 +// CHECK:STDOUT: %impl.elem0.loc11_34.1 => constants.%impl.elem0.b35 +// CHECK:STDOUT: %.Self => constants.%.Self.e84 +// CHECK:STDOUT: %Y.lookup_impl_witness.loc11_34.2 => constants.%Y.lookup_impl_witness.a85 +// CHECK:STDOUT: %impl.elem0.loc11_34.2 => constants.%impl.elem0.3da +// CHECK:STDOUT: %Y_where.type => constants.%Y_where.type.50c +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.330 +// CHECK:STDOUT: %H.patt.loc11_24.2 => constants.%H.patt.c56 +// CHECK:STDOUT: %H.loc11_24.1 => constants.%facet_value.554 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } 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 215655a04630..026def2252dc 100644 --- a/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon +++ b/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon @@ -130,8 +130,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.6e9: type = impl_witness_access %.29c, element0 [symbolic] // CHECK:STDOUT: %Z_where.type.28d: type = facet_type <@Z, @Z(%S) where %impl.elem0.6e9 = %empty_tuple.type> [symbolic] // CHECK:STDOUT: %.18b: = impl_self_witness %T.67d, @Z, @Z(%S) [symbolic] -// CHECK:STDOUT: %Z.impl_witness.1cd: = impl_witness @T.as.Z.impl.3c5.%Z.impl_witness_table, @T.as.Z.impl.3c5(%T.67d, %S) [symbolic] -// CHECK:STDOUT: %Z.facet.794: %Z.type.78b = facet_value %T.67d, (%Z.impl_witness.1cd) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.e1a: = impl_witness @T.as.Z.impl.3c5.%Z.impl_witness_table, @T.as.Z.impl.3c5(%T.67d, %S) [symbolic] +// CHECK:STDOUT: %Z.facet.192: %Z.type.78b = facet_value %T.67d, (%Z.impl_witness.e1a) [symbolic] // CHECK:STDOUT: %Z.type.963: type = facet_type <@Z, @Z(%C)> [concrete] // CHECK:STDOUT: %.Self.frozen.16f: %Z.type.963 = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Self.ae2: %Z.type.963 = symbolic_binding Self, 1 [symbolic] @@ -145,8 +145,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.f68: type = impl_witness_access %.286, element0 [symbolic_self] // CHECK:STDOUT: %Z_where.type.26f: type = facet_type <@Z, @Z(%C) where %impl.elem0.f68 = %T.67d> [symbolic] // CHECK:STDOUT: %.c1d: = impl_self_witness %T.67d, @Z, @Z(%C) [symbolic] -// CHECK:STDOUT: %Z.impl_witness.cb6: = impl_witness @T.as.Z.impl.dc2.%Z.impl_witness_table, @T.as.Z.impl.dc2(%T.67d) [symbolic] -// CHECK:STDOUT: %Z.facet.624: %Z.type.963 = facet_value %T.67d, (%Z.impl_witness.cb6) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.12f: = impl_witness @T.as.Z.impl.dc2.%Z.impl_witness_table, @T.as.Z.impl.dc2(%T.67d) [symbolic] +// CHECK:STDOUT: %Z.facet.fe0: %Z.type.963 = facet_value %T.67d, (%Z.impl_witness.12f) [symbolic] // CHECK:STDOUT: %pattern_type.d7e: type = pattern_type %Z.type.963 [concrete] // CHECK:STDOUT: %T.patt.4cc: %pattern_type.d7e = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.4b3: %Z.type.963 = symbolic_binding T, 0 [symbolic] @@ -159,7 +159,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %require_complete.df7: = require_complete_type %T.as_type [symbolic] // CHECK:STDOUT: %Z_where.type.147: type = facet_type <@Z, @Z(%C) where %impl.elem0.f68 = %T.as_type> [symbolic] // CHECK:STDOUT: %.eef: = impl_self_witness %T.as_type, @Z, @Z(%C) [symbolic] -// CHECK:STDOUT: %Z.impl_witness.bed: = impl_witness @T.as.Z.impl.dc2.%Z.impl_witness_table, @T.as.Z.impl.dc2(%T.as_type) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.4cd: = impl_witness @T.as.Z.impl.dc2.%Z.impl_witness_table, @T.as.Z.impl.dc2(%T.as_type) [symbolic] // CHECK:STDOUT: %.ac3: require_specific_def_type = require_specific_def @T.as.Z.impl.dc2(%T.as_type) [symbolic] // CHECK:STDOUT: %a.patt: %pattern_type.d37 = value_binding_pattern a [symbolic] // CHECK:STDOUT: } @@ -322,13 +322,13 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.loc9_48.4: type = impl_witness_access %.loc9_48.4, element0 [symbolic = %impl.elem0.loc9_48.4 (constants.%impl.elem0.6e9)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(%S.loc9_24.2) where %impl.elem0.loc9_48.4 = constants.%empty_tuple.type> [symbolic = %Z_where.type (constants.%Z_where.type.28d)] // CHECK:STDOUT: %.loc9_56: = impl_self_witness %T.loc9_15.2, @Z, @Z(%S.loc9_24.2) [symbolic = %.loc9_56 (constants.%.18b)] -// CHECK:STDOUT: %Z.impl_witness.loc9_56.2: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.3c5(%T.loc9_15.2, %S.loc9_24.2) [symbolic = %Z.impl_witness.loc9_56.2 (constants.%Z.impl_witness.1cd)] +// CHECK:STDOUT: %Z.impl_witness.loc9_56.2: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.3c5(%T.loc9_15.2, %S.loc9_24.2) [symbolic = %Z.impl_witness.loc9_56.2 (constants.%Z.impl_witness.e1a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref as %Z.type.loc9_40.1 { // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @T.as.Z.impl.3c5 [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc9_56.1: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.3c5(constants.%T.67d, constants.%S) [symbolic = %Z.impl_witness.loc9_56.2 (constants.%Z.impl_witness.1cd)] +// CHECK:STDOUT: %Z.impl_witness.loc9_56.1: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.3c5(constants.%T.67d, constants.%S) [symbolic = %Z.impl_witness.loc9_56.2 (constants.%Z.impl_witness.e1a)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -342,13 +342,13 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc11_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc11_21.2 (constants.%T.67d)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(constants.%C) where constants.%impl.elem0.f68 = %T.loc11_21.2> [symbolic = %Z_where.type (constants.%Z_where.type.26f)] // CHECK:STDOUT: %.loc11_52: = impl_self_witness %T.loc11_21.2, @Z, @Z(constants.%C) [symbolic = %.loc11_52 (constants.%.c1d)] -// CHECK:STDOUT: %Z.impl_witness.loc11_52.2: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.dc2(%T.loc11_21.2) [symbolic = %Z.impl_witness.loc11_52.2 (constants.%Z.impl_witness.cb6)] +// CHECK:STDOUT: %Z.impl_witness.loc11_52.2: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.dc2(%T.loc11_21.2) [symbolic = %Z.impl_witness.loc11_52.2 (constants.%Z.impl_witness.12f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: final impl: %T.ref.loc11_29 as %Z.type { // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @T.as.Z.impl.dc2 [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc11_52.1: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.dc2(constants.%T.67d) [symbolic = %Z.impl_witness.loc11_52.2 (constants.%Z.impl_witness.cb6)] +// CHECK:STDOUT: %Z.impl_witness.loc11_52.1: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.dc2(constants.%T.67d) [symbolic = %Z.impl_witness.loc11_52.2 (constants.%Z.impl_witness.12f)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%T.67d [symbolic = %T.loc11_21.2 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -387,7 +387,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %.loc15_18.2: type = converted %T.ref.loc15, %T.as_type.loc15 [symbolic = %T.as_type.loc13_26.1 (constants.%T.as_type)] // CHECK:STDOUT: %.loc15_18.3: %Z.assoc_type.f4d = specific_constant @X.%assoc0, @Z.WithSelf(constants.%C, constants.%T.4b3) [concrete = constants.%assoc0.169] // CHECK:STDOUT: %X.ref: %Z.assoc_type.f4d = name_ref X, %.loc15_18.3 [concrete = constants.%assoc0.169] -// CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%Z.impl_witness.bed, element0 [symbolic = %T.as_type.loc13_26.1 (constants.%T.as_type)] +// CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%Z.impl_witness.4cd, element0 [symbolic = %T.as_type.loc13_26.1 (constants.%T.as_type)] // CHECK:STDOUT: } // CHECK:STDOUT: %a: @F.%T.as_type.loc13_26.1 (%T.as_type) = wrapper_binding a, %t.ref // CHECK:STDOUT: name_binding_decl { @@ -445,10 +445,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.loc9_48.4 => constants.%impl.elem0.6e9 // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.28d // CHECK:STDOUT: %.loc9_56 => constants.%.18b -// CHECK:STDOUT: %Z.impl_witness.loc9_56.2 => constants.%Z.impl_witness.1cd +// CHECK:STDOUT: %Z.impl_witness.loc9_56.2 => constants.%Z.impl_witness.e1a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%S, constants.%Z.facet.794) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%S, constants.%Z.facet.192) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%S // CHECK:STDOUT: %Z.assoc_type => constants.%Z.assoc_type.083 @@ -483,10 +483,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc11_21.2 => constants.%T.67d // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.26f // CHECK:STDOUT: %.loc11_52 => constants.%.c1d -// CHECK:STDOUT: %Z.impl_witness.loc11_52.2 => constants.%Z.impl_witness.cb6 +// CHECK:STDOUT: %Z.impl_witness.loc11_52.2 => constants.%Z.impl_witness.12f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%C, constants.%Z.facet.624) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%C, constants.%Z.facet.fe0) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%C // CHECK:STDOUT: %Z.assoc_type => constants.%Z.assoc_type.f4d @@ -514,7 +514,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc11_21.2 => constants.%T.as_type // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.147 // CHECK:STDOUT: %.loc11_52 => constants.%.eef -// CHECK:STDOUT: %Z.impl_witness.loc11_52.2 => constants.%Z.impl_witness.bed +// CHECK:STDOUT: %Z.impl_witness.loc11_52.2 => constants.%Z.impl_witness.4cd // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -556,8 +556,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.6e9: type = impl_witness_access %.29c, element0 [symbolic] // CHECK:STDOUT: %Z_where.type.28d: type = facet_type <@Z, @Z(%S) where %impl.elem0.6e9 = %empty_tuple.type> [symbolic] // CHECK:STDOUT: %.18b: = impl_self_witness %T.67d, @Z, @Z(%S) [symbolic] -// CHECK:STDOUT: %Z.impl_witness.1cd: = impl_witness @T.as.Z.impl.3c5.%Z.impl_witness_table, @T.as.Z.impl.3c5(%T.67d, %S) [symbolic] -// CHECK:STDOUT: %Z.facet.794: %Z.type.78b = facet_value %T.67d, (%Z.impl_witness.1cd) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.e1a: = impl_witness @T.as.Z.impl.3c5.%Z.impl_witness_table, @T.as.Z.impl.3c5(%T.67d, %S) [symbolic] +// CHECK:STDOUT: %Z.facet.192: %Z.type.78b = facet_value %T.67d, (%Z.impl_witness.e1a) [symbolic] // CHECK:STDOUT: %Z.type.963: type = facet_type <@Z, @Z(%C)> [concrete] // CHECK:STDOUT: %.Self.frozen.16f: %Z.type.963 = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %Self.ae2: %Z.type.963 = symbolic_binding Self, 1 [symbolic] @@ -571,8 +571,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.f68: type = impl_witness_access %.286, element0 [symbolic_self] // CHECK:STDOUT: %Z_where.type.26f: type = facet_type <@Z, @Z(%C) where %impl.elem0.f68 = %T.67d> [symbolic] // CHECK:STDOUT: %.c1d: = impl_self_witness %T.67d, @Z, @Z(%C) [symbolic] -// CHECK:STDOUT: %Z.impl_witness.cb6: = impl_witness @T.as.Z.impl.dc2.%Z.impl_witness_table, @T.as.Z.impl.dc2(%T.67d) [symbolic] -// CHECK:STDOUT: %Z.facet.624: %Z.type.963 = facet_value %T.67d, (%Z.impl_witness.cb6) [symbolic] +// CHECK:STDOUT: %Z.impl_witness.12f: = impl_witness @T.as.Z.impl.dc2.%Z.impl_witness_table, @T.as.Z.impl.dc2(%T.67d) [symbolic] +// CHECK:STDOUT: %Z.facet.fe0: %Z.type.963 = facet_value %T.67d, (%Z.impl_witness.12f) [symbolic] // CHECK:STDOUT: %pattern_type.d7e: type = pattern_type %Z.type.963 [concrete] // CHECK:STDOUT: %T.patt.4cc: %pattern_type.d7e = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.4b3: %Z.type.963 = symbolic_binding T, 0 [symbolic] @@ -779,13 +779,13 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.loc10_48.4: type = impl_witness_access %.loc10_48.4, element0 [symbolic = %impl.elem0.loc10_48.4 (constants.%impl.elem0.6e9)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(%S.loc10_24.2) where %impl.elem0.loc10_48.4 = constants.%empty_tuple.type> [symbolic = %Z_where.type (constants.%Z_where.type.28d)] // CHECK:STDOUT: %.loc10_56: = impl_self_witness %T.loc10_15.2, @Z, @Z(%S.loc10_24.2) [symbolic = %.loc10_56 (constants.%.18b)] -// CHECK:STDOUT: %Z.impl_witness.loc10_56.2: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.3c5(%T.loc10_15.2, %S.loc10_24.2) [symbolic = %Z.impl_witness.loc10_56.2 (constants.%Z.impl_witness.1cd)] +// CHECK:STDOUT: %Z.impl_witness.loc10_56.2: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.3c5(%T.loc10_15.2, %S.loc10_24.2) [symbolic = %Z.impl_witness.loc10_56.2 (constants.%Z.impl_witness.e1a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref as %Z.type.loc10_40.1 { // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @T.as.Z.impl.3c5 [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc10_56.1: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.3c5(constants.%T.67d, constants.%S) [symbolic = %Z.impl_witness.loc10_56.2 (constants.%Z.impl_witness.1cd)] +// CHECK:STDOUT: %Z.impl_witness.loc10_56.1: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.3c5(constants.%T.67d, constants.%S) [symbolic = %Z.impl_witness.loc10_56.2 (constants.%Z.impl_witness.e1a)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -799,13 +799,13 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc12_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc12_15.2 (constants.%T.67d)] // CHECK:STDOUT: %Z_where.type: type = facet_type <@Z, @Z(constants.%C) where constants.%impl.elem0.f68 = %T.loc12_15.2> [symbolic = %Z_where.type (constants.%Z_where.type.26f)] // CHECK:STDOUT: %.loc12_46: = impl_self_witness %T.loc12_15.2, @Z, @Z(constants.%C) [symbolic = %.loc12_46 (constants.%.c1d)] -// CHECK:STDOUT: %Z.impl_witness.loc12_46.2: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.dc2(%T.loc12_15.2) [symbolic = %Z.impl_witness.loc12_46.2 (constants.%Z.impl_witness.cb6)] +// CHECK:STDOUT: %Z.impl_witness.loc12_46.2: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.dc2(%T.loc12_15.2) [symbolic = %Z.impl_witness.loc12_46.2 (constants.%Z.impl_witness.12f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: impl: %T.ref.loc12_23 as %Z.type { // CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @T.as.Z.impl.dc2 [concrete] -// CHECK:STDOUT: %Z.impl_witness.loc12_46.1: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.dc2(constants.%T.67d) [symbolic = %Z.impl_witness.loc12_46.2 (constants.%Z.impl_witness.cb6)] +// CHECK:STDOUT: %Z.impl_witness.loc12_46.1: = impl_witness %Z.impl_witness_table, @T.as.Z.impl.dc2(constants.%T.67d) [symbolic = %Z.impl_witness.loc12_46.2 (constants.%Z.impl_witness.12f)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%T.67d [symbolic = %T.loc12_15.2 (constants.%T.67d)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -915,10 +915,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.loc10_48.4 => constants.%impl.elem0.6e9 // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.28d // CHECK:STDOUT: %.loc10_56 => constants.%.18b -// CHECK:STDOUT: %Z.impl_witness.loc10_56.2 => constants.%Z.impl_witness.1cd +// CHECK:STDOUT: %Z.impl_witness.loc10_56.2 => constants.%Z.impl_witness.e1a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%S, constants.%Z.facet.794) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%S, constants.%Z.facet.192) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%S // CHECK:STDOUT: %Z.assoc_type => constants.%Z.assoc_type.083 @@ -953,10 +953,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.loc12_15.2 => constants.%T.67d // CHECK:STDOUT: %Z_where.type => constants.%Z_where.type.26f // CHECK:STDOUT: %.loc12_46 => constants.%.c1d -// CHECK:STDOUT: %Z.impl_witness.loc12_46.2 => constants.%Z.impl_witness.cb6 +// CHECK:STDOUT: %Z.impl_witness.loc12_46.2 => constants.%Z.impl_witness.12f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Z.WithSelf(constants.%C, constants.%Z.facet.624) { +// CHECK:STDOUT: specific @Z.WithSelf(constants.%C, constants.%Z.facet.fe0) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%C // CHECK:STDOUT: %Z.assoc_type => constants.%Z.assoc_type.f4d @@ -1001,8 +1001,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.406: type = impl_witness_access %.51f, element0 [symbolic_self] // CHECK:STDOUT: %Ptr_where.type.774fa9.1: type = facet_type <@Ptr where %impl.elem0.406 = %ptr.e8f8f9.1> [symbolic] // CHECK:STDOUT: %.f8fe26.1: = impl_self_witness %U.67d, @Ptr [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.0fcac6.1: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%U.67d) [symbolic] -// CHECK:STDOUT: %Ptr.facet.5c0956.1: %Ptr.type = facet_value %U.67d, (%Ptr.impl_witness.0fcac6.1) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.548f1d.1: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%U.67d) [symbolic] +// CHECK:STDOUT: %Ptr.facet.a0fe31.1: %Ptr.type = facet_value %U.67d, (%Ptr.impl_witness.548f1d.1) [symbolic] // CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T.67d [symbolic] @@ -1011,9 +1011,9 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.e8f8f9.2: type = ptr_type %T.67d [symbolic] // CHECK:STDOUT: %Ptr_where.type.774fa9.2: type = facet_type <@Ptr where %impl.elem0.406 = %ptr.e8f8f9.2> [symbolic] // CHECK:STDOUT: %.f8fe26.2: = impl_self_witness %T.67d, @Ptr [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.0fcac6.2: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.67d) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.548f1d.2: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.67d) [symbolic] // CHECK:STDOUT: %.ed1: require_specific_def_type = require_specific_def @U.as.Ptr.impl(%T.67d) [symbolic] -// CHECK:STDOUT: %Ptr.facet.5c0956.2: %Ptr.type = facet_value %T.67d, (%Ptr.impl_witness.0fcac6.2) [symbolic] +// CHECK:STDOUT: %Ptr.facet.a0fe31.2: %Ptr.type = facet_value %T.67d, (%Ptr.impl_witness.548f1d.2) [symbolic] // CHECK:STDOUT: %.cb6: Core.Form = init_form %ptr.e8f8f9.2 [symbolic] // CHECK:STDOUT: %pattern_type.4f4: type = pattern_type %ptr.e8f8f9.2 [symbolic] // CHECK:STDOUT: %return.param_patt.27f: %pattern_type.4f4 = out_param_pattern [symbolic] @@ -1087,9 +1087,9 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.ref.loc9_28: type = name_ref T, %T.loc9_7.2 [symbolic = %T.loc9_7.1 (constants.%T.67d)] // CHECK:STDOUT: %Ptr.ref: type = name_ref Ptr, file.%Ptr.decl [concrete = constants.%Ptr.type] // CHECK:STDOUT: %Type.ref: %Ptr.assoc_type = name_ref Type, @Type.%assoc0 [concrete = constants.%assoc0.b1a] -// CHECK:STDOUT: %Ptr.facet.loc9_29.2: %Ptr.type = facet_value %T.ref.loc9_28, (constants.%Ptr.impl_witness.0fcac6.2) [symbolic = %Ptr.facet.loc9_29.1 (constants.%Ptr.facet.5c0956.2)] -// CHECK:STDOUT: %.loc9_29.3: %Ptr.type = converted %T.ref.loc9_28, %Ptr.facet.loc9_29.2 [symbolic = %Ptr.facet.loc9_29.1 (constants.%Ptr.facet.5c0956.2)] -// CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.0fcac6.2, element0 [symbolic = %ptr (constants.%ptr.e8f8f9.2)] +// CHECK:STDOUT: %Ptr.facet.loc9_29.2: %Ptr.type = facet_value %T.ref.loc9_28, (constants.%Ptr.impl_witness.548f1d.2) [symbolic = %Ptr.facet.loc9_29.1 (constants.%Ptr.facet.a0fe31.2)] +// CHECK:STDOUT: %.loc9_29.3: %Ptr.type = converted %T.ref.loc9_28, %Ptr.facet.loc9_29.2 [symbolic = %Ptr.facet.loc9_29.1 (constants.%Ptr.facet.a0fe31.2)] +// CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.548f1d.2, element0 [symbolic = %ptr (constants.%ptr.e8f8f9.2)] // CHECK:STDOUT: %.loc9_29.4: Core.Form = init_form %impl.elem0.loc9 [symbolic = %.loc9_29.2 (constants.%.cb6)] // CHECK:STDOUT: %.loc9_9.1: type = splice_block %.loc9_9.2 [concrete = type] { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] @@ -1127,13 +1127,13 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.loc7_53.2: type = ptr_type %U.loc7_21.2 [symbolic = %ptr.loc7_53.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %Ptr_where.type: type = facet_type <@Ptr where constants.%impl.elem0.406 = %ptr.loc7_53.2> [symbolic = %Ptr_where.type (constants.%Ptr_where.type.774fa9.1)] // CHECK:STDOUT: %.loc7_55: = impl_self_witness %U.loc7_21.2, @Ptr [symbolic = %.loc7_55 (constants.%.f8fe26.1)] -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(%U.loc7_21.2) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.0fcac6.1)] +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(%U.loc7_21.2) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.548f1d.1)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: final impl: %U.ref.loc7_29 as %Ptr.ref { // CHECK:STDOUT: %Ptr.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @U.as.Ptr.impl [concrete] -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.1: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(constants.%U.67d) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.0fcac6.1)] +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.1: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(constants.%U.67d) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.548f1d.1)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%ptr.e8f8f9.1 [symbolic = %ptr.loc7_53.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -1149,8 +1149,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %t.patt.loc9_20.2: @F.%pattern_type.loc9_20 (%pattern_type.51d) = ref_binding_pattern t [symbolic = %t.patt.loc9_20.2 (constants.%t.patt)] // CHECK:STDOUT: %t.param_patt.loc9_15.2: @F.%pattern_type.loc9_20 (%pattern_type.51d) = var_param_pattern %t.patt.loc9_20.2 [symbolic = %t.param_patt.loc9_15.2 (constants.%t.param_patt)] // CHECK:STDOUT: %.loc9_29.1: require_specific_def_type = require_specific_def @U.as.Ptr.impl(%T.loc9_7.1) [symbolic = %.loc9_29.1 (constants.%.ed1)] -// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.loc9_7.1) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.0fcac6.2)] -// CHECK:STDOUT: %Ptr.facet.loc9_29.1: %Ptr.type = facet_value %T.loc9_7.1, (%Ptr.impl_witness) [symbolic = %Ptr.facet.loc9_29.1 (constants.%Ptr.facet.5c0956.2)] +// CHECK:STDOUT: %Ptr.impl_witness: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.loc9_7.1) [symbolic = %Ptr.impl_witness (constants.%Ptr.impl_witness.548f1d.2)] +// CHECK:STDOUT: %Ptr.facet.loc9_29.1: %Ptr.type = facet_value %T.loc9_7.1, (%Ptr.impl_witness) [symbolic = %Ptr.facet.loc9_29.1 (constants.%Ptr.facet.a0fe31.2)] // CHECK:STDOUT: %ptr: type = ptr_type %T.loc9_7.1 [symbolic = %ptr (constants.%ptr.e8f8f9.2)] // CHECK:STDOUT: %.loc9_29.2: Core.Form = init_form %ptr [symbolic = %.loc9_29.2 (constants.%.cb6)] // CHECK:STDOUT: %pattern_type.loc9_29: type = pattern_type %ptr [symbolic = %pattern_type.loc9_29 (constants.%pattern_type.4f4)] @@ -1199,10 +1199,10 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.774fa9.1 // CHECK:STDOUT: %.loc7_55 => constants.%.f8fe26.1 -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.0fcac6.1 +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.548f1d.1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Ptr.WithSelf(constants.%Ptr.facet.5c0956.1) { +// CHECK:STDOUT: specific @Ptr.WithSelf(constants.%Ptr.facet.a0fe31.1) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1212,12 +1212,12 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.e8f8f9.2 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.774fa9.2 // CHECK:STDOUT: %.loc7_55 => constants.%.f8fe26.2 -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.0fcac6.2 +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.548f1d.2 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @Ptr.WithSelf(constants.%Ptr.facet.5c0956.2) { +// CHECK:STDOUT: specific @Ptr.WithSelf(constants.%Ptr.facet.a0fe31.2) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1228,8 +1228,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %t.patt.loc9_20.2 => constants.%t.patt // CHECK:STDOUT: %t.param_patt.loc9_15.2 => constants.%t.param_patt // CHECK:STDOUT: %.loc9_29.1 => constants.%.ed1 -// CHECK:STDOUT: %Ptr.impl_witness => constants.%Ptr.impl_witness.0fcac6.2 -// CHECK:STDOUT: %Ptr.facet.loc9_29.1 => constants.%Ptr.facet.5c0956.2 +// CHECK:STDOUT: %Ptr.impl_witness => constants.%Ptr.impl_witness.548f1d.2 +// CHECK:STDOUT: %Ptr.facet.loc9_29.1 => constants.%Ptr.facet.a0fe31.2 // CHECK:STDOUT: %ptr => constants.%ptr.e8f8f9.2 // CHECK:STDOUT: %.loc9_29.2 => constants.%.cb6 // CHECK:STDOUT: %pattern_type.loc9_29 => constants.%pattern_type.4f4 @@ -1259,8 +1259,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.406: type = impl_witness_access %.51f, element0 [symbolic_self] // CHECK:STDOUT: %Ptr_where.type.774: type = facet_type <@Ptr where %impl.elem0.406 = %ptr.e8f8f9.1> [symbolic] // CHECK:STDOUT: %.f8f: = impl_self_witness %U.67d, @Ptr [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.0fc: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%U.67d) [symbolic] -// CHECK:STDOUT: %Ptr.facet: %Ptr.type = facet_value %U.67d, (%Ptr.impl_witness.0fc) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.548: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%U.67d) [symbolic] +// CHECK:STDOUT: %Ptr.facet: %Ptr.type = facet_value %U.67d, (%Ptr.impl_witness.548) [symbolic] // CHECK:STDOUT: %pattern_type.f5d: type = pattern_type %Ptr.type [concrete] // CHECK:STDOUT: %T.patt.a2e: %pattern_type.f5d = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.76f: %Ptr.type = symbolic_binding T, 0 [symbolic] @@ -1271,7 +1271,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.ac4: type = ptr_type %T.as_type.468 [symbolic] // CHECK:STDOUT: %Ptr_where.type.c27: type = facet_type <@Ptr where %impl.elem0.406 = %ptr.ac4> [symbolic] // CHECK:STDOUT: %.47c: = impl_self_witness %T.as_type.468, @Ptr [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.30f: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.as_type.468) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.8bb: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.as_type.468) [symbolic] // CHECK:STDOUT: %.166: require_specific_def_type = require_specific_def @U.as.Ptr.impl(%T.as_type.468) [symbolic] // CHECK:STDOUT: %.e16: Core.Form = init_form %ptr.ac4 [symbolic] // CHECK:STDOUT: %pattern_type.f62: type = pattern_type %ptr.ac4 [symbolic] @@ -1347,7 +1347,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.as_type.loc9_28: type = facet_access_type %T.ref.loc9_27 [symbolic = %T.as_type.loc9_21.1 (constants.%T.as_type.468)] // CHECK:STDOUT: %.loc9_28.3: type = converted %T.ref.loc9_27, %T.as_type.loc9_28 [symbolic = %T.as_type.loc9_21.1 (constants.%T.as_type.468)] // CHECK:STDOUT: %Type.ref: %Ptr.assoc_type = name_ref Type, @Type.%assoc0 [concrete = constants.%assoc0.b1a] -// CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.30f, element0 [symbolic = %ptr (constants.%ptr.ac4)] +// CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.8bb, element0 [symbolic = %ptr (constants.%ptr.ac4)] // CHECK:STDOUT: %.loc9_28.4: Core.Form = init_form %impl.elem0.loc9 [symbolic = %.loc9_28.2 (constants.%.e16)] // CHECK:STDOUT: %.loc9_9: type = splice_block %Ptr.ref [concrete = constants.%Ptr.type] { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] @@ -1389,13 +1389,13 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.loc7_53.2: type = ptr_type %U.loc7_21.2 [symbolic = %ptr.loc7_53.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %Ptr_where.type: type = facet_type <@Ptr where constants.%impl.elem0.406 = %ptr.loc7_53.2> [symbolic = %Ptr_where.type (constants.%Ptr_where.type.774)] // CHECK:STDOUT: %.loc7_55: = impl_self_witness %U.loc7_21.2, @Ptr [symbolic = %.loc7_55 (constants.%.f8f)] -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(%U.loc7_21.2) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.0fc)] +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(%U.loc7_21.2) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.548)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: final impl: %U.ref.loc7_29 as %Ptr.ref { // CHECK:STDOUT: %Ptr.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @U.as.Ptr.impl [concrete] -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.1: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(constants.%U.67d) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.0fc)] +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.1: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(constants.%U.67d) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.548)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%ptr.e8f8f9.1 [symbolic = %ptr.loc7_53.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -1460,7 +1460,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.774 // CHECK:STDOUT: %.loc7_55 => constants.%.f8f -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.0fc +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.548 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Ptr.WithSelf(constants.%Ptr.facet) { @@ -1477,7 +1477,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.ac4 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.c27 // CHECK:STDOUT: %.loc7_55 => constants.%.47c -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.30f +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.8bb // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } @@ -1519,8 +1519,8 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %impl.elem0.406: type = impl_witness_access %.51f, element0 [symbolic_self] // CHECK:STDOUT: %Ptr_where.type.774: type = facet_type <@Ptr where %impl.elem0.406 = %ptr.e8f8f9.1> [symbolic] // CHECK:STDOUT: %.f8f: = impl_self_witness %U.67d, @Ptr [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.0fc: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%U.67d) [symbolic] -// CHECK:STDOUT: %Ptr.facet: %Ptr.type = facet_value %U.67d, (%Ptr.impl_witness.0fc) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.548: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%U.67d) [symbolic] +// CHECK:STDOUT: %Ptr.facet: %Ptr.type = facet_value %U.67d, (%Ptr.impl_witness.548) [symbolic] // CHECK:STDOUT: %pattern_type.f5d: type = pattern_type %Ptr.type [concrete] // CHECK:STDOUT: %T.patt.a2e: %pattern_type.f5d = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.76f: %Ptr.type = symbolic_binding T, 0 [symbolic] @@ -1531,7 +1531,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.ac4: type = ptr_type %T.as_type.468 [symbolic] // CHECK:STDOUT: %Ptr_where.type.c27: type = facet_type <@Ptr where %impl.elem0.406 = %ptr.ac4> [symbolic] // CHECK:STDOUT: %.47c: = impl_self_witness %T.as_type.468, @Ptr [symbolic] -// CHECK:STDOUT: %Ptr.impl_witness.30f: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.as_type.468) [symbolic] +// CHECK:STDOUT: %Ptr.impl_witness.8bb: = impl_witness @U.as.Ptr.impl.%Ptr.impl_witness_table, @U.as.Ptr.impl(%T.as_type.468) [symbolic] // CHECK:STDOUT: %.166: require_specific_def_type = require_specific_def @U.as.Ptr.impl(%T.as_type.468) [symbolic] // CHECK:STDOUT: %.e16: Core.Form = init_form %ptr.ac4 [symbolic] // CHECK:STDOUT: %pattern_type.f62: type = pattern_type %ptr.ac4 [symbolic] @@ -1606,7 +1606,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.ref.loc9_27: %Ptr.type = name_ref T, %T.loc9_7.2 [symbolic = %T.loc9_7.1 (constants.%T.76f)] // CHECK:STDOUT: %Ptr.ref.loc9_30: type = name_ref Ptr, file.%Ptr.decl [concrete = constants.%Ptr.type] // CHECK:STDOUT: %Type.ref: %Ptr.assoc_type = name_ref Type, @Type.%assoc0 [concrete = constants.%assoc0.b1a] -// CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.30f, element0 [symbolic = %ptr (constants.%ptr.ac4)] +// CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.8bb, element0 [symbolic = %ptr (constants.%ptr.ac4)] // CHECK:STDOUT: %.loc9_28.3: Core.Form = init_form %impl.elem0.loc9 [symbolic = %.loc9_28.2 (constants.%.e16)] // CHECK:STDOUT: %.loc9_9: type = splice_block %Ptr.ref.loc9_9 [concrete = constants.%Ptr.type] { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen.197] @@ -1648,13 +1648,13 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.loc7_53.2: type = ptr_type %U.loc7_21.2 [symbolic = %ptr.loc7_53.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %Ptr_where.type: type = facet_type <@Ptr where constants.%impl.elem0.406 = %ptr.loc7_53.2> [symbolic = %Ptr_where.type (constants.%Ptr_where.type.774)] // CHECK:STDOUT: %.loc7_55: = impl_self_witness %U.loc7_21.2, @Ptr [symbolic = %.loc7_55 (constants.%.f8f)] -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(%U.loc7_21.2) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.0fc)] +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(%U.loc7_21.2) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.548)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: // CHECK:STDOUT: final impl: %U.ref.loc7_29 as %Ptr.ref { // CHECK:STDOUT: %Ptr.impl_witness_table = impl_witness_table (%impl_witness_assoc_constant), @U.as.Ptr.impl [concrete] -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.1: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(constants.%U.67d) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.0fc)] +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.1: = impl_witness %Ptr.impl_witness_table, @U.as.Ptr.impl(constants.%U.67d) [symbolic = %Ptr.impl_witness.loc7_55.2 (constants.%Ptr.impl_witness.548)] // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%ptr.e8f8f9.1 [symbolic = %ptr.loc7_53.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: // CHECK:STDOUT: !members: @@ -1719,7 +1719,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.e8f8f9.1 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.774 // CHECK:STDOUT: %.loc7_55 => constants.%.f8f -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.0fc +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.548 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Ptr.WithSelf(constants.%Ptr.facet) { @@ -1732,7 +1732,7 @@ fn F[T: Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %ptr.loc7_53.2 => constants.%ptr.ac4 // CHECK:STDOUT: %Ptr_where.type => constants.%Ptr_where.type.c27 // CHECK:STDOUT: %.loc7_55 => constants.%.47c -// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.30f +// CHECK:STDOUT: %Ptr.impl_witness.loc7_55.2 => constants.%Ptr.impl_witness.8bb // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/specific_args.carbon b/toolchain/check/testdata/impl/lookup/specific_args.carbon index 67cf6decd10a..2980b0079b48 100644 --- a/toolchain/check/testdata/impl/lookup/specific_args.carbon +++ b/toolchain/check/testdata/impl/lookup/specific_args.carbon @@ -239,8 +239,8 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %X.as.I.impl.F.type: type = fn_type @X.as.I.impl.F [concrete] // CHECK:STDOUT: %X.as.I.impl.F: %X.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type.ec4 = facet_value %X, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.dba: type = fn_type @I.WithSelf.F, @I.WithSelf(%InInterfaceArgs, %I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.d4f: %I.WithSelf.F.type.dba = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.31d: type = fn_type @I.WithSelf.F, @I.WithSelf(%InInterfaceArgs, %I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.65e: %I.WithSelf.F.type.31d = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -386,8 +386,8 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %T => constants.%InInterfaceArgs // CHECK:STDOUT: %I.type => constants.%I.type.ec4 // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.dba -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.d4f +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.31d +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.65e // CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.f32 // CHECK:STDOUT: %assoc0 => constants.%assoc0.d86 // CHECK:STDOUT: } @@ -438,9 +438,9 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %assoc0.341: %I.assoc_type.b71 = assoc_entity element0, imports.%Main.import_ref.35c [symbolic] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] // CHECK:STDOUT: %I.facet: %I.type.ec4 = facet_value %X, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.27c: type = fn_type @I.WithSelf.F, @I.WithSelf(%InInterfaceArgs, %I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.f8d: %I.WithSelf.F.type.27c = struct_value () [concrete] -// CHECK:STDOUT: %.a22: type = fn_type_with_self_type %I.WithSelf.F.type.27c, %I.facet [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.c49: type = fn_type @I.WithSelf.F, @I.WithSelf(%InInterfaceArgs, %I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.507: %I.WithSelf.F.type.c49 = struct_value () [concrete] +// CHECK:STDOUT: %.1e5: type = fn_type_with_self_type %I.WithSelf.F.type.c49, %I.facet [concrete] // CHECK:STDOUT: %X.as.I.impl.F.type: type = fn_type @X.as.I.impl.F [concrete] // CHECK:STDOUT: %X.as.I.impl.F: %X.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -462,7 +462,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %Main.import_ref.8f24d3.2: = import_ref Main//impl_in_interface_args, loc5_24, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.9ad = import_ref Main//impl_in_interface_args, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Main.import_ref.35c = import_ref Main//types, loc4_34, unloaded -// CHECK:STDOUT: %Main.import_ref.743: = import_ref Main//impl_in_interface_args, loc7_30, loaded [concrete = constants.%I.impl_witness] +// CHECK:STDOUT: %Main.import_ref.df8: = import_ref Main//impl_in_interface_args, loc7_30, loaded [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %Main.import_ref.57b: type = import_ref Main//impl_in_interface_args, loc7_6, loaded [concrete = constants.%X] // CHECK:STDOUT: %Main.import_ref.555: type = import_ref Main//impl_in_interface_args, loc7_28, loaded [concrete = constants.%I.type.ec4] // CHECK:STDOUT: %Main.import_ref.0d0: %X.as.I.impl.F.type = import_ref Main//impl_in_interface_args, loc7_50, loaded [concrete = constants.%X.as.I.impl.F] @@ -508,7 +508,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: // CHECK:STDOUT: impl @X.as.I.impl: imports.%Main.import_ref.57b as imports.%Main.import_ref.555 [from "impl_in_interface_args.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.743 +// CHECK:STDOUT: witness = imports.%Main.import_ref.df8 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @X [from "types.carbon"] { @@ -533,7 +533,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%InInterfaceArgs)> [concrete = constants.%I.type.ec4] // CHECK:STDOUT: %.loc6: %I.assoc_type.f32 = specific_constant imports.%Main.import_ref.c60, @I.WithSelf(constants.%InInterfaceArgs, constants.%Self.a67) [concrete = constants.%assoc0.7f7] // CHECK:STDOUT: %F.ref: %I.assoc_type.f32 = name_ref F, %.loc6 [concrete = constants.%assoc0.7f7] -// CHECK:STDOUT: %impl.elem0: %.a22 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%X.as.I.impl.F] +// CHECK:STDOUT: %impl.elem0: %.1e5 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%X.as.I.impl.F] // CHECK:STDOUT: %bound_method: = bound_method %x.ref, %impl.elem0 // CHECK:STDOUT: %X.as.I.impl.F.call: init %empty_tuple.type = call %bound_method(%x.ref) // CHECK:STDOUT: return @@ -595,8 +595,8 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %T => constants.%InInterfaceArgs // CHECK:STDOUT: %I.type => constants.%I.type.ec4 // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.27c -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.f8d +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.c49 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.507 // CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.f32 // CHECK:STDOUT: %assoc0 => constants.%assoc0.7f7 // CHECK:STDOUT: } @@ -638,8 +638,8 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type.d91 = facet_value %C.165, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.426: type = fn_type @I.WithSelf.F, @I.WithSelf(%X, %I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.864: %I.WithSelf.F.type.426 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.1e5: type = fn_type @I.WithSelf.F, @I.WithSelf(%X, %I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.e41: %I.WithSelf.F.type.1e5 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -816,8 +816,8 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %I.type => constants.%I.type.d91 // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.426 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.864 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.1e5 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.e41 // CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.696 // CHECK:STDOUT: %assoc0 => constants.%assoc0.a42 // CHECK:STDOUT: } @@ -871,9 +871,9 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %assoc0.341: %I.assoc_type.b71 = assoc_entity element0, imports.%Main.import_ref.35c [symbolic] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] // CHECK:STDOUT: %I.facet: %I.type.d91 = facet_value %C.165, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.c23: type = fn_type @I.WithSelf.F, @I.WithSelf(%X, %I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.80b: %I.WithSelf.F.type.c23 = struct_value () [concrete] -// CHECK:STDOUT: %.325: type = fn_type_with_self_type %I.WithSelf.F.type.c23, %I.facet [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.afb: type = fn_type @I.WithSelf.F, @I.WithSelf(%X, %I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.fe0: %I.WithSelf.F.type.afb = struct_value () [concrete] +// CHECK:STDOUT: %.d7d: type = fn_type_with_self_type %I.WithSelf.F.type.afb, %I.facet [concrete] // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -898,7 +898,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %Main.import_ref.8f24d3.3: = import_ref Main//types, loc7_10, loaded [concrete = constants.%complete_type] // CHECK:STDOUT: %Main.import_ref.9c8 = import_ref Main//types, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Main.import_ref.35c = import_ref Main//types, loc4_34, unloaded -// CHECK:STDOUT: %Main.import_ref.d12: = import_ref Main//impl_in_class_args, loc7_29, loaded [concrete = constants.%I.impl_witness] +// CHECK:STDOUT: %Main.import_ref.710: = import_ref Main//impl_in_class_args, loc7_29, loaded [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %Main.import_ref.312: type = import_ref Main//impl_in_class_args, loc7_19, loaded [concrete = constants.%C.165] // CHECK:STDOUT: %Main.import_ref.ae9: type = import_ref Main//impl_in_class_args, loc7_27, loaded [concrete = constants.%I.type.d91] // CHECK:STDOUT: %Main.import_ref.0d0: %C.as.I.impl.F.type = import_ref Main//impl_in_class_args, loc7_49, loaded [concrete = constants.%C.as.I.impl.F] @@ -948,7 +948,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.I.impl: imports.%Main.import_ref.312 as imports.%Main.import_ref.ae9 [from "impl_in_class_args.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.d12 +// CHECK:STDOUT: witness = imports.%Main.import_ref.710 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @C(imports.%Main.import_ref.b3bc94.1: type) [from "types.carbon"] { @@ -987,7 +987,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%X)> [concrete = constants.%I.type.d91] // CHECK:STDOUT: %.loc6_34: %I.assoc_type.696 = specific_constant imports.%Main.import_ref.c60, @I.WithSelf(constants.%X, constants.%Self.a67) [concrete = constants.%assoc0.563] // CHECK:STDOUT: %F.ref: %I.assoc_type.696 = name_ref F, %.loc6_34 [concrete = constants.%assoc0.563] -// CHECK:STDOUT: %impl.elem0: %.325 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] +// CHECK:STDOUT: %impl.elem0: %.d7d = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %C.as.I.impl.F.call: init %empty_tuple.type = call %bound_method(%c.ref) // CHECK:STDOUT: return @@ -1061,8 +1061,8 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %I.type => constants.%I.type.d91 // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.c23 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.80b +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.afb +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.fe0 // CHECK:STDOUT: %I.assoc_type => constants.%I.assoc_type.696 // CHECK:STDOUT: %assoc0 => constants.%assoc0.563 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/transitive.carbon b/toolchain/check/testdata/impl/lookup/transitive.carbon index 871a15993eeb..e6d0c8a2df0d 100644 --- a/toolchain/check/testdata/impl/lookup/transitive.carbon +++ b/toolchain/check/testdata/impl/lookup/transitive.carbon @@ -148,8 +148,8 @@ fn Call() { // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.51c: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.179: %I.WithSelf.F.type.51c = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.cb9: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.a58: %I.WithSelf.F.type.cb9 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -248,8 +248,8 @@ fn Call() { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.51c -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.179 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.cb9 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.a58 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet) { @@ -335,9 +335,9 @@ fn Call() { // CHECK:STDOUT: %assoc0.232: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.9f7 [concrete] // CHECK:STDOUT: %I.impl_witness: = impl_witness imports.%I.impl_witness_table [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.1e6: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.6d0: %I.WithSelf.F.type.1e6 = struct_value () [concrete] -// CHECK:STDOUT: %.fa9: type = fn_type_with_self_type %I.WithSelf.F.type.1e6, %I.facet [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.03f: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.b7f: %I.WithSelf.F.type.03f = struct_value () [concrete] +// CHECK:STDOUT: %.77f: type = fn_type_with_self_type %I.WithSelf.F.type.03f, %I.facet [concrete] // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] @@ -360,7 +360,7 @@ fn Call() { // CHECK:STDOUT: %Main.import_ref.e59c42.2: %I.type = import_ref Main//i, loc4_13, loaded [symbolic = constants.%Self.dda] // CHECK:STDOUT: %Main.import_ref.223 = import_ref Main//i, loc4_13, unloaded // CHECK:STDOUT: %Main.import_ref.9f7: @I.WithSelf.%I.WithSelf.F.type (%I.WithSelf.F.type.418) = import_ref Main//i, loc4_25, loaded [symbolic = @I.WithSelf.%I.WithSelf.F (constants.%I.WithSelf.F.ca5)] -// CHECK:STDOUT: %Main.import_ref.dbc: = import_ref Main//c, loc7_13, loaded [concrete = constants.%I.impl_witness] +// CHECK:STDOUT: %Main.import_ref.627: = import_ref Main//c, loc7_13, loaded [concrete = constants.%I.impl_witness] // CHECK:STDOUT: %Main.import_ref.335: type = import_ref Main//c, loc7_6, loaded [concrete = constants.%C] // CHECK:STDOUT: %Main.import_ref.e90: type = import_ref Main//c, loc7_11, loaded [concrete = constants.%I.type] // CHECK:STDOUT: %Main.import_ref.0d0: %C.as.I.impl.F.type = import_ref Main//c, loc7_33, loaded [concrete = constants.%C.as.I.impl.F] @@ -391,7 +391,7 @@ fn Call() { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.I.impl: imports.%Main.import_ref.335 as imports.%Main.import_ref.e90 [from "c.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%Main.import_ref.dbc +// CHECK:STDOUT: witness = imports.%Main.import_ref.627 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C [from "get.carbon"] { @@ -408,7 +408,7 @@ fn Call() { // CHECK:STDOUT: %Get.call: init %C to %.loc9_7.1 = call %Get.ref() // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [concrete = constants.%I.type] // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, imports.%Main.import_ref.1b3 [concrete = constants.%assoc0.232] -// CHECK:STDOUT: %impl.elem0: %.fa9 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] +// CHECK:STDOUT: %impl.elem0: %.77f = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] // CHECK:STDOUT: %bound_method: = bound_method %Get.call, %impl.elem0 // CHECK:STDOUT: %.loc9_7.2: ref %C = temporary %.loc9_7.1, %Get.call // CHECK:STDOUT: %.loc9_7.3: %C = acquire_value %.loc9_7.2 @@ -457,7 +457,7 @@ fn Call() { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.1e6 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.6d0 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.03f +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.b7f // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/multiple_extend.carbon b/toolchain/check/testdata/impl/multiple_extend.carbon index cc2419baae8c..639aba975f29 100644 --- a/toolchain/check/testdata/impl/multiple_extend.carbon +++ b/toolchain/check/testdata/impl/multiple_extend.carbon @@ -186,15 +186,15 @@ fn P(o: O) { // CHECK:STDOUT: %C.as.HasF.impl.F.type: type = fn_type @C.as.HasF.impl.F [concrete] // CHECK:STDOUT: %C.as.HasF.impl.F: %C.as.HasF.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %HasF.facet: %HasF.type = facet_value %C, (%HasF.impl_witness) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.type.58e: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] -// CHECK:STDOUT: %HasF.WithSelf.F.1cb: %HasF.WithSelf.F.type.58e = struct_value () [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.type.df2: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%HasF.facet) [concrete] +// CHECK:STDOUT: %HasF.WithSelf.F.11c: %HasF.WithSelf.F.type.df2 = struct_value () [concrete] // CHECK:STDOUT: %.e40: = impl_self_witness %C, @HasG [concrete] // CHECK:STDOUT: %HasG.impl_witness: = impl_witness @C.as.HasG.impl.%HasG.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.HasG.impl.G.type: type = fn_type @C.as.HasG.impl.G [concrete] // CHECK:STDOUT: %C.as.HasG.impl.G: %C.as.HasG.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: %HasG.facet: %HasG.type = facet_value %C, (%HasG.impl_witness) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.type.a09: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet) [concrete] -// CHECK:STDOUT: %HasG.WithSelf.G.1c9: %HasG.WithSelf.G.type.a09 = struct_value () [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.type.1fc: type = fn_type @HasG.WithSelf.G, @HasG.WithSelf(%HasG.facet) [concrete] +// CHECK:STDOUT: %HasG.WithSelf.G.bd5: %HasG.WithSelf.G.type.1fc = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] @@ -208,8 +208,8 @@ fn P(o: O) { // CHECK:STDOUT: %HasG.WithSelf.G.008: %HasG.WithSelf.G.type.012 = struct_value () [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.type.b9d: type = fn_type @HasF.WithSelf.F, @HasF.WithSelf(%C.type.facet) [concrete] // CHECK:STDOUT: %HasF.WithSelf.F.ce1: %HasF.WithSelf.F.type.b9d = struct_value () [concrete] -// CHECK:STDOUT: %.479: type = fn_type_with_self_type %HasF.WithSelf.F.type.58e, %HasF.facet [concrete] -// CHECK:STDOUT: %.ccf: type = fn_type_with_self_type %HasG.WithSelf.G.type.a09, %HasG.facet [concrete] +// CHECK:STDOUT: %.188: type = fn_type_with_self_type %HasF.WithSelf.F.type.df2, %HasF.facet [concrete] +// CHECK:STDOUT: %.b5b: type = fn_type_with_self_type %HasG.WithSelf.G.type.1fc, %HasG.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -335,19 +335,19 @@ fn P(o: O) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc22: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %F.ref.loc22: %HasF.assoc_type = name_ref F, @HasF.WithSelf.%assoc0 [concrete = constants.%assoc0.a0c] -// CHECK:STDOUT: %impl.elem0.loc22: %.479 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] +// CHECK:STDOUT: %impl.elem0.loc22: %.188 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] // CHECK:STDOUT: %C.as.HasF.impl.F.call.loc22: init %empty_tuple.type = call %impl.elem0.loc22() // CHECK:STDOUT: %c.ref.loc23: %C = name_ref c, %c // CHECK:STDOUT: %F.ref.loc23: %HasF.assoc_type = name_ref F, @HasF.WithSelf.%assoc0 [concrete = constants.%assoc0.a0c] -// CHECK:STDOUT: %impl.elem0.loc23: %.479 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] +// CHECK:STDOUT: %impl.elem0.loc23: %.188 = impl_witness_access constants.%HasF.impl_witness, element0 [concrete = constants.%C.as.HasF.impl.F] // CHECK:STDOUT: %C.as.HasF.impl.F.call.loc23: init %empty_tuple.type = call %impl.elem0.loc23() // CHECK:STDOUT: %C.ref.loc24: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %G.ref.loc24: %HasG.assoc_type = name_ref G, @HasG.WithSelf.%assoc0 [concrete = constants.%assoc0.9a7] -// CHECK:STDOUT: %impl.elem0.loc24: %.ccf = impl_witness_access constants.%HasG.impl_witness, element0 [concrete = constants.%C.as.HasG.impl.G] +// CHECK:STDOUT: %impl.elem0.loc24: %.b5b = impl_witness_access constants.%HasG.impl_witness, element0 [concrete = constants.%C.as.HasG.impl.G] // CHECK:STDOUT: %C.as.HasG.impl.G.call.loc24: init %empty_tuple.type = call %impl.elem0.loc24() // CHECK:STDOUT: %c.ref.loc25: %C = name_ref c, %c // CHECK:STDOUT: %G.ref.loc25: %HasG.assoc_type = name_ref G, @HasG.WithSelf.%assoc0 [concrete = constants.%assoc0.9a7] -// CHECK:STDOUT: %impl.elem0.loc25: %.ccf = impl_witness_access constants.%HasG.impl_witness, element0 [concrete = constants.%C.as.HasG.impl.G] +// CHECK:STDOUT: %impl.elem0.loc25: %.b5b = impl_witness_access constants.%HasG.impl_witness, element0 [concrete = constants.%C.as.HasG.impl.G] // CHECK:STDOUT: %C.as.HasG.impl.G.call.loc25: init %empty_tuple.type = call %impl.elem0.loc25() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -373,8 +373,8 @@ fn P(o: O) { // CHECK:STDOUT: specific @HasF.WithSelf(constants.%HasF.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasF.facet -// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.58e -// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.1cb +// CHECK:STDOUT: %HasF.WithSelf.F.type => constants.%HasF.WithSelf.F.type.df2 +// CHECK:STDOUT: %HasF.WithSelf.F => constants.%HasF.WithSelf.F.11c // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasF.WithSelf.F(constants.%HasF.facet) {} @@ -382,8 +382,8 @@ fn P(o: O) { // CHECK:STDOUT: specific @HasG.WithSelf(constants.%HasG.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasG.facet -// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.a09 -// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.1c9 +// CHECK:STDOUT: %HasG.WithSelf.G.type => constants.%HasG.WithSelf.G.type.1fc +// CHECK:STDOUT: %HasG.WithSelf.G => constants.%HasG.WithSelf.G.bd5 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasG.WithSelf.G(constants.%HasG.facet) {} @@ -423,15 +423,15 @@ fn P(o: O) { // CHECK:STDOUT: %D.as.HasA1.impl.A.type: type = fn_type @D.as.HasA1.impl.A [concrete] // CHECK:STDOUT: %D.as.HasA1.impl.A: %D.as.HasA1.impl.A.type = struct_value () [concrete] // CHECK:STDOUT: %HasA1.facet: %HasA1.type = facet_value %D, (%HasA1.impl_witness) [concrete] -// CHECK:STDOUT: %HasA1.WithSelf.A.type.aa7: type = fn_type @HasA1.WithSelf.A, @HasA1.WithSelf(%HasA1.facet) [concrete] -// CHECK:STDOUT: %HasA1.WithSelf.A.f21: %HasA1.WithSelf.A.type.aa7 = struct_value () [concrete] +// CHECK:STDOUT: %HasA1.WithSelf.A.type.698: type = fn_type @HasA1.WithSelf.A, @HasA1.WithSelf(%HasA1.facet) [concrete] +// CHECK:STDOUT: %HasA1.WithSelf.A.408: %HasA1.WithSelf.A.type.698 = struct_value () [concrete] // CHECK:STDOUT: %.b95: = impl_self_witness %D, @HasA2 [concrete] // CHECK:STDOUT: %HasA2.impl_witness: = impl_witness @D.as.HasA2.impl.%HasA2.impl_witness_table [concrete] // CHECK:STDOUT: %D.as.HasA2.impl.A.type: type = fn_type @D.as.HasA2.impl.A [concrete] // CHECK:STDOUT: %D.as.HasA2.impl.A: %D.as.HasA2.impl.A.type = struct_value () [concrete] // CHECK:STDOUT: %HasA2.facet: %HasA2.type = facet_value %D, (%HasA2.impl_witness) [concrete] -// CHECK:STDOUT: %HasA2.WithSelf.A.type.828: type = fn_type @HasA2.WithSelf.A, @HasA2.WithSelf(%HasA2.facet) [concrete] -// CHECK:STDOUT: %HasA2.WithSelf.A.be9: %HasA2.WithSelf.A.type.828 = struct_value () [concrete] +// CHECK:STDOUT: %HasA2.WithSelf.A.type.d2c: type = fn_type @HasA2.WithSelf.A, @HasA2.WithSelf(%HasA2.facet) [concrete] +// CHECK:STDOUT: %HasA2.WithSelf.A.2b0: %HasA2.WithSelf.A.type.d2c = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %D [concrete] @@ -593,8 +593,8 @@ fn P(o: O) { // CHECK:STDOUT: specific @HasA1.WithSelf(constants.%HasA1.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasA1.facet -// CHECK:STDOUT: %HasA1.WithSelf.A.type => constants.%HasA1.WithSelf.A.type.aa7 -// CHECK:STDOUT: %HasA1.WithSelf.A => constants.%HasA1.WithSelf.A.f21 +// CHECK:STDOUT: %HasA1.WithSelf.A.type => constants.%HasA1.WithSelf.A.type.698 +// CHECK:STDOUT: %HasA1.WithSelf.A => constants.%HasA1.WithSelf.A.408 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasA1.WithSelf.A(constants.%HasA1.facet) {} @@ -602,8 +602,8 @@ fn P(o: O) { // CHECK:STDOUT: specific @HasA2.WithSelf(constants.%HasA2.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasA2.facet -// CHECK:STDOUT: %HasA2.WithSelf.A.type => constants.%HasA2.WithSelf.A.type.828 -// CHECK:STDOUT: %HasA2.WithSelf.A => constants.%HasA2.WithSelf.A.be9 +// CHECK:STDOUT: %HasA2.WithSelf.A.type => constants.%HasA2.WithSelf.A.type.d2c +// CHECK:STDOUT: %HasA2.WithSelf.A => constants.%HasA2.WithSelf.A.2b0 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasA2.WithSelf.A(constants.%HasA2.facet) {} @@ -644,8 +644,8 @@ fn P(o: O) { // CHECK:STDOUT: %E.as.HasI.impl.I.type: type = fn_type @E.as.HasI.impl.I [concrete] // CHECK:STDOUT: %E.as.HasI.impl.I: %E.as.HasI.impl.I.type = struct_value () [concrete] // CHECK:STDOUT: %HasI.facet: %HasI.type = facet_value %E, (%HasI.impl_witness) [concrete] -// CHECK:STDOUT: %HasI.WithSelf.I.type.c55: type = fn_type @HasI.WithSelf.I, @HasI.WithSelf(%HasI.facet) [concrete] -// CHECK:STDOUT: %HasI.WithSelf.I.7d0: %HasI.WithSelf.I.type.c55 = struct_value () [concrete] +// CHECK:STDOUT: %HasI.WithSelf.I.type.56e: type = fn_type @HasI.WithSelf.I, @HasI.WithSelf(%HasI.facet) [concrete] +// CHECK:STDOUT: %HasI.WithSelf.I.989: %HasI.WithSelf.I.type.56e = struct_value () [concrete] // CHECK:STDOUT: %struct_type.base.e05: type = struct_type {.base: %B} [concrete] // CHECK:STDOUT: %complete_type.c77: = complete_type_witness %struct_type.base.e05 [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %E [concrete] @@ -657,7 +657,7 @@ fn P(o: O) { // CHECK:STDOUT: %E.type.facet: %type = facet_value %E, () [concrete] // CHECK:STDOUT: %HasI.WithSelf.I.type.e5a: type = fn_type @HasI.WithSelf.I, @HasI.WithSelf(%E.type.facet) [concrete] // CHECK:STDOUT: %HasI.WithSelf.I.e25: %HasI.WithSelf.I.type.e5a = struct_value () [concrete] -// CHECK:STDOUT: %.f70: type = fn_type_with_self_type %HasI.WithSelf.I.type.c55, %HasI.facet [concrete] +// CHECK:STDOUT: %.5c6: type = fn_type_with_self_type %HasI.WithSelf.I.type.56e, %HasI.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -760,11 +760,11 @@ fn P(o: O) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %E.ref.loc20: type = name_ref E, file.%E.decl [concrete = constants.%E] // CHECK:STDOUT: %I.ref.loc20: %HasI.assoc_type = name_ref I, @HasI.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0.loc20: %.f70 = impl_witness_access constants.%HasI.impl_witness, element0 [concrete = constants.%E.as.HasI.impl.I] +// CHECK:STDOUT: %impl.elem0.loc20: %.5c6 = impl_witness_access constants.%HasI.impl_witness, element0 [concrete = constants.%E.as.HasI.impl.I] // CHECK:STDOUT: %E.as.HasI.impl.I.call.loc20: init %empty_tuple.type = call %impl.elem0.loc20() // CHECK:STDOUT: %e.ref.loc21: %E = name_ref e, %e // CHECK:STDOUT: %I.ref.loc21: %HasI.assoc_type = name_ref I, @HasI.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0.loc21: %.f70 = impl_witness_access constants.%HasI.impl_witness, element0 [concrete = constants.%E.as.HasI.impl.I] +// CHECK:STDOUT: %impl.elem0.loc21: %.5c6 = impl_witness_access constants.%HasI.impl_witness, element0 [concrete = constants.%E.as.HasI.impl.I] // CHECK:STDOUT: %E.as.HasI.impl.I.call.loc21: init %empty_tuple.type = call %impl.elem0.loc21() // CHECK:STDOUT: %E.ref.loc22: type = name_ref E, file.%E.decl [concrete = constants.%E] // CHECK:STDOUT: %J.ref.loc22: %B.J.type = name_ref J, @B.%B.J.decl [concrete = constants.%B.J] @@ -787,8 +787,8 @@ fn P(o: O) { // CHECK:STDOUT: specific @HasI.WithSelf(constants.%HasI.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasI.facet -// CHECK:STDOUT: %HasI.WithSelf.I.type => constants.%HasI.WithSelf.I.type.c55 -// CHECK:STDOUT: %HasI.WithSelf.I => constants.%HasI.WithSelf.I.7d0 +// CHECK:STDOUT: %HasI.WithSelf.I.type => constants.%HasI.WithSelf.I.type.56e +// CHECK:STDOUT: %HasI.WithSelf.I => constants.%HasI.WithSelf.I.989 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasI.WithSelf.I(constants.%HasI.facet) {} @@ -821,8 +821,8 @@ fn P(o: O) { // CHECK:STDOUT: %L.as.HasK.impl.K.type: type = fn_type @L.as.HasK.impl.K [concrete] // CHECK:STDOUT: %L.as.HasK.impl.K: %L.as.HasK.impl.K.type = struct_value () [concrete] // CHECK:STDOUT: %HasK.facet: %HasK.type = facet_value %L, (%HasK.impl_witness) [concrete] -// CHECK:STDOUT: %HasK.WithSelf.K.type.4ee: type = fn_type @HasK.WithSelf.K, @HasK.WithSelf(%HasK.facet) [concrete] -// CHECK:STDOUT: %HasK.WithSelf.K.e15: %HasK.WithSelf.K.type.4ee = struct_value () [concrete] +// CHECK:STDOUT: %HasK.WithSelf.K.type.9bc: type = fn_type @HasK.WithSelf.K, @HasK.WithSelf(%HasK.facet) [concrete] +// CHECK:STDOUT: %HasK.WithSelf.K.a24: %HasK.WithSelf.K.type.9bc = struct_value () [concrete] // CHECK:STDOUT: %struct_type.base.cae: type = struct_type {.base: %Base} [concrete] // CHECK:STDOUT: %complete_type.c02: = complete_type_witness %struct_type.base.cae [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %L [concrete] @@ -950,8 +950,8 @@ fn P(o: O) { // CHECK:STDOUT: specific @HasK.WithSelf(constants.%HasK.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasK.facet -// CHECK:STDOUT: %HasK.WithSelf.K.type => constants.%HasK.WithSelf.K.type.4ee -// CHECK:STDOUT: %HasK.WithSelf.K => constants.%HasK.WithSelf.K.e15 +// CHECK:STDOUT: %HasK.WithSelf.K.type => constants.%HasK.WithSelf.K.type.9bc +// CHECK:STDOUT: %HasK.WithSelf.K => constants.%HasK.WithSelf.K.a24 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasK.WithSelf.K(constants.%HasK.facet) {} @@ -991,15 +991,15 @@ fn P(o: O) { // CHECK:STDOUT: %O.as.HasN1.impl.N.type: type = fn_type @O.as.HasN1.impl.N [concrete] // CHECK:STDOUT: %O.as.HasN1.impl.N: %O.as.HasN1.impl.N.type = struct_value () [concrete] // CHECK:STDOUT: %HasN1.facet: %HasN1.type = facet_value %O, (%HasN1.impl_witness) [concrete] -// CHECK:STDOUT: %HasN1.WithSelf.N.type.446: type = fn_type @HasN1.WithSelf.N, @HasN1.WithSelf(%HasN1.facet) [concrete] -// CHECK:STDOUT: %HasN1.WithSelf.N.d2e: %HasN1.WithSelf.N.type.446 = struct_value () [concrete] +// CHECK:STDOUT: %HasN1.WithSelf.N.type.4dc: type = fn_type @HasN1.WithSelf.N, @HasN1.WithSelf(%HasN1.facet) [concrete] +// CHECK:STDOUT: %HasN1.WithSelf.N.9aa: %HasN1.WithSelf.N.type.4dc = struct_value () [concrete] // CHECK:STDOUT: %.81b: = impl_self_witness %O, @HasN2 [concrete] // CHECK:STDOUT: %HasN2.impl_witness: = impl_witness @O.as.HasN2.impl.%HasN2.impl_witness_table [concrete] // CHECK:STDOUT: %O.as.HasN2.impl.N.type: type = fn_type @O.as.HasN2.impl.N [concrete] // CHECK:STDOUT: %O.as.HasN2.impl.N: %O.as.HasN2.impl.N.type = struct_value () [concrete] // CHECK:STDOUT: %HasN2.facet: %HasN2.type = facet_value %O, (%HasN2.impl_witness) [concrete] -// CHECK:STDOUT: %HasN2.WithSelf.N.type.e3b: type = fn_type @HasN2.WithSelf.N, @HasN2.WithSelf(%HasN2.facet) [concrete] -// CHECK:STDOUT: %HasN2.WithSelf.N.be8: %HasN2.WithSelf.N.type.e3b = struct_value () [concrete] +// CHECK:STDOUT: %HasN2.WithSelf.N.type.c56: type = fn_type @HasN2.WithSelf.N, @HasN2.WithSelf(%HasN2.facet) [concrete] +// CHECK:STDOUT: %HasN2.WithSelf.N.44a: %HasN2.WithSelf.N.type.c56 = struct_value () [concrete] // CHECK:STDOUT: %O.N.type: type = fn_type @O.N [concrete] // CHECK:STDOUT: %O.N: %O.N.type = struct_value () [concrete] // CHECK:STDOUT: %struct_type.base.40f: type = struct_type {.base: %NBase} [concrete] @@ -1186,8 +1186,8 @@ fn P(o: O) { // CHECK:STDOUT: specific @HasN1.WithSelf(constants.%HasN1.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasN1.facet -// CHECK:STDOUT: %HasN1.WithSelf.N.type => constants.%HasN1.WithSelf.N.type.446 -// CHECK:STDOUT: %HasN1.WithSelf.N => constants.%HasN1.WithSelf.N.d2e +// CHECK:STDOUT: %HasN1.WithSelf.N.type => constants.%HasN1.WithSelf.N.type.4dc +// CHECK:STDOUT: %HasN1.WithSelf.N => constants.%HasN1.WithSelf.N.9aa // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasN1.WithSelf.N(constants.%HasN1.facet) {} @@ -1195,8 +1195,8 @@ fn P(o: O) { // CHECK:STDOUT: specific @HasN2.WithSelf(constants.%HasN2.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%HasN2.facet -// CHECK:STDOUT: %HasN2.WithSelf.N.type => constants.%HasN2.WithSelf.N.type.e3b -// CHECK:STDOUT: %HasN2.WithSelf.N => constants.%HasN2.WithSelf.N.be8 +// CHECK:STDOUT: %HasN2.WithSelf.N.type => constants.%HasN2.WithSelf.N.type.c56 +// CHECK:STDOUT: %HasN2.WithSelf.N => constants.%HasN2.WithSelf.N.44a // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @HasN2.WithSelf.N(constants.%HasN2.facet) {} diff --git a/toolchain/check/testdata/impl/self_in_class.carbon b/toolchain/check/testdata/impl/self_in_class.carbon index 30139a236236..0c2ad8ecaba9 100644 --- a/toolchain/check/testdata/impl/self_in_class.carbon +++ b/toolchain/check/testdata/impl/self_in_class.carbon @@ -53,8 +53,8 @@ class A { // CHECK:STDOUT: %C.as.DefaultConstructible.impl.Make.type: type = fn_type @C.as.DefaultConstructible.impl.Make [concrete] // CHECK:STDOUT: %C.as.DefaultConstructible.impl.Make: %C.as.DefaultConstructible.impl.Make.type = struct_value () [concrete] // CHECK:STDOUT: %DefaultConstructible.facet: %DefaultConstructible.type = facet_value %C, (%DefaultConstructible.impl_witness) [concrete] -// CHECK:STDOUT: %DefaultConstructible.WithSelf.Make.type.1d3: type = fn_type @DefaultConstructible.WithSelf.Make, @DefaultConstructible.WithSelf(%DefaultConstructible.facet) [concrete] -// CHECK:STDOUT: %DefaultConstructible.WithSelf.Make.08d: %DefaultConstructible.WithSelf.Make.type.1d3 = struct_value () [concrete] +// CHECK:STDOUT: %DefaultConstructible.WithSelf.Make.type.b0c: type = fn_type @DefaultConstructible.WithSelf.Make, @DefaultConstructible.WithSelf(%DefaultConstructible.facet) [concrete] +// CHECK:STDOUT: %DefaultConstructible.WithSelf.Make.12e: %DefaultConstructible.WithSelf.Make.type.b0c = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: } @@ -176,8 +176,8 @@ class A { // CHECK:STDOUT: specific @DefaultConstructible.WithSelf(constants.%DefaultConstructible.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%DefaultConstructible.facet -// CHECK:STDOUT: %DefaultConstructible.WithSelf.Make.type => constants.%DefaultConstructible.WithSelf.Make.type.1d3 -// CHECK:STDOUT: %DefaultConstructible.WithSelf.Make => constants.%DefaultConstructible.WithSelf.Make.08d +// CHECK:STDOUT: %DefaultConstructible.WithSelf.Make.type => constants.%DefaultConstructible.WithSelf.Make.type.b0c +// CHECK:STDOUT: %DefaultConstructible.WithSelf.Make => constants.%DefaultConstructible.WithSelf.Make.12e // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @DefaultConstructible.WithSelf.Make(constants.%DefaultConstructible.facet) { diff --git a/toolchain/check/testdata/impl/self_in_signature.carbon b/toolchain/check/testdata/impl/self_in_signature.carbon index 72d072ae8cd1..f57cca088a23 100644 --- a/toolchain/check/testdata/impl/self_in_signature.carbon +++ b/toolchain/check/testdata/impl/self_in_signature.carbon @@ -65,7 +65,7 @@ impl D as SelfNested { // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %.fa4: = impl_self_witness %C, @UseSelf [concrete] -// CHECK:STDOUT: %UseSelf.impl_witness.046: = impl_witness @C.as.UseSelf.impl.%UseSelf.impl_witness_table [concrete] +// CHECK:STDOUT: %UseSelf.impl_witness.fc2: = impl_witness @C.as.UseSelf.impl.%UseSelf.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %self.param_patt.303: %pattern_type.98b = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.49a: %pattern_type.98b = at_binding_pattern self, %self.param_patt.303 [concrete] @@ -76,13 +76,13 @@ impl D as SelfNested { // CHECK:STDOUT: %return.patt.e4a: %pattern_type.98b = return_slot_pattern %return.param_patt.89a, %C [concrete] // CHECK:STDOUT: %C.as.UseSelf.impl.F.type: type = fn_type @C.as.UseSelf.impl.F [concrete] // CHECK:STDOUT: %C.as.UseSelf.impl.F: %C.as.UseSelf.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %UseSelf.facet.14b: %UseSelf.type = facet_value %C, (%UseSelf.impl_witness.046) [concrete] -// CHECK:STDOUT: %UseSelf.WithSelf.F.type.103: type = fn_type @UseSelf.WithSelf.F, @UseSelf.WithSelf(%UseSelf.facet.14b) [concrete] -// CHECK:STDOUT: %UseSelf.WithSelf.F.e1d: %UseSelf.WithSelf.F.type.103 = struct_value () [concrete] +// CHECK:STDOUT: %UseSelf.facet.dca: %UseSelf.type = facet_value %C, (%UseSelf.impl_witness.fc2) [concrete] +// CHECK:STDOUT: %UseSelf.WithSelf.F.type.5ab: type = fn_type @UseSelf.WithSelf.F, @UseSelf.WithSelf(%UseSelf.facet.dca) [concrete] +// CHECK:STDOUT: %UseSelf.WithSelf.F.441: %UseSelf.WithSelf.F.type.5ab = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %.98f: = impl_self_witness %D, @UseSelf [concrete] -// CHECK:STDOUT: %UseSelf.impl_witness.047: = impl_witness @D.as.UseSelf.impl.%UseSelf.impl_witness_table [concrete] +// CHECK:STDOUT: %UseSelf.impl_witness.27c: = impl_witness @D.as.UseSelf.impl.%UseSelf.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.d8d: type = pattern_type %D [concrete] // CHECK:STDOUT: %self.param_patt.f16: %pattern_type.d8d = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.6c0: %pattern_type.d8d = at_binding_pattern self, %self.param_patt.f16 [concrete] @@ -93,9 +93,9 @@ impl D as SelfNested { // CHECK:STDOUT: %return.patt.e38: %pattern_type.d8d = return_slot_pattern %return.param_patt.eae, %D [concrete] // CHECK:STDOUT: %D.as.UseSelf.impl.F.type: type = fn_type @D.as.UseSelf.impl.F [concrete] // CHECK:STDOUT: %D.as.UseSelf.impl.F: %D.as.UseSelf.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %UseSelf.facet.64f: %UseSelf.type = facet_value %D, (%UseSelf.impl_witness.047) [concrete] -// CHECK:STDOUT: %UseSelf.WithSelf.F.type.bbe: type = fn_type @UseSelf.WithSelf.F, @UseSelf.WithSelf(%UseSelf.facet.64f) [concrete] -// CHECK:STDOUT: %UseSelf.WithSelf.F.8b5: %UseSelf.WithSelf.F.type.bbe = struct_value () [concrete] +// CHECK:STDOUT: %UseSelf.facet.130: %UseSelf.type = facet_value %D, (%UseSelf.impl_witness.27c) [concrete] +// CHECK:STDOUT: %UseSelf.WithSelf.F.type.d6a: type = fn_type @UseSelf.WithSelf.F, @UseSelf.WithSelf(%UseSelf.facet.130) [concrete] +// CHECK:STDOUT: %UseSelf.WithSelf.F.be5: %UseSelf.WithSelf.F.type.d6a = struct_value () [concrete] // CHECK:STDOUT: %D.val: %D = struct_value () [concrete] // CHECK:STDOUT: %SelfNested.type: type = facet_type <@SelfNested> [concrete] // CHECK:STDOUT: %Self.e81: %SelfNested.type = symbolic_binding Self, 0 [symbolic] @@ -114,7 +114,7 @@ impl D as SelfNested { // CHECK:STDOUT: %SelfNested.assoc_type: type = assoc_entity_type @SelfNested [concrete] // CHECK:STDOUT: %assoc0.219: %SelfNested.assoc_type = assoc_entity element0, @SelfNested.WithSelf.%SelfNested.WithSelf.F.decl [concrete] // CHECK:STDOUT: %.8a3: = impl_self_witness %C, @SelfNested [concrete] -// CHECK:STDOUT: %SelfNested.impl_witness.d40: = impl_witness @C.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] +// CHECK:STDOUT: %SelfNested.impl_witness.a49: = impl_witness @C.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.6b6: type = ptr_type %C [concrete] // CHECK:STDOUT: %struct_type.x.y.ee7: type = struct_type {.x: %C, .y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %tuple.562: %tuple.type.24b = tuple_value (%ptr.6b6, %struct_type.x.y.ee7) [concrete] @@ -124,11 +124,11 @@ impl D as SelfNested { // CHECK:STDOUT: %x.patt.99f: %pattern_type.79c = at_binding_pattern x, %x.param_patt.110 [concrete] // CHECK:STDOUT: %C.as.SelfNested.impl.F.type: type = fn_type @C.as.SelfNested.impl.F [concrete] // CHECK:STDOUT: %C.as.SelfNested.impl.F: %C.as.SelfNested.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %SelfNested.facet.749: %SelfNested.type = facet_value %C, (%SelfNested.impl_witness.d40) [concrete] -// CHECK:STDOUT: %SelfNested.WithSelf.F.type.369: type = fn_type @SelfNested.WithSelf.F, @SelfNested.WithSelf(%SelfNested.facet.749) [concrete] -// CHECK:STDOUT: %SelfNested.WithSelf.F.0c3: %SelfNested.WithSelf.F.type.369 = struct_value () [concrete] +// CHECK:STDOUT: %SelfNested.facet.ec7: %SelfNested.type = facet_value %C, (%SelfNested.impl_witness.a49) [concrete] +// CHECK:STDOUT: %SelfNested.WithSelf.F.type.5d7: type = fn_type @SelfNested.WithSelf.F, @SelfNested.WithSelf(%SelfNested.facet.ec7) [concrete] +// CHECK:STDOUT: %SelfNested.WithSelf.F.de0: %SelfNested.WithSelf.F.type.5d7 = struct_value () [concrete] // CHECK:STDOUT: %.aec: = impl_self_witness %D, @SelfNested [concrete] -// CHECK:STDOUT: %SelfNested.impl_witness.ad8: = impl_witness @D.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] +// CHECK:STDOUT: %SelfNested.impl_witness.ff1: = impl_witness @D.as.SelfNested.impl.%SelfNested.impl_witness_table [concrete] // CHECK:STDOUT: %ptr.d57: type = ptr_type %D [concrete] // CHECK:STDOUT: %struct_type.x.y.e52: type = struct_type {.x: %D, .y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %tuple.c73: %tuple.type.24b = tuple_value (%ptr.d57, %struct_type.x.y.e52) [concrete] @@ -138,9 +138,9 @@ impl D as SelfNested { // CHECK:STDOUT: %x.patt.766: %pattern_type.338 = at_binding_pattern x, %x.param_patt.a5b [concrete] // CHECK:STDOUT: %D.as.SelfNested.impl.F.type: type = fn_type @D.as.SelfNested.impl.F [concrete] // CHECK:STDOUT: %D.as.SelfNested.impl.F: %D.as.SelfNested.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %SelfNested.facet.d22: %SelfNested.type = facet_value %D, (%SelfNested.impl_witness.ad8) [concrete] -// CHECK:STDOUT: %SelfNested.WithSelf.F.type.f5f: type = fn_type @SelfNested.WithSelf.F, @SelfNested.WithSelf(%SelfNested.facet.d22) [concrete] -// CHECK:STDOUT: %SelfNested.WithSelf.F.ece: %SelfNested.WithSelf.F.type.f5f = struct_value () [concrete] +// CHECK:STDOUT: %SelfNested.facet.064: %SelfNested.type = facet_value %D, (%SelfNested.impl_witness.ff1) [concrete] +// CHECK:STDOUT: %SelfNested.WithSelf.F.type.fef: type = fn_type @SelfNested.WithSelf.F, @SelfNested.WithSelf(%SelfNested.facet.064) [concrete] +// CHECK:STDOUT: %SelfNested.WithSelf.F.e1a: %SelfNested.WithSelf.F.type.fef = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -279,7 +279,7 @@ impl D as SelfNested { // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %UseSelf.impl_witness_table = impl_witness_table (%C.as.UseSelf.impl.F.decl), @C.as.UseSelf.impl [concrete] -// CHECK:STDOUT: %UseSelf.impl_witness: = impl_witness %UseSelf.impl_witness_table [concrete = constants.%UseSelf.impl_witness.046] +// CHECK:STDOUT: %UseSelf.impl_witness: = impl_witness %UseSelf.impl_witness_table [concrete = constants.%UseSelf.impl_witness.fc2] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .C = @@ -309,7 +309,7 @@ impl D as SelfNested { // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %UseSelf.impl_witness_table = impl_witness_table (%D.as.UseSelf.impl.F.decl), @D.as.UseSelf.impl [concrete] -// CHECK:STDOUT: %UseSelf.impl_witness: = impl_witness %UseSelf.impl_witness_table [concrete = constants.%UseSelf.impl_witness.047] +// CHECK:STDOUT: %UseSelf.impl_witness: = impl_witness %UseSelf.impl_witness_table [concrete = constants.%UseSelf.impl_witness.27c] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %D.as.UseSelf.impl.F.decl @@ -336,7 +336,7 @@ impl D as SelfNested { // CHECK:STDOUT: %x: %tuple.type.746 = wrapper_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %SelfNested.impl_witness_table = impl_witness_table (%C.as.SelfNested.impl.F.decl), @C.as.SelfNested.impl [concrete] -// CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.d40] +// CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.a49] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .C = @@ -364,7 +364,7 @@ impl D as SelfNested { // CHECK:STDOUT: %x: %tuple.type.aaa = wrapper_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %SelfNested.impl_witness_table = impl_witness_table (%D.as.SelfNested.impl.F.decl), @D.as.SelfNested.impl [concrete] -// CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.ad8] +// CHECK:STDOUT: %SelfNested.impl_witness: = impl_witness %SelfNested.impl_witness_table [concrete = constants.%SelfNested.impl_witness.ff1] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %D.as.SelfNested.impl.F.decl @@ -457,15 +457,15 @@ impl D as SelfNested { // CHECK:STDOUT: %return.patt.loc16_23.2 => constants.%return.patt.8f7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @UseSelf.WithSelf(constants.%UseSelf.facet.14b) { +// CHECK:STDOUT: specific @UseSelf.WithSelf(constants.%UseSelf.facet.dca) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%UseSelf.facet.14b -// CHECK:STDOUT: %UseSelf.WithSelf.F.type => constants.%UseSelf.WithSelf.F.type.103 -// CHECK:STDOUT: %UseSelf.WithSelf.F => constants.%UseSelf.WithSelf.F.e1d +// CHECK:STDOUT: %Self => constants.%UseSelf.facet.dca +// CHECK:STDOUT: %UseSelf.WithSelf.F.type => constants.%UseSelf.WithSelf.F.type.5ab +// CHECK:STDOUT: %UseSelf.WithSelf.F => constants.%UseSelf.WithSelf.F.441 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @UseSelf.WithSelf.F(constants.%UseSelf.facet.14b) { -// CHECK:STDOUT: %Self => constants.%UseSelf.facet.14b +// CHECK:STDOUT: specific @UseSelf.WithSelf.F(constants.%UseSelf.facet.dca) { +// CHECK:STDOUT: %Self => constants.%UseSelf.facet.dca // CHECK:STDOUT: %Self.as_type.loc16_8.1 => constants.%C // CHECK:STDOUT: %pattern_type => constants.%pattern_type.98b // CHECK:STDOUT: %self.param_patt.loc16_8.2 => constants.%self.param_patt.303 @@ -477,15 +477,15 @@ impl D as SelfNested { // CHECK:STDOUT: %return.patt.loc16_23.2 => constants.%return.patt.e4a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @UseSelf.WithSelf(constants.%UseSelf.facet.64f) { +// CHECK:STDOUT: specific @UseSelf.WithSelf(constants.%UseSelf.facet.130) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%UseSelf.facet.64f -// CHECK:STDOUT: %UseSelf.WithSelf.F.type => constants.%UseSelf.WithSelf.F.type.bbe -// CHECK:STDOUT: %UseSelf.WithSelf.F => constants.%UseSelf.WithSelf.F.8b5 +// CHECK:STDOUT: %Self => constants.%UseSelf.facet.130 +// CHECK:STDOUT: %UseSelf.WithSelf.F.type => constants.%UseSelf.WithSelf.F.type.d6a +// CHECK:STDOUT: %UseSelf.WithSelf.F => constants.%UseSelf.WithSelf.F.be5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @UseSelf.WithSelf.F(constants.%UseSelf.facet.64f) { -// CHECK:STDOUT: %Self => constants.%UseSelf.facet.64f +// CHECK:STDOUT: specific @UseSelf.WithSelf.F(constants.%UseSelf.facet.130) { +// CHECK:STDOUT: %Self => constants.%UseSelf.facet.130 // CHECK:STDOUT: %Self.as_type.loc16_8.1 => constants.%D // CHECK:STDOUT: %pattern_type => constants.%pattern_type.d8d // CHECK:STDOUT: %self.param_patt.loc16_8.2 => constants.%self.param_patt.f16 @@ -516,15 +516,15 @@ impl D as SelfNested { // CHECK:STDOUT: %x.patt.loc32_9.2 => constants.%x.patt.792 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @SelfNested.WithSelf(constants.%SelfNested.facet.749) { +// CHECK:STDOUT: specific @SelfNested.WithSelf(constants.%SelfNested.facet.ec7) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%SelfNested.facet.749 -// CHECK:STDOUT: %SelfNested.WithSelf.F.type => constants.%SelfNested.WithSelf.F.type.369 -// CHECK:STDOUT: %SelfNested.WithSelf.F => constants.%SelfNested.WithSelf.F.0c3 +// CHECK:STDOUT: %Self => constants.%SelfNested.facet.ec7 +// CHECK:STDOUT: %SelfNested.WithSelf.F.type => constants.%SelfNested.WithSelf.F.type.5d7 +// CHECK:STDOUT: %SelfNested.WithSelf.F => constants.%SelfNested.WithSelf.F.de0 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @SelfNested.WithSelf.F(constants.%SelfNested.facet.749) { -// CHECK:STDOUT: %Self => constants.%SelfNested.facet.749 +// CHECK:STDOUT: specific @SelfNested.WithSelf.F(constants.%SelfNested.facet.ec7) { +// CHECK:STDOUT: %Self => constants.%SelfNested.facet.ec7 // CHECK:STDOUT: %Self.as_type.loc32_16.1 => constants.%C // CHECK:STDOUT: %ptr.loc32_16.1 => constants.%ptr.6b6 // CHECK:STDOUT: %struct_type.x.y.loc32_36.1 => constants.%struct_type.x.y.ee7 @@ -535,15 +535,15 @@ impl D as SelfNested { // CHECK:STDOUT: %x.patt.loc32_9.2 => constants.%x.patt.99f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @SelfNested.WithSelf(constants.%SelfNested.facet.d22) { +// CHECK:STDOUT: specific @SelfNested.WithSelf(constants.%SelfNested.facet.064) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%SelfNested.facet.d22 -// CHECK:STDOUT: %SelfNested.WithSelf.F.type => constants.%SelfNested.WithSelf.F.type.f5f -// CHECK:STDOUT: %SelfNested.WithSelf.F => constants.%SelfNested.WithSelf.F.ece +// CHECK:STDOUT: %Self => constants.%SelfNested.facet.064 +// CHECK:STDOUT: %SelfNested.WithSelf.F.type => constants.%SelfNested.WithSelf.F.type.fef +// CHECK:STDOUT: %SelfNested.WithSelf.F => constants.%SelfNested.WithSelf.F.e1a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @SelfNested.WithSelf.F(constants.%SelfNested.facet.d22) { -// CHECK:STDOUT: %Self => constants.%SelfNested.facet.d22 +// CHECK:STDOUT: specific @SelfNested.WithSelf.F(constants.%SelfNested.facet.064) { +// CHECK:STDOUT: %Self => constants.%SelfNested.facet.064 // CHECK:STDOUT: %Self.as_type.loc32_16.1 => constants.%D // CHECK:STDOUT: %ptr.loc32_16.1 => constants.%ptr.d57 // CHECK:STDOUT: %struct_type.x.y.loc32_36.1 => constants.%struct_type.x.y.e52 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 c83b3a9a8b67..4cb5c3f74db4 100644 --- a/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon +++ b/toolchain/check/testdata/impl/todo_impl_with_unrelated_fn.carbon @@ -42,8 +42,8 @@ class X { // CHECK:STDOUT: %X.as.A.impl.F.type: type = fn_type @X.as.A.impl.F [concrete] // CHECK:STDOUT: %X.as.A.impl.F: %X.as.A.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %A.facet: %A.type = facet_value %X, (%A.impl_witness) [concrete] -// CHECK:STDOUT: %A.WithSelf.B.type.d09: type = fn_type @A.WithSelf.B, @A.WithSelf(%A.facet) [concrete] -// CHECK:STDOUT: %A.WithSelf.B.e21: %A.WithSelf.B.type.d09 = struct_value () [concrete] +// CHECK:STDOUT: %A.WithSelf.B.type.210: type = fn_type @A.WithSelf.B, @A.WithSelf(%A.facet) [concrete] +// CHECK:STDOUT: %A.WithSelf.B.11e: %A.WithSelf.B.type.210 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: } @@ -126,8 +126,8 @@ class X { // CHECK:STDOUT: specific @A.WithSelf(constants.%A.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%A.facet -// CHECK:STDOUT: %A.WithSelf.B.type => constants.%A.WithSelf.B.type.d09 -// CHECK:STDOUT: %A.WithSelf.B => constants.%A.WithSelf.B.e21 +// CHECK:STDOUT: %A.WithSelf.B.type => constants.%A.WithSelf.B.type.210 +// CHECK:STDOUT: %A.WithSelf.B => constants.%A.WithSelf.B.11e // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.B(constants.%A.facet) {} diff --git a/toolchain/check/testdata/impl/use_assoc_entity.carbon b/toolchain/check/testdata/impl/use_assoc_entity.carbon index 08288377520b..d72267294e82 100644 --- a/toolchain/check/testdata/impl/use_assoc_entity.carbon +++ b/toolchain/check/testdata/impl/use_assoc_entity.carbon @@ -515,7 +515,7 @@ fn F() { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %N: Core.IntLiteral = symbolic_binding N, 0 [symbolic] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] -// CHECK:STDOUT: %J.impl_witness.c56: = impl_witness @empty_tuple.type.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.impl_witness.a51: = impl_witness @empty_tuple.type.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %self.param_patt.154: %pattern_type.cb1 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.8c1: %pattern_type.cb1 = at_binding_pattern self, %self.param_patt.154 [concrete] @@ -527,31 +527,31 @@ fn F() { // CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete] // CHECK:STDOUT: %empty_tuple.type.as.J.impl.F.type: type = fn_type @empty_tuple.type.as.J.impl.F [concrete] // CHECK:STDOUT: %empty_tuple.type.as.J.impl.F: %empty_tuple.type.as.J.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %J.facet.a0d: %J.type = facet_value %empty_tuple.type, (%J.impl_witness.c56) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.ed9: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.a0d) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.b6c: %J.WithSelf.F.type.ed9 = struct_value () [concrete] +// CHECK:STDOUT: %J.facet.77b: %J.type = facet_value %empty_tuple.type, (%J.impl_witness.a51) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.4c8: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.77b) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.fca: %J.WithSelf.F.type.4c8 = struct_value () [concrete] // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Int.as.Negate.impl.Op.type.874: type = fn_type @Int.as.Negate.impl.Op, @Int.as.Negate.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Negate.impl.Op.9e8: %Int.as.Negate.impl.Op.type.874 = struct_value () [symbolic] -// CHECK:STDOUT: %Negate.impl_witness.ebb: = impl_witness imports.%Negate.impl_witness_table, @Int.as.Negate.impl(%int_32) [concrete] +// CHECK:STDOUT: %Negate.impl_witness.bfc: = impl_witness imports.%Negate.impl_witness_table, @Int.as.Negate.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Negate.impl.Op.type.08d: type = fn_type @Int.as.Negate.impl.Op, @Int.as.Negate.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Negate.impl.Op.4f1: %Int.as.Negate.impl.Op.type.08d = struct_value () [concrete] -// CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value %i32, (%Negate.impl_witness.ebb) [concrete] -// CHECK:STDOUT: %Negate.WithSelf.Op.type.e34: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] -// CHECK:STDOUT: %.669: type = fn_type_with_self_type %Negate.WithSelf.Op.type.e34, %Negate.facet [concrete] +// CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value %i32, (%Negate.impl_witness.bfc) [concrete] +// CHECK:STDOUT: %Negate.WithSelf.Op.type.8bf: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] +// CHECK:STDOUT: %.ed4: type = fn_type_with_self_type %Negate.WithSelf.Op.type.8bf, %Negate.facet [concrete] // CHECK:STDOUT: %Int.as.Negate.impl.Op.specific_fn: = specific_function %Int.as.Negate.impl.Op.4f1, @Int.as.Negate.impl.Op(%int_32) [concrete] -// CHECK:STDOUT: %.7e2: type = fn_type_with_self_type %J.WithSelf.F.type.ed9, %J.facet.a0d [concrete] +// CHECK:STDOUT: %.0d4: type = fn_type_with_self_type %J.WithSelf.F.type.4c8, %J.facet.77b [concrete] // CHECK:STDOUT: %int_40.f80: Core.IntLiteral = int_value 40 [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_40.f80, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_40.f80, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -559,7 +559,7 @@ fn F() { // CHECK:STDOUT: %C: type = class_type @C [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %J.impl_witness.7a1: = impl_witness @C.as.J.impl.%J.impl_witness_table [concrete] +// CHECK:STDOUT: %J.impl_witness.90c: = impl_witness @C.as.J.impl.%J.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.98b: type = pattern_type %C [concrete] // CHECK:STDOUT: %self.param_patt.303: %pattern_type.98b = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.49a: %pattern_type.98b = at_binding_pattern self, %self.param_patt.303 [concrete] @@ -570,9 +570,9 @@ fn F() { // CHECK:STDOUT: %return.patt.e4a: %pattern_type.98b = return_slot_pattern %return.param_patt.89a, %C [concrete] // CHECK:STDOUT: %C.as.J.impl.F.type: type = fn_type @C.as.J.impl.F [concrete] // CHECK:STDOUT: %C.as.J.impl.F: %C.as.J.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %J.facet.305: %J.type = facet_value %C, (%J.impl_witness.7a1) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.d3f: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.305) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.07c: %J.WithSelf.F.type.d3f = struct_value () [concrete] +// CHECK:STDOUT: %J.facet.0da: %J.type = facet_value %C, (%J.impl_witness.90c) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.8a7: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet.0da) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.007: %J.WithSelf.F.type.8a7 = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -581,7 +581,7 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.bc0: @Int.as.Negate.impl.%Int.as.Negate.impl.Op.type (%Int.as.Negate.impl.Op.type.874) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Negate.impl.%Int.as.Negate.impl.Op (constants.%Int.as.Negate.impl.Op.9e8)] // CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.b4f, %Core.import_ref.bc0), @Int.as.Negate.impl [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: interface @J { @@ -706,7 +706,7 @@ fn F() { // CHECK:STDOUT: fn @empty_tuple.type.as.J.impl.F(%self.param: %empty_tuple.type, %u.param: %i32) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %u.ref: %i32 = name_ref u, %u -// CHECK:STDOUT: %impl.elem1: %.669 = impl_witness_access constants.%Negate.impl_witness.ebb, element1 [concrete = constants.%Int.as.Negate.impl.Op.4f1] +// CHECK:STDOUT: %impl.elem1: %.ed4 = impl_witness_access constants.%Negate.impl_witness.bfc, element1 [concrete = constants.%Int.as.Negate.impl.Op.4f1] // CHECK:STDOUT: %bound_method.loc12_45.1: = bound_method %u.ref, %impl.elem1 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem1, @Int.as.Negate.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Negate.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc12_45.2: = bound_method %u.ref, %specific_fn @@ -719,10 +719,10 @@ fn F() { // CHECK:STDOUT: %x.ref: %empty_tuple.type = name_ref x, %x // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %F.ref: %J.assoc_type = name_ref F, @J.WithSelf.%assoc1 [concrete = constants.%assoc1.413] -// CHECK:STDOUT: %impl.elem1: %.7e2 = impl_witness_access constants.%J.impl_witness.c56, element1 [concrete = constants.%empty_tuple.type.as.J.impl.F] +// CHECK:STDOUT: %impl.elem1: %.0d4 = impl_witness_access constants.%J.impl_witness.a51, element1 [concrete = constants.%empty_tuple.type.as.J.impl.F] // CHECK:STDOUT: %bound_method.loc18_11: = bound_method %x.ref, %impl.elem1 // CHECK:STDOUT: %int_40: Core.IntLiteral = int_value 40 [concrete = constants.%int_40.f80] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_18.1: = bound_method %int_40, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_18.2: = bound_method %int_40, %specific_fn [concrete = constants.%bound_method] @@ -773,20 +773,20 @@ fn F() { // CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.76e // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.a0d) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.77b) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%J.facet.a0d -// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.ed9 -// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.b6c +// CHECK:STDOUT: %Self => constants.%J.facet.77b +// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.4c8 +// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.fca // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.a0d) { -// CHECK:STDOUT: %Self => constants.%J.facet.a0d +// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.77b) { +// CHECK:STDOUT: %Self => constants.%J.facet.77b // CHECK:STDOUT: %Self.as_type.loc6_8.1 => constants.%empty_tuple.type // CHECK:STDOUT: %pattern_type.loc6_8 => constants.%pattern_type.cb1 // CHECK:STDOUT: %self.param_patt.loc6_8.2 => constants.%self.param_patt.154 // CHECK:STDOUT: %self.patt.loc6_8.2 => constants.%self.patt.8c1 -// CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.impl_witness.c56 +// CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.impl_witness.a51 // CHECK:STDOUT: %impl.elem0.loc6_17.1 => constants.%i32 // CHECK:STDOUT: %pattern_type.loc6_15 => constants.%pattern_type.6b6 // CHECK:STDOUT: %u.param_patt.loc6_15.2 => constants.%u.param_patt.151 @@ -796,20 +796,20 @@ fn F() { // CHECK:STDOUT: %return.patt.loc6_20.2 => constants.%return.patt.e1b // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.305) { +// CHECK:STDOUT: specific @J.WithSelf(constants.%J.facet.0da) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%J.facet.305 -// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.d3f -// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.07c +// CHECK:STDOUT: %Self => constants.%J.facet.0da +// CHECK:STDOUT: %J.WithSelf.F.type => constants.%J.WithSelf.F.type.8a7 +// CHECK:STDOUT: %J.WithSelf.F => constants.%J.WithSelf.F.007 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.305) { -// CHECK:STDOUT: %Self => constants.%J.facet.305 +// CHECK:STDOUT: specific @J.WithSelf.F(constants.%J.facet.0da) { +// CHECK:STDOUT: %Self => constants.%J.facet.0da // CHECK:STDOUT: %Self.as_type.loc6_8.1 => constants.%C // CHECK:STDOUT: %pattern_type.loc6_8 => constants.%pattern_type.98b // CHECK:STDOUT: %self.param_patt.loc6_8.2 => constants.%self.param_patt.303 // CHECK:STDOUT: %self.patt.loc6_8.2 => constants.%self.patt.49a -// CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.impl_witness.7a1 +// CHECK:STDOUT: %J.lookup_impl_witness => constants.%J.impl_witness.90c // CHECK:STDOUT: %impl.elem0.loc6_17.1 => constants.%C // CHECK:STDOUT: %pattern_type.loc6_15 => constants.%pattern_type.98b // CHECK:STDOUT: %u.param_patt.loc6_15.2 => constants.%u.param_patt.162 @@ -836,27 +836,27 @@ fn F() { // CHECK:STDOUT: %E.as.J.impl.G.type: type = fn_type @E.as.J.impl.G [concrete] // CHECK:STDOUT: %E.as.J.impl.G: %E.as.J.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: %J.facet: %J.type = facet_value %E, (%J.impl_witness) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.186: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet) [concrete] -// CHECK:STDOUT: %J.WithSelf.G.type.563: type = fn_type @J.WithSelf.G, @J.WithSelf(%J.facet) [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.22a: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet) [concrete] +// CHECK:STDOUT: %J.WithSelf.G.type.93b: type = fn_type @J.WithSelf.G, @J.WithSelf(%J.facet) [concrete] // CHECK:STDOUT: %e1.patt: %pattern_type.6b6 = value_binding_pattern e1 [concrete] -// CHECK:STDOUT: %.b2a: type = fn_type_with_self_type %J.WithSelf.F.type.186, %J.facet [concrete] +// CHECK:STDOUT: %.8ca: type = fn_type_with_self_type %J.WithSelf.F.type.22a, %J.facet [concrete] // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3cb: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.295: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %e2.patt: %pattern_type.6b6 = value_binding_pattern e2 [concrete] -// CHECK:STDOUT: %.53f: type = fn_type_with_self_type %J.WithSelf.G.type.563, %J.facet [concrete] +// CHECK:STDOUT: %.9b7: type = fn_type_with_self_type %J.WithSelf.G.type.93b, %J.facet [concrete] // CHECK:STDOUT: %int_3.1ba: Core.IntLiteral = int_value 3 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.763: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -880,16 +880,16 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CallBoth(%e.param: %E) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %e.ref.loc22: %E = name_ref e, %e // CHECK:STDOUT: %F.ref.loc22: %J.assoc_type = name_ref F, @J.WithSelf.%assoc1 [concrete = constants.%assoc1.413] -// CHECK:STDOUT: %impl.elem1.loc22: %.b2a = impl_witness_access constants.%J.impl_witness, element1 [concrete = constants.%E.as.J.impl.F] +// CHECK:STDOUT: %impl.elem1.loc22: %.8ca = impl_witness_access constants.%J.impl_witness, element1 [concrete = constants.%E.as.J.impl.F] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_28.1: = bound_method %int_2, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem0.loc22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_28.2: = bound_method %int_2, %specific_fn.loc22 [concrete = constants.%bound_method.3cb] @@ -906,10 +906,10 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %e.ref.loc23: %E = name_ref e, %e // CHECK:STDOUT: %G.ref.loc23: %J.assoc_type = name_ref G, @J.WithSelf.%assoc2 [concrete = constants.%assoc2] -// CHECK:STDOUT: %impl.elem2.loc23: %.53f = impl_witness_access constants.%J.impl_witness, element2 [concrete = constants.%E.as.J.impl.G] +// CHECK:STDOUT: %impl.elem2.loc23: %.9b7 = impl_witness_access constants.%J.impl_witness, element2 [concrete = constants.%E.as.J.impl.G] // CHECK:STDOUT: %bound_method.loc23_25: = bound_method %e.ref.loc23, %impl.elem2.loc23 // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc23: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc23: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc23_28.1: = bound_method %int_3, %impl.elem0.loc23 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_28.2: = bound_method %int_3, %specific_fn.loc23 [concrete = constants.%bound_method.763] @@ -926,9 +926,9 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %E.ref.loc24: type = name_ref E, file.%E.decl [concrete = constants.%E] // CHECK:STDOUT: %F.ref.loc24: %J.assoc_type = name_ref F, @J.WithSelf.%assoc1 [concrete = constants.%assoc1.413] -// CHECK:STDOUT: %impl.elem1.loc24: %.b2a = impl_witness_access constants.%J.impl_witness, element1 [concrete = constants.%E.as.J.impl.F] +// CHECK:STDOUT: %impl.elem1.loc24: %.8ca = impl_witness_access constants.%J.impl_witness, element1 [concrete = constants.%E.as.J.impl.F] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc24: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc24: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc24_28.1: = bound_method %int_4, %impl.elem0.loc24 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc24: = specific_function %impl.elem0.loc24, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_28.2: = bound_method %int_4, %specific_fn.loc24 [concrete = constants.%bound_method.b7a] @@ -946,10 +946,10 @@ fn F() { // CHECK:STDOUT: %e.ref.loc25: %E = name_ref e, %e // CHECK:STDOUT: %E.ref.loc25: type = name_ref E, file.%E.decl [concrete = constants.%E] // CHECK:STDOUT: %G.ref.loc25: %J.assoc_type = name_ref G, @J.WithSelf.%assoc2 [concrete = constants.%assoc2] -// CHECK:STDOUT: %impl.elem2.loc25: %.53f = impl_witness_access constants.%J.impl_witness, element2 [concrete = constants.%E.as.J.impl.G] +// CHECK:STDOUT: %impl.elem2.loc25: %.9b7 = impl_witness_access constants.%J.impl_witness, element2 [concrete = constants.%E.as.J.impl.G] // CHECK:STDOUT: %bound_method.loc25_25: = bound_method %e.ref.loc25, %impl.elem2.loc25 // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0.loc25: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc25: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc25_32.1: = bound_method %int_5, %impl.elem0.loc25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc25_32.2: = bound_method %int_5, %specific_fn.loc25 [concrete = constants.%bound_method.c9d] @@ -967,10 +967,10 @@ fn F() { // CHECK:STDOUT: %e.ref.loc26: %E = name_ref e, %e // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %G.ref.loc26: %J.assoc_type = name_ref G, @J.WithSelf.%assoc2 [concrete = constants.%assoc2] -// CHECK:STDOUT: %impl.elem2.loc26: %.53f = impl_witness_access constants.%J.impl_witness, element2 [concrete = constants.%E.as.J.impl.G] +// CHECK:STDOUT: %impl.elem2.loc26: %.9b7 = impl_witness_access constants.%J.impl_witness, element2 [concrete = constants.%E.as.J.impl.G] // CHECK:STDOUT: %bound_method.loc26_25: = bound_method %e.ref.loc26, %impl.elem2.loc26 // CHECK:STDOUT: %int_6: Core.IntLiteral = int_value 6 [concrete = constants.%int_6.462] -// CHECK:STDOUT: %impl.elem0.loc26: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc26: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc26_32.1: = bound_method %int_6, %impl.elem0.loc26 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.13d] // CHECK:STDOUT: %specific_fn.loc26: = specific_function %impl.elem0.loc26, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_32.2: = bound_method %int_6, %specific_fn.loc26 [concrete = constants.%bound_method.be9] @@ -1038,18 +1038,18 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @E.as.J.impl: %Self.ref as %J.ref { @@ -1097,7 +1097,7 @@ fn F() { // CHECK:STDOUT: fn @E.as.J.impl.F(%u.param: %i32) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %u.ref: %i32 = name_ref u, %u -// CHECK:STDOUT: %impl.elem0.loc12: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc12: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc12_14.1: = bound_method %u.ref, %impl.elem0.loc12 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc12, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc12_14.2: = bound_method %u.ref, %specific_fn @@ -1115,8 +1115,8 @@ fn F() { // CHECK:STDOUT: %E.as.J.impl.F.type: type = fn_type @E.as.J.impl.F [concrete] // CHECK:STDOUT: %E.as.J.impl.F: %E.as.J.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %J.facet: %J.type = facet_value %E, (%J.impl_witness) [concrete] -// CHECK:STDOUT: %J.WithSelf.F.type.ee0: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet) [concrete] -// CHECK:STDOUT: %.b5e: type = fn_type_with_self_type %J.WithSelf.F.type.ee0, %J.facet [concrete] +// CHECK:STDOUT: %J.WithSelf.F.type.22a: type = fn_type @J.WithSelf.F, @J.WithSelf(%J.facet) [concrete] +// CHECK:STDOUT: %.8ca: type = fn_type_with_self_type %J.WithSelf.F.type.22a, %J.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @E { @@ -1135,8 +1135,8 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %J.facet: %J.type = facet_value constants.%E, (constants.%J.impl_witness) [concrete = constants.%J.facet] // CHECK:STDOUT: %.loc14: %J.type = converted constants.%E, %J.facet [concrete = constants.%J.facet] -// CHECK:STDOUT: %impl.elem0: %.b5e = impl_witness_access constants.%J.impl_witness, element0 [concrete = constants.%E.as.J.impl.F] -// CHECK:STDOUT: %F.ref: %.b5e = name_ref F, %impl.elem0 [concrete = constants.%E.as.J.impl.F] +// CHECK:STDOUT: %impl.elem0: %.8ca = impl_witness_access constants.%J.impl_witness, element0 [concrete = constants.%E.as.J.impl.F] +// CHECK:STDOUT: %F.ref: %.8ca = name_ref F, %impl.elem0 [concrete = constants.%E.as.J.impl.F] // CHECK:STDOUT: %E.as.J.impl.F.call: init %empty_tuple.type = call %F.ref() // CHECK:STDOUT: // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/index/array_element_access.carbon b/toolchain/check/testdata/index/array_element_access.carbon index 4bdf2c75f650..2a9c2e943df6 100644 --- a/toolchain/check/testdata/index/array_element_access.carbon +++ b/toolchain/check/testdata/index/array_element_access.carbon @@ -41,12 +41,12 @@ var d: i32 = a[b]; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.87c: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -70,12 +70,12 @@ var d: i32 = a[b]; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.6b6 = ref_binding_pattern d [concrete] // CHECK:STDOUT: %d.var_patt: %pattern_type.6b6 = var_pattern %d.patt [concrete] @@ -92,10 +92,10 @@ var d: i32 = a[b]; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -146,7 +146,7 @@ var d: i32 = a[b]; // CHECK:STDOUT: %int_12: Core.IntLiteral = int_value 12 [concrete = constants.%int_12.6a3] // CHECK:STDOUT: %int_24: Core.IntLiteral = int_value 24 [concrete = constants.%int_24.e3c] // CHECK:STDOUT: %.loc15_31.1: %tuple.type.f94 = tuple_literal (%int_12, %int_24) [concrete = constants.%tuple.dac] -// CHECK:STDOUT: %impl.elem0.loc15_31.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_31.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_31.1: = bound_method %int_12, %impl.elem0.loc15_31.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.87c] // CHECK:STDOUT: %specific_fn.loc15_31.1: = specific_function %impl.elem0.loc15_31.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_31.2: = bound_method %int_12, %specific_fn.loc15_31.1 [concrete = constants.%bound_method.46b] @@ -155,7 +155,7 @@ var d: i32 = a[b]; // CHECK:STDOUT: %int_0.loc15: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc15_31.3: ref %i32 = array_index file.%a.var, %int_0.loc15 // CHECK:STDOUT: %.loc15_31.4: init %i32 to %.loc15_31.3 = in_place_init %.loc15_31.2 [concrete = constants.%int_12.8c7] -// CHECK:STDOUT: %impl.elem0.loc15_31.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_31.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_31.3: = bound_method %int_24, %impl.elem0.loc15_31.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.6cc] // CHECK:STDOUT: %specific_fn.loc15_31.2: = specific_function %impl.elem0.loc15_31.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_31.4: = bound_method %int_24, %specific_fn.loc15_31.2 [concrete = constants.%bound_method.b67] @@ -168,7 +168,7 @@ var d: i32 = a[b]; // CHECK:STDOUT: %.loc15_1: init %array_type = converted %.loc15_31.1, %.loc15_31.8 [concrete = constants.%array] // CHECK:STDOUT: assign file.%a.var, %.loc15_1 // CHECK:STDOUT: %int_1.loc16: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_1.1: = bound_method %int_1.loc16, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_1.2: = bound_method %int_1.loc16, %specific_fn.loc16 [concrete = constants.%bound_method.953] @@ -177,7 +177,7 @@ var d: i32 = a[b]; // CHECK:STDOUT: assign file.%b.var, %.loc16 // CHECK:STDOUT: %a.ref.loc17: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_0.loc17: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc17_16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc17_16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_16.1: = bound_method %int_0.loc17, %impl.elem0.loc17_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc17_16: = specific_function %impl.elem0.loc17_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_16.2: = bound_method %int_0.loc17, %specific_fn.loc17_16 [concrete = constants.%bound_method.6e0] @@ -186,7 +186,7 @@ var d: i32 = a[b]; // CHECK:STDOUT: %.loc17_16.2: %i32 = converted %int_0.loc17, %.loc17_16.1 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc17_17.1: ref %i32 = array_index %a.ref.loc17, %.loc17_16.2 // CHECK:STDOUT: %.loc17_17.2: %i32 = acquire_value %.loc17_17.1 -// CHECK:STDOUT: %impl.elem0.loc17_17: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc17_17: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc17_17.1: = bound_method %.loc17_17.2, %impl.elem0.loc17_17 // CHECK:STDOUT: %specific_fn.loc17_17: = specific_function %impl.elem0.loc17_17, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_17.2: = bound_method %.loc17_17.2, %specific_fn.loc17_17 @@ -197,7 +197,7 @@ var d: i32 = a[b]; // CHECK:STDOUT: %.loc18_16: %i32 = acquire_value %b.ref // CHECK:STDOUT: %.loc18_17.1: ref %i32 = array_index %a.ref.loc18, %.loc18_16 // CHECK:STDOUT: %.loc18_17.2: %i32 = acquire_value %.loc18_17.1 -// CHECK:STDOUT: %impl.elem0.loc18: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc18: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc18_17.1: = bound_method %.loc18_17.2, %impl.elem0.loc18 // CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc18_17.2: = bound_method %.loc18_17.2, %specific_fn.loc18 diff --git a/toolchain/check/testdata/index/expr_category.carbon b/toolchain/check/testdata/index/expr_category.carbon index e08d5bbb335d..90a1333c4bc5 100644 --- a/toolchain/check/testdata/index/expr_category.carbon +++ b/toolchain/check/testdata/index/expr_category.carbon @@ -66,12 +66,12 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -94,12 +94,12 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %int_4.0c1: Core.IntLiteral = int_value 4 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] @@ -127,10 +127,10 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -188,7 +188,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_2.loc18_30: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3.loc18_33: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc18_34.1: %tuple.type.37f = tuple_literal (%int_1.loc18_27, %int_2.loc18_30, %int_3.loc18_33) [concrete = constants.%tuple.2d5] -// CHECK:STDOUT: %impl.elem0.loc18_34.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_34.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_34.1: = bound_method %int_1.loc18_27, %impl.elem0.loc18_34.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc18_34.1: = specific_function %impl.elem0.loc18_34.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_34.2: = bound_method %int_1.loc18_27, %specific_fn.loc18_34.1 [concrete = constants.%bound_method.953] @@ -197,7 +197,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_0.loc18: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc18_34.3: ref %i32 = array_index %a.var, %int_0.loc18 // CHECK:STDOUT: %.loc18_34.4: init %i32 to %.loc18_34.3 = in_place_init %.loc18_34.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc18_34.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_34.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_34.3: = bound_method %int_2.loc18_30, %impl.elem0.loc18_34.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc18_34.2: = specific_function %impl.elem0.loc18_34.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_34.4: = bound_method %int_2.loc18_30, %specific_fn.loc18_34.2 [concrete = constants.%bound_method.3cb] @@ -206,7 +206,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_1.loc18_34: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc18_34.6: ref %i32 = array_index %a.var, %int_1.loc18_34 // CHECK:STDOUT: %.loc18_34.7: init %i32 to %.loc18_34.6 = in_place_init %.loc18_34.5 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc18_34.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_34.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_34.5: = bound_method %int_3.loc18_33, %impl.elem0.loc18_34.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc18_34.3: = specific_function %impl.elem0.loc18_34.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_34.6: = bound_method %int_3.loc18_33, %specific_fn.loc18_34.3 [concrete = constants.%bound_method.763] @@ -231,7 +231,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %pa.var: ref %ptr.d08 = var_storage %pa.var_patt // CHECK:STDOUT: %a.ref.loc21: ref %array_type = name_ref a, %a // CHECK:STDOUT: %int_0.loc21: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc21_28: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc21_28: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc21_28.1: = bound_method %int_0.loc21, %impl.elem0.loc21_28 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc21_28: = specific_function %impl.elem0.loc21_28, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_28.2: = bound_method %int_0.loc21, %specific_fn.loc21_28 [concrete = constants.%bound_method.6e0] @@ -240,7 +240,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %.loc21_28.2: %i32 = converted %int_0.loc21, %.loc21_28.1 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc21_29: ref %i32 = array_index %a.ref.loc21, %.loc21_28.2 // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %.loc21_29 -// CHECK:STDOUT: %impl.elem0.loc21_25: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc21_25: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc21_25.1: = bound_method %addr, %impl.elem0.loc21_25 // CHECK:STDOUT: %specific_fn.loc21_25: = specific_function %impl.elem0.loc21_25, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc21_25.2: = bound_method %addr, %specific_fn.loc21_25 @@ -257,7 +257,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc22: ref %array_type = name_ref a, %a // CHECK:STDOUT: %int_0.loc22: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc22_5: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc22_5: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %int_0.loc22, %impl.elem0.loc22_5 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc22_5: = specific_function %impl.elem0.loc22_5, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %int_0.loc22, %specific_fn.loc22_5 [concrete = constants.%bound_method.6e0] @@ -266,7 +266,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %.loc22_5.2: %i32 = converted %int_0.loc22, %.loc22_5.1 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc22_6: ref %i32 = array_index %a.ref.loc22, %.loc22_5.2 // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc22_8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc22_8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_8.1: = bound_method %int_4, %impl.elem0.loc22_8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc22_8: = specific_function %impl.elem0.loc22_8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_8.2: = bound_method %int_4, %specific_fn.loc22_8 [concrete = constants.%bound_method.b7a] @@ -301,7 +301,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_2.loc26_30: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3.loc26_33: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc26_34.1: %tuple.type.37f = tuple_literal (%int_1.loc26_27, %int_2.loc26_30, %int_3.loc26_33) [concrete = constants.%tuple.2d5] -// CHECK:STDOUT: %impl.elem0.loc26_34.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc26_34.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc26_34.1: = bound_method %int_1.loc26_27, %impl.elem0.loc26_34.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc26_34.1: = specific_function %impl.elem0.loc26_34.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_34.2: = bound_method %int_1.loc26_27, %specific_fn.loc26_34.1 [concrete = constants.%bound_method.953] @@ -310,7 +310,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_0.loc26: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc26_34.3: ref %i32 = array_index %a.var, %int_0.loc26 // CHECK:STDOUT: %.loc26_34.4: init %i32 to %.loc26_34.3 = in_place_init %.loc26_34.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc26_34.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc26_34.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc26_34.3: = bound_method %int_2.loc26_30, %impl.elem0.loc26_34.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc26_34.2: = specific_function %impl.elem0.loc26_34.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_34.4: = bound_method %int_2.loc26_30, %specific_fn.loc26_34.2 [concrete = constants.%bound_method.3cb] @@ -319,7 +319,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_1.loc26_34: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc26_34.6: ref %i32 = array_index %a.var, %int_1.loc26_34 // CHECK:STDOUT: %.loc26_34.7: init %i32 to %.loc26_34.6 = in_place_init %.loc26_34.5 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc26_34.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc26_34.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc26_34.5: = bound_method %int_3.loc26_33, %impl.elem0.loc26_34.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc26_34.3: = specific_function %impl.elem0.loc26_34.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_34.6: = bound_method %int_3.loc26_33, %specific_fn.loc26_34.3 [concrete = constants.%bound_method.763] @@ -343,7 +343,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: ref %array_type = name_ref a, %a // CHECK:STDOUT: %int_0.loc30: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc30: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc30: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc30_5.1: = bound_method %int_0.loc30, %impl.elem0.loc30 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc30: = specific_function %impl.elem0.loc30, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc30_5.2: = bound_method %int_0.loc30, %specific_fn.loc30 [concrete = constants.%bound_method.6e0] @@ -353,7 +353,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %.loc30_6: ref %i32 = array_index %a.ref, %.loc30_5.2 // CHECK:STDOUT: %b.ref: %array_type = name_ref b, %b // CHECK:STDOUT: %int_0.loc31: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc31: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc31: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc31_5.1: = bound_method %int_0.loc31, %impl.elem0.loc31 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc31: = specific_function %impl.elem0.loc31, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc31_5.2: = bound_method %int_0.loc31, %specific_fn.loc31 [concrete = constants.%bound_method.6e0] @@ -368,7 +368,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %F.call: init %array_type to %.loc32_5.1 = call %F.ref() // CHECK:STDOUT: %int_0.loc32: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc32_5.2: ref %array_type = temporary %.loc32_5.1, %F.call -// CHECK:STDOUT: %impl.elem0.loc32: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc32: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc32_7.1: = bound_method %int_0.loc32, %impl.elem0.loc32 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc32: = specific_function %impl.elem0.loc32, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc32_7.2: = bound_method %int_0.loc32, %specific_fn.loc32 [concrete = constants.%bound_method.6e0] diff --git a/toolchain/check/testdata/index/fail_array_large_index.carbon b/toolchain/check/testdata/index/fail_array_large_index.carbon index a27d5f031313..6d25529ade52 100644 --- a/toolchain/check/testdata/index/fail_array_large_index.carbon +++ b/toolchain/check/testdata/index/fail_array_large_index.carbon @@ -49,12 +49,12 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.87c: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -69,12 +69,12 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %c.patt: %pattern_type.6b6 = ref_binding_pattern c [concrete] // CHECK:STDOUT: %c.var_patt: %pattern_type.6b6 = var_pattern %c.patt [concrete] @@ -95,10 +95,10 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -140,7 +140,7 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_12: Core.IntLiteral = int_value 12 [concrete = constants.%int_12.6a3] // CHECK:STDOUT: %.loc15_28.1: %tuple.type.985 = tuple_literal (%int_12) [concrete = constants.%tuple.3bc] -// CHECK:STDOUT: %impl.elem0.loc15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_28.1: = bound_method %int_12, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.87c] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_28.2: = bound_method %int_12, %specific_fn.loc15 [concrete = constants.%bound_method.46b] @@ -154,7 +154,7 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: assign file.%a.var, %.loc15_1 // CHECK:STDOUT: %a.ref.loc21: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc21_16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc21_16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc21_16.1: = bound_method %int_1, %impl.elem0.loc21_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc21_16: = specific_function %impl.elem0.loc21_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_16.2: = bound_method %int_1, %specific_fn.loc21_16 [concrete = constants.%bound_method.953] @@ -163,7 +163,7 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %.loc21_16.2: %i32 = converted %int_1, %.loc21_16.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc21_17.1: ref %i32 = array_index %a.ref.loc21, %.loc21_16.2 [concrete = ] // CHECK:STDOUT: %.loc21_17.2: %i32 = acquire_value %.loc21_17.1 [concrete = ] -// CHECK:STDOUT: %impl.elem0.loc21_17: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc21_17: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc21_17.1: = bound_method %.loc21_17.2, %impl.elem0.loc21_17 [concrete = ] // CHECK:STDOUT: %specific_fn.loc21_17: = specific_function %impl.elem0.loc21_17, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc21_17.2: = bound_method %.loc21_17.2, %specific_fn.loc21_17 [concrete = ] @@ -171,7 +171,7 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: assign file.%b.var, %Int.as.Copy.impl.Op.call.loc21 // CHECK:STDOUT: %a.ref.loc27: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_2147483647: Core.IntLiteral = int_value 2147483647 [concrete = constants.%int_2147483647.d89] -// CHECK:STDOUT: %impl.elem0.loc27_16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc27_16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc27_16.1: = bound_method %int_2147483647, %impl.elem0.loc27_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.91c] // CHECK:STDOUT: %specific_fn.loc27_16: = specific_function %impl.elem0.loc27_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc27_16.2: = bound_method %int_2147483647, %specific_fn.loc27_16 [concrete = constants.%bound_method.777] @@ -180,7 +180,7 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %.loc27_16.2: %i32 = converted %int_2147483647, %.loc27_16.1 [concrete = constants.%int_2147483647.a0e] // CHECK:STDOUT: %.loc27_27.1: ref %i32 = array_index %a.ref.loc27, %.loc27_16.2 [concrete = ] // CHECK:STDOUT: %.loc27_27.2: %i32 = acquire_value %.loc27_27.1 [concrete = ] -// CHECK:STDOUT: %impl.elem0.loc27_27: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc27_27: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc27_27.1: = bound_method %.loc27_27.2, %impl.elem0.loc27_27 [concrete = ] // CHECK:STDOUT: %specific_fn.loc27_27: = specific_function %impl.elem0.loc27_27, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc27_27.2: = bound_method %.loc27_27.2, %specific_fn.loc27_27 [concrete = ] 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 d94053aba40d..cdad05e2ca91 100644 --- a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon +++ b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon @@ -45,12 +45,12 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -63,12 +63,12 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -83,10 +83,10 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -120,7 +120,7 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_12: Core.IntLiteral = int_value 12 [concrete = constants.%int_12.6a3] // CHECK:STDOUT: %.loc15_28.1: %tuple.type.985 = tuple_literal (%int_12) [concrete = constants.%tuple.3bc] -// CHECK:STDOUT: %impl.elem0.loc15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_28.1: = bound_method %int_12, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_28.2: = bound_method %int_12, %specific_fn.loc15 [concrete = constants.%bound_method] @@ -137,7 +137,7 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %.loc23_16: %i32 = converted %float, [concrete = ] // CHECK:STDOUT: %.loc23_19.1: ref %i32 = array_index %a.ref, [concrete = ] // CHECK:STDOUT: %.loc23_19.2: %i32 = acquire_value %.loc23_19.1 [concrete = ] -// CHECK:STDOUT: %impl.elem0.loc23: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc23: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc23_19.1: = bound_method %.loc23_19.2, %impl.elem0.loc23 [concrete = ] // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc23_19.2: = bound_method %.loc23_19.2, %specific_fn.loc23 [concrete = ] 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 0ad91b6c5578..0e6b2e320de8 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 @@ -42,12 +42,12 @@ var b: i32 = a[1]; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.87c: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -62,12 +62,12 @@ var b: i32 = a[1]; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -82,10 +82,10 @@ var b: i32 = a[1]; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -119,7 +119,7 @@ var b: i32 = a[1]; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_12: Core.IntLiteral = int_value 12 [concrete = constants.%int_12.6a3] // CHECK:STDOUT: %.loc15_28.1: %tuple.type.985 = tuple_literal (%int_12) [concrete = constants.%tuple.3bc] -// CHECK:STDOUT: %impl.elem0.loc15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_28.1: = bound_method %int_12, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.87c] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_28.2: = bound_method %int_12, %specific_fn.loc15 [concrete = constants.%bound_method.46b] @@ -133,7 +133,7 @@ var b: i32 = a[1]; // CHECK:STDOUT: assign file.%a.var, %.loc15_1 // CHECK:STDOUT: %a.ref: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc20_16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20_16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_16.1: = bound_method %int_1, %impl.elem0.loc20_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc20_16: = specific_function %impl.elem0.loc20_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_16.2: = bound_method %int_1, %specific_fn.loc20_16 [concrete = constants.%bound_method.953] @@ -142,7 +142,7 @@ var b: i32 = a[1]; // CHECK:STDOUT: %.loc20_16.2: %i32 = converted %int_1, %.loc20_16.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc20_17.1: ref %i32 = array_index %a.ref, %.loc20_16.2 [concrete = ] // CHECK:STDOUT: %.loc20_17.2: %i32 = acquire_value %.loc20_17.1 [concrete = ] -// CHECK:STDOUT: %impl.elem0.loc20_17: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc20_17: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc20_17.1: = bound_method %.loc20_17.2, %impl.elem0.loc20_17 [concrete = ] // CHECK:STDOUT: %specific_fn.loc20_17: = specific_function %impl.elem0.loc20_17, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc20_17.2: = bound_method %.loc20_17.2, %specific_fn.loc20_17 [concrete = ] diff --git a/toolchain/check/testdata/index/fail_expr_category.carbon b/toolchain/check/testdata/index/fail_expr_category.carbon index 5b6e385aeca4..2663d8d3fa18 100644 --- a/toolchain/check/testdata/index/fail_expr_category.carbon +++ b/toolchain/check/testdata/index/fail_expr_category.carbon @@ -73,12 +73,12 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -87,12 +87,12 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %int_4.0c1: Core.IntLiteral = int_value 4 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] @@ -119,10 +119,10 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -165,7 +165,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %pb.var: ref %ptr.d08 = var_storage %pb.var_patt // CHECK:STDOUT: %b.ref.loc23: %array_type = name_ref b, %b // CHECK:STDOUT: %int_0.loc23: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc23_28: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc23_28: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc23_28.1: = bound_method %int_0.loc23, %impl.elem0.loc23_28 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc23_28: = specific_function %impl.elem0.loc23_28, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_28.2: = bound_method %int_0.loc23, %specific_fn.loc23_28 [concrete = constants.%bound_method.6e0] @@ -176,7 +176,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %.loc23_29.2: ref %i32 = array_index %.loc23_29.1, %.loc23_28.2 // CHECK:STDOUT: %.loc23_29.3: %i32 = acquire_value %.loc23_29.2 // CHECK:STDOUT: %addr.loc23: %ptr.d08 = addr_of [concrete = ] -// CHECK:STDOUT: %impl.elem0.loc23_25: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc23_25: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc23_25.1: = bound_method %addr.loc23, %impl.elem0.loc23_25 [concrete = ] // CHECK:STDOUT: %specific_fn.loc23_25: = specific_function %impl.elem0.loc23_25, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc23_25.2: = bound_method %addr.loc23, %specific_fn.loc23_25 [concrete = ] @@ -193,7 +193,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: } // CHECK:STDOUT: %b.ref.loc28: %array_type = name_ref b, %b // CHECK:STDOUT: %int_0.loc28: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc28_5: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc28_5: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc28_5.1: = bound_method %int_0.loc28, %impl.elem0.loc28_5 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc28_5: = specific_function %impl.elem0.loc28_5, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc28_5.2: = bound_method %int_0.loc28, %specific_fn.loc28_5 [concrete = constants.%bound_method.6e0] @@ -204,7 +204,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %.loc28_6.2: ref %i32 = array_index %.loc28_6.1, %.loc28_5.2 // CHECK:STDOUT: %.loc28_6.3: %i32 = acquire_value %.loc28_6.2 // CHECK:STDOUT: %int_4.loc28: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc28_8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc28_8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc28_8.1: = bound_method %int_4.loc28, %impl.elem0.loc28_8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc28_8: = specific_function %impl.elem0.loc28_8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc28_8.2: = bound_method %int_4.loc28, %specific_fn.loc28_8 [concrete = constants.%bound_method.b7a] @@ -217,7 +217,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %F.call.loc36: init %array_type to %.loc36_28.1 = call %F.ref.loc36() // CHECK:STDOUT: %int_0.loc36: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc36_28.2: ref %array_type = temporary %.loc36_28.1, %F.call.loc36 -// CHECK:STDOUT: %impl.elem0.loc36_30: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc36_30: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc36_30.1: = bound_method %int_0.loc36, %impl.elem0.loc36_30 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc36_30: = specific_function %impl.elem0.loc36_30, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc36_30.2: = bound_method %int_0.loc36, %specific_fn.loc36_30 [concrete = constants.%bound_method.6e0] @@ -227,7 +227,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %.loc36_31.1: ref %i32 = array_index %.loc36_28.2, %.loc36_30.2 // CHECK:STDOUT: %.loc36_31.2: %i32 = acquire_value %.loc36_31.1 // CHECK:STDOUT: %addr.loc36: %ptr.d08 = addr_of [concrete = ] -// CHECK:STDOUT: %impl.elem0.loc36_25: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc36_25: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc36_25.1: = bound_method %addr.loc36, %impl.elem0.loc36_25 [concrete = ] // CHECK:STDOUT: %specific_fn.loc36_25: = specific_function %impl.elem0.loc36_25, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc36_25.2: = bound_method %addr.loc36, %specific_fn.loc36_25 [concrete = ] @@ -247,7 +247,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %F.call.loc41: init %array_type to %.loc41_5.1 = call %F.ref.loc41() // CHECK:STDOUT: %int_0.loc41: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc41_5.2: ref %array_type = temporary %.loc41_5.1, %F.call.loc41 -// CHECK:STDOUT: %impl.elem0.loc41_7: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc41_7: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc41_7.1: = bound_method %int_0.loc41, %impl.elem0.loc41_7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc41_7: = specific_function %impl.elem0.loc41_7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc41_7.2: = bound_method %int_0.loc41, %specific_fn.loc41_7 [concrete = constants.%bound_method.6e0] @@ -257,7 +257,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %.loc41_8.1: ref %i32 = array_index %.loc41_5.2, %.loc41_7.2 // CHECK:STDOUT: %.loc41_8.2: %i32 = acquire_value %.loc41_8.1 // CHECK:STDOUT: %int_4.loc41: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc41_10: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc41_10: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc41_10.1: = bound_method %int_4.loc41, %impl.elem0.loc41_10 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc41_10: = specific_function %impl.elem0.loc41_10, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc41_10.2: = bound_method %int_4.loc41, %specific_fn.loc41_10 [concrete = constants.%bound_method.b7a] diff --git a/toolchain/check/testdata/index/fail_negative_indexing.carbon b/toolchain/check/testdata/index/fail_negative_indexing.carbon index 3bdc2c747576..966e598482ea 100644 --- a/toolchain/check/testdata/index/fail_negative_indexing.carbon +++ b/toolchain/check/testdata/index/fail_negative_indexing.carbon @@ -43,12 +43,12 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.bf3: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -62,8 +62,8 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Negate.impl_witness: = impl_witness imports.%Negate.impl_witness_table [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value Core.IntLiteral, (%Negate.impl_witness) [concrete] -// CHECK:STDOUT: %Negate.WithSelf.Op.type.db1: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] -// CHECK:STDOUT: %.e9b: type = fn_type_with_self_type %Negate.WithSelf.Op.type.db1, %Negate.facet [concrete] +// CHECK:STDOUT: %Negate.WithSelf.Op.type.e85: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] +// CHECK:STDOUT: %.758: type = fn_type_with_self_type %Negate.WithSelf.Op.type.e85, %Negate.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.type: type = fn_type @Core.IntLiteral.as.Negate.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op: %Core.IntLiteral.as.Negate.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.bound: = bound_method %int_10, %Core.IntLiteral.as.Negate.impl.Op [concrete] @@ -74,12 +74,12 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -95,14 +95,14 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [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, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.9c3: %Core.IntLiteral.as.Negate.impl.Op.type = import_ref Core//prelude/parts/int_literal, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] // CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.abd, %Core.import_ref.9c3), @Core.IntLiteral.as.Negate.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -137,7 +137,7 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %int_42.loc15_25: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] // CHECK:STDOUT: %int_42.loc15_29: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] // CHECK:STDOUT: %.loc15_31.1: %tuple.type.f94 = tuple_literal (%int_42.loc15_25, %int_42.loc15_29) [concrete = constants.%tuple.df5] -// CHECK:STDOUT: %impl.elem0.loc15_31.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_31.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_31.1: = bound_method %int_42.loc15_25, %impl.elem0.loc15_31.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.bf3] // CHECK:STDOUT: %specific_fn.loc15_31.1: = specific_function %impl.elem0.loc15_31.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_31.2: = bound_method %int_42.loc15_25, %specific_fn.loc15_31.1 [concrete = constants.%bound_method.098] @@ -146,7 +146,7 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %.loc15_31.3: ref %i32 = array_index file.%c.var, %int_0 // CHECK:STDOUT: %.loc15_31.4: init %i32 to %.loc15_31.3 = in_place_init %.loc15_31.2 [concrete = constants.%int_42.ac4] -// CHECK:STDOUT: %impl.elem0.loc15_31.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_31.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_31.3: = bound_method %int_42.loc15_29, %impl.elem0.loc15_31.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.bf3] // CHECK:STDOUT: %specific_fn.loc15_31.2: = specific_function %impl.elem0.loc15_31.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_31.4: = bound_method %int_42.loc15_29, %specific_fn.loc15_31.2 [concrete = constants.%bound_method.098] @@ -160,10 +160,10 @@ var d: i32 = c[-10]; // CHECK:STDOUT: assign file.%c.var, %.loc15_1 // CHECK:STDOUT: %c.ref: ref %array_type = name_ref c, file.%c [concrete = file.%c.var] // CHECK:STDOUT: %int_10: Core.IntLiteral = int_value 10 [concrete = constants.%int_10] -// CHECK:STDOUT: %impl.elem1: %.e9b = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.758 = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] // CHECK:STDOUT: %bound_method.loc20_16.1: = bound_method %int_10, %impl.elem1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.call: init Core.IntLiteral = call %bound_method.loc20_16.1(%int_10) [concrete = constants.%int_-10.06d] -// CHECK:STDOUT: %impl.elem0.loc20_16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20_16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_16.2: = bound_method %Core.IntLiteral.as.Negate.impl.Op.call, %impl.elem0.loc20_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f93] // CHECK:STDOUT: %specific_fn.loc20_16: = specific_function %impl.elem0.loc20_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_16.3: = bound_method %Core.IntLiteral.as.Negate.impl.Op.call, %specific_fn.loc20_16 [concrete = constants.%bound_method.27d] @@ -174,7 +174,7 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %.loc20_16.4: %i32 = converted %Core.IntLiteral.as.Negate.impl.Op.call, %.loc20_16.3 [concrete = constants.%int_-10.642] // CHECK:STDOUT: %.loc20_19.1: ref %i32 = array_index %c.ref, %.loc20_16.4 [concrete = ] // CHECK:STDOUT: %.loc20_19.2: %i32 = acquire_value %.loc20_19.1 [concrete = ] -// CHECK:STDOUT: %impl.elem0.loc20_19: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc20_19: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc20_19.1: = bound_method %.loc20_19.2, %impl.elem0.loc20_19 [concrete = ] // CHECK:STDOUT: %specific_fn.loc20_19: = specific_function %impl.elem0.loc20_19, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc20_19.2: = bound_method %.loc20_19.2, %specific_fn.loc20_19 [concrete = ] diff --git a/toolchain/check/testdata/interface/compound_member_access.carbon b/toolchain/check/testdata/interface/compound_member_access.carbon index 4f0e21c83a9b..cfad3d27b329 100644 --- a/toolchain/check/testdata/interface/compound_member_access.carbon +++ b/toolchain/check/testdata/interface/compound_member_access.carbon @@ -1406,8 +1406,8 @@ fn Works() { // CHECK:STDOUT: %C.as.A.impl.G.type: type = fn_type @C.as.A.impl.G [concrete] // CHECK:STDOUT: %C.as.A.impl.G: %C.as.A.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: %A.facet: %A.type = facet_value %C, (%A.impl_witness) [concrete] -// CHECK:STDOUT: %A.WithSelf.G.type.ec7: type = fn_type @A.WithSelf.G, @A.WithSelf(%A.facet) [concrete] -// CHECK:STDOUT: %A.WithSelf.G.c79: %A.WithSelf.G.type.ec7 = struct_value () [concrete] +// CHECK:STDOUT: %A.WithSelf.G.type.7b6: type = fn_type @A.WithSelf.G, @A.WithSelf(%A.facet) [concrete] +// CHECK:STDOUT: %A.WithSelf.G.020: %A.WithSelf.G.type.7b6 = struct_value () [concrete] // CHECK:STDOUT: %Fails.type: type = fn_type @Fails [concrete] // CHECK:STDOUT: %Fails: %Fails.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -1417,8 +1417,8 @@ fn Works() { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %A.type, %type.as.BitAndWith.impl.Op [concrete] @@ -1510,7 +1510,7 @@ fn Works() { // CHECK:STDOUT: %.loc22_7: init %C = converted %.loc22_5.1, %.loc22_5.3 [concrete = constants.%C.val] // CHECK:STDOUT: %A.ref.loc22_15: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc22_19: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc22: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc22: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc22: = bound_method %A.ref.loc22_15, %impl.elem0.loc22 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc22: init type = call %bound_method.loc22(%A.ref.loc22_15, %A.ref.loc22_19) [concrete = constants.%A.type] // CHECK:STDOUT: %G.ref.loc22: %A.assoc_type = name_ref G, @A.WithSelf.%assoc0 [concrete = constants.%assoc0.f27] @@ -1523,7 +1523,7 @@ fn Works() { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc30_24: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc30_28: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc30_26: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc30_26: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc30_26: = bound_method %A.ref.loc30_24, %impl.elem0.loc30_26 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc30_26: init type = call %bound_method.loc30_26(%A.ref.loc30_24, %A.ref.loc30_28) [concrete = constants.%A.type] // CHECK:STDOUT: %.loc30_29.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc30_26 [concrete = constants.%A.type] @@ -1534,7 +1534,7 @@ fn Works() { // CHECK:STDOUT: %.loc30_30: type = converted %.loc30_20, %as_type.loc30 [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc30_35: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc30_39: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc30_37: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc30_37: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc30_37: = bound_method %A.ref.loc30_35, %impl.elem0.loc30_37 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc30_37: init type = call %bound_method.loc30_37(%A.ref.loc30_35, %A.ref.loc30_39) [concrete = constants.%A.type] // CHECK:STDOUT: %G.ref.loc30: %A.assoc_type = name_ref G, @A.WithSelf.%assoc0 [concrete = constants.%assoc0.f27] @@ -1547,7 +1547,7 @@ fn Works() { // CHECK:STDOUT: %C.ref.loc38_18: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc38_24: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc38_28: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc38: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc38: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc38: = bound_method %A.ref.loc38_24, %impl.elem0.loc38 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc38: init type = call %bound_method.loc38(%A.ref.loc38_24, %A.ref.loc38_28) [concrete = constants.%A.type] // CHECK:STDOUT: %.loc38_29.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc38 [concrete = constants.%A.type] @@ -1574,8 +1574,8 @@ fn Works() { // CHECK:STDOUT: specific @A.WithSelf(constants.%A.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%A.facet -// CHECK:STDOUT: %A.WithSelf.G.type => constants.%A.WithSelf.G.type.ec7 -// CHECK:STDOUT: %A.WithSelf.G => constants.%A.WithSelf.G.c79 +// CHECK:STDOUT: %A.WithSelf.G.type => constants.%A.WithSelf.G.type.7b6 +// CHECK:STDOUT: %A.WithSelf.G => constants.%A.WithSelf.G.020 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.G(constants.%A.facet) {} @@ -1598,8 +1598,8 @@ fn Works() { // CHECK:STDOUT: %C.as.A.impl.G.type: type = fn_type @C.as.A.impl.G [concrete] // CHECK:STDOUT: %C.as.A.impl.G: %C.as.A.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: %A.facet: %A.type = facet_value %C, (%A.impl_witness) [concrete] -// CHECK:STDOUT: %A.WithSelf.G.type.ec7: type = fn_type @A.WithSelf.G, @A.WithSelf(%A.facet) [concrete] -// CHECK:STDOUT: %A.WithSelf.G.c79: %A.WithSelf.G.type.ec7 = struct_value () [concrete] +// CHECK:STDOUT: %A.WithSelf.G.type.7b6: type = fn_type @A.WithSelf.G, @A.WithSelf(%A.facet) [concrete] +// CHECK:STDOUT: %A.WithSelf.G.020: %A.WithSelf.G.type.7b6 = struct_value () [concrete] // CHECK:STDOUT: %Works.type: type = fn_type @Works [concrete] // CHECK:STDOUT: %Works: %Works.type = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.type.a06: type = generic_interface_type @BitAndWith [concrete] @@ -1607,12 +1607,12 @@ fn Works() { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %A.type, %type.as.BitAndWith.impl.Op [concrete] -// CHECK:STDOUT: %.282: type = fn_type_with_self_type %A.WithSelf.G.type.ec7, %A.facet [concrete] +// CHECK:STDOUT: %.9c0: type = fn_type_with_self_type %A.WithSelf.G.type.7b6, %A.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1693,18 +1693,18 @@ fn Works() { // CHECK:STDOUT: %C.ref.loc13: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc13_7: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc13_11: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc13_9: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc13_9: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc13: = bound_method %A.ref.loc13_7, %impl.elem0.loc13_9 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc13: init type = call %bound_method.loc13(%A.ref.loc13_7, %A.ref.loc13_11) [concrete = constants.%A.type] // CHECK:STDOUT: %G.ref.loc13: %A.assoc_type = name_ref G, @A.WithSelf.%assoc0 [concrete = constants.%assoc0.f27] // CHECK:STDOUT: %A.facet.loc13: %A.type = facet_value %C.ref.loc13, (constants.%A.impl_witness) [concrete = constants.%A.facet] // CHECK:STDOUT: %.loc13: %A.type = converted %C.ref.loc13, %A.facet.loc13 [concrete = constants.%A.facet] -// CHECK:STDOUT: %impl.elem0.loc13_4: %.282 = impl_witness_access constants.%A.impl_witness, element0 [concrete = constants.%C.as.A.impl.G] +// CHECK:STDOUT: %impl.elem0.loc13_4: %.9c0 = impl_witness_access constants.%A.impl_witness, element0 [concrete = constants.%C.as.A.impl.G] // CHECK:STDOUT: %C.as.A.impl.G.call.loc13: init %empty_tuple.type = call %impl.elem0.loc13_4() // CHECK:STDOUT: %C.ref.loc14: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc14_10: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc14_14: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc14_12: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc14_12: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc14_12: = bound_method %A.ref.loc14_10, %impl.elem0.loc14_12 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc14_12: init type = call %bound_method.loc14_12(%A.ref.loc14_10, %A.ref.loc14_14) [concrete = constants.%A.type] // CHECK:STDOUT: %.loc14_15.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc14_12 [concrete = constants.%A.type] @@ -1713,16 +1713,16 @@ fn Works() { // CHECK:STDOUT: %.loc14_6: %A.type = converted %C.ref.loc14, %A.facet.loc14 [concrete = constants.%A.facet] // CHECK:STDOUT: %A.ref.loc14_20: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc14_24: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc14_22: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc14_22: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc14_22: = bound_method %A.ref.loc14_20, %impl.elem0.loc14_22 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc14_22: init type = call %bound_method.loc14_22(%A.ref.loc14_20, %A.ref.loc14_24) [concrete = constants.%A.type] // CHECK:STDOUT: %G.ref.loc14: %A.assoc_type = name_ref G, @A.WithSelf.%assoc0 [concrete = constants.%assoc0.f27] -// CHECK:STDOUT: %impl.elem0.loc14_17: %.282 = impl_witness_access constants.%A.impl_witness, element0 [concrete = constants.%C.as.A.impl.G] +// CHECK:STDOUT: %impl.elem0.loc14_17: %.9c0 = impl_witness_access constants.%A.impl_witness, element0 [concrete = constants.%C.as.A.impl.G] // CHECK:STDOUT: %C.as.A.impl.G.call.loc14: init %empty_tuple.type = call %impl.elem0.loc14_17() // CHECK:STDOUT: %C.ref.loc15: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %A.ref.loc15_10: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %A.ref.loc15_14: type = name_ref A, file.%A.decl [concrete = constants.%A.type] -// CHECK:STDOUT: %impl.elem0.loc15_12: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc15_12: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc15: = bound_method %A.ref.loc15_10, %impl.elem0.loc15_12 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call.loc15: init type = call %bound_method.loc15(%A.ref.loc15_10, %A.ref.loc15_14) [concrete = constants.%A.type] // CHECK:STDOUT: %.loc15_15.1: type = value_of_initializer %type.as.BitAndWith.impl.Op.call.loc15 [concrete = constants.%A.type] @@ -1731,7 +1731,7 @@ fn Works() { // CHECK:STDOUT: %.loc15_6: %A.type = converted %C.ref.loc15, %A.facet.loc15 [concrete = constants.%A.facet] // CHECK:STDOUT: %A.ref.loc15_19: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %G.ref.loc15: %A.assoc_type = name_ref G, @A.WithSelf.%assoc0 [concrete = constants.%assoc0.f27] -// CHECK:STDOUT: %impl.elem0.loc15_17: %.282 = impl_witness_access constants.%A.impl_witness, element0 [concrete = constants.%C.as.A.impl.G] +// CHECK:STDOUT: %impl.elem0.loc15_17: %.9c0 = impl_witness_access constants.%A.impl_witness, element0 [concrete = constants.%C.as.A.impl.G] // CHECK:STDOUT: %C.as.A.impl.G.call.loc15: init %empty_tuple.type = call %impl.elem0.loc15_17() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1748,8 +1748,8 @@ fn Works() { // CHECK:STDOUT: specific @A.WithSelf(constants.%A.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%A.facet -// CHECK:STDOUT: %A.WithSelf.G.type => constants.%A.WithSelf.G.type.ec7 -// CHECK:STDOUT: %A.WithSelf.G => constants.%A.WithSelf.G.c79 +// CHECK:STDOUT: %A.WithSelf.G.type => constants.%A.WithSelf.G.type.7b6 +// CHECK:STDOUT: %A.WithSelf.G => constants.%A.WithSelf.G.020 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @A.WithSelf.G(constants.%A.facet) {} diff --git a/toolchain/check/testdata/interface/default_fn.carbon b/toolchain/check/testdata/interface/default_fn.carbon index 82ee40929c1f..3b0563869985 100644 --- a/toolchain/check/testdata/interface/default_fn.carbon +++ b/toolchain/check/testdata/interface/default_fn.carbon @@ -51,8 +51,8 @@ class C { // CHECK:STDOUT: %C.as.I.impl.F.type: type = fn_type @C.as.I.impl.F [concrete] // CHECK:STDOUT: %C.as.I.impl.F: %C.as.I.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %C, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.903: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.60d: %I.WithSelf.F.type.903 = struct_value () [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.684: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.ee1: %I.WithSelf.F.type.684 = struct_value () [concrete] // CHECK:STDOUT: %self.patt.49a718.2: %pattern_type.98b = at_binding_pattern self, %self.param_patt.303 [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] @@ -61,7 +61,7 @@ class C { // CHECK:STDOUT: %c.var_patt: %pattern_type.98b = var_pattern %c.patt [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] -// CHECK:STDOUT: %.66b: type = fn_type_with_self_type %I.WithSelf.F.type.903, %I.facet [concrete] +// CHECK:STDOUT: %.938: type = fn_type_with_self_type %I.WithSelf.F.type.684, %I.facet [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc20_7.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.2: %Destroy.Op.type.1d8f74.2 = struct_value () [concrete] @@ -176,7 +176,7 @@ class C { // CHECK:STDOUT: %c.ref: ref %C = name_ref c, %c // CHECK:STDOUT: %I.ref: type = name_ref I, @C.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %F.ref: %I.assoc_type = name_ref F, @I.WithSelf.%assoc0 [concrete = constants.%assoc0.08d] -// CHECK:STDOUT: %impl.elem0: %.66b = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] +// CHECK:STDOUT: %impl.elem0: %.938 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%C.as.I.impl.F] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %.loc21: %C = acquire_value %c.ref // CHECK:STDOUT: %C.as.I.impl.F.call: init %empty_tuple.type = call %bound_method(%.loc21) @@ -216,8 +216,8 @@ class C { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.903 -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.60d +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.684 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.ee1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet) { 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 4d7441c93385..517c9e8af716 100644 --- a/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon +++ b/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon @@ -47,12 +47,12 @@ interface I { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -69,7 +69,7 @@ interface I { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -96,7 +96,7 @@ interface I { // CHECK:STDOUT: %N: %i32 = assoc_const_decl @N [concrete] { // CHECK:STDOUT: %assoc1: %I.assoc_type = assoc_entity element1, @I.WithSelf.%N [concrete = constants.%assoc1] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc25_26.1: = bound_method %int_42, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc25_26.2: = bound_method %int_42, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interface/final.carbon b/toolchain/check/testdata/interface/final.carbon index a9c10f9be965..80146c0cf2eb 100644 --- a/toolchain/check/testdata/interface/final.carbon +++ b/toolchain/check/testdata/interface/final.carbon @@ -47,12 +47,12 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %T.e40: %J.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.d90: type = facet_access_type %T.e40 [symbolic] // CHECK:STDOUT: %.d3d: = impl_self_witness %T.as_type.d90, @I [symbolic] -// CHECK:STDOUT: %I.impl_witness.333: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%T.e40) [symbolic] +// CHECK:STDOUT: %I.impl_witness.b7c: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%T.e40) [symbolic] // CHECK:STDOUT: %T.as_type.as.I.impl.F.type.f53: type = fn_type @T.as_type.as.I.impl.F, @T.as_type.as.I.impl(%T.e40) [symbolic] // CHECK:STDOUT: %T.as_type.as.I.impl.F.305: %T.as_type.as.I.impl.F.type.f53 = struct_value () [symbolic] -// CHECK:STDOUT: %I.facet.39f: %I.type = facet_value %T.as_type.d90, (%I.impl_witness.333) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.type.12f: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.39f) [symbolic] -// CHECK:STDOUT: %I.WithSelf.F.a78: %I.WithSelf.F.type.12f = struct_value () [symbolic] +// CHECK:STDOUT: %I.facet.948: %I.type = facet_value %T.as_type.d90, (%I.impl_witness.b7c) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.type.117: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.948) [symbolic] +// CHECK:STDOUT: %I.WithSelf.F.caa: %I.WithSelf.F.type.117 = struct_value () [symbolic] // CHECK:STDOUT: %pattern_type.6cb: type = pattern_type %I.type [concrete] // CHECK:STDOUT: %T.patt.1df: %pattern_type.6cb = symbolic_binding_pattern T, 0 [symbolic] // CHECK:STDOUT: %T.dda: %I.type = symbolic_binding T, 0 [symbolic] @@ -68,7 +68,7 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %UseJ.type: type = fn_type @UseJ [concrete] // CHECK:STDOUT: %UseJ: %UseJ.type = struct_value () [concrete] // CHECK:STDOUT: %.062: require_specific_def_type = require_specific_def @T.as_type.as.I.impl(%T.e40) [symbolic] -// CHECK:STDOUT: %UseI.specific_fn.081: = specific_function %UseI, @UseI(%I.facet.39f) [symbolic] +// CHECK:STDOUT: %UseI.specific_fn.68a: = specific_function %UseI, @UseI(%I.facet.948) [symbolic] // 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] @@ -78,18 +78,18 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %Use.type: type = fn_type @Use [concrete] // CHECK:STDOUT: %Use: %Use.type = struct_value () [concrete] // CHECK:STDOUT: %UseJ.specific_fn: = specific_function %UseJ, @UseJ(%J.facet) [concrete] -// CHECK:STDOUT: %.c2e: type = fn_type_with_self_type %I.WithSelf.F.type.12f, %I.facet.39f [symbolic] +// CHECK:STDOUT: %.d61: type = fn_type_with_self_type %I.WithSelf.F.type.117, %I.facet.948 [symbolic] // CHECK:STDOUT: %T.as_type.as.I.impl.F.specific_fn.925: = specific_function %T.as_type.as.I.impl.F.305, @T.as_type.as.I.impl.F(%T.e40) [symbolic] // CHECK:STDOUT: %.b7f: = impl_self_witness %C, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.9d5: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%J.facet) [concrete] -// CHECK:STDOUT: %T.as_type.as.I.impl.F.type.907: type = fn_type @T.as_type.as.I.impl.F, @T.as_type.as.I.impl(%J.facet) [concrete] -// CHECK:STDOUT: %T.as_type.as.I.impl.F.b2b: %T.as_type.as.I.impl.F.type.907 = struct_value () [concrete] -// CHECK:STDOUT: %.72e: require_specific_def_type = require_specific_def @T.as_type.as.I.impl(%J.facet) [concrete] -// CHECK:STDOUT: %I.facet.ed7: %I.type = facet_value %C, (%I.impl_witness.9d5) [concrete] -// CHECK:STDOUT: %UseI.specific_fn.238: = specific_function %UseI, @UseI(%I.facet.ed7) [concrete] -// CHECK:STDOUT: %I.WithSelf.F.type.31e: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.ed7) [concrete] -// CHECK:STDOUT: %.7bd: type = fn_type_with_self_type %I.WithSelf.F.type.31e, %I.facet.ed7 [concrete] -// CHECK:STDOUT: %T.as_type.as.I.impl.F.specific_fn.2e2: = specific_function %T.as_type.as.I.impl.F.b2b, @T.as_type.as.I.impl.F(%J.facet) [concrete] +// CHECK:STDOUT: %I.impl_witness.324: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%J.facet) [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type.dbc: type = fn_type @T.as_type.as.I.impl.F, @T.as_type.as.I.impl(%J.facet) [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.60c: %T.as_type.as.I.impl.F.type.dbc = struct_value () [concrete] +// CHECK:STDOUT: %.3f3: require_specific_def_type = require_specific_def @T.as_type.as.I.impl(%J.facet) [concrete] +// CHECK:STDOUT: %I.facet.a00: %I.type = facet_value %C, (%I.impl_witness.324) [concrete] +// CHECK:STDOUT: %UseI.specific_fn.af1: = specific_function %UseI, @UseI(%I.facet.a00) [concrete] +// CHECK:STDOUT: %I.WithSelf.F.type.46b: type = fn_type @I.WithSelf.F, @I.WithSelf(%I.facet.a00) [concrete] +// CHECK:STDOUT: %.c12: type = fn_type_with_self_type %I.WithSelf.F.type.46b, %I.facet.a00 [concrete] +// CHECK:STDOUT: %T.as_type.as.I.impl.F.specific_fn.5d6: = specific_function %T.as_type.as.I.impl.F.60c, @T.as_type.as.I.impl.F(%J.facet) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -185,7 +185,7 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %T.loc7_21.1: %J.type = symbolic_binding T, 0 [symbolic = %T.loc7_21.1 (constants.%T.e40)] // CHECK:STDOUT: %T.as_type.loc7_26.1: type = facet_access_type %T.loc7_21.1 [symbolic = %T.as_type.loc7_26.1 (constants.%T.as_type.d90)] // CHECK:STDOUT: %.loc7_33: = impl_self_witness %T.as_type.loc7_26.1, @I [symbolic = %.loc7_33 (constants.%.d3d)] -// CHECK:STDOUT: %I.impl_witness.loc7_33.2: = impl_witness %I.impl_witness_table, @T.as_type.as.I.impl(%T.loc7_21.1) [symbolic = %I.impl_witness.loc7_33.2 (constants.%I.impl_witness.333)] +// CHECK:STDOUT: %I.impl_witness.loc7_33.2: = impl_witness %I.impl_witness_table, @T.as_type.as.I.impl(%T.loc7_21.1) [symbolic = %I.impl_witness.loc7_33.2 (constants.%I.impl_witness.b7c)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as_type.as.I.impl.F.type: type = fn_type @T.as_type.as.I.impl.F, @T.as_type.as.I.impl(%T.loc7_21.1) [symbolic = %T.as_type.as.I.impl.F.type (constants.%T.as_type.as.I.impl.F.type.f53)] @@ -194,7 +194,7 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: final impl: %.loc7_26 as %I.ref { // CHECK:STDOUT: %T.as_type.as.I.impl.F.decl: @T.as_type.as.I.impl.%T.as_type.as.I.impl.F.type (%T.as_type.as.I.impl.F.type.f53) = fn_decl @T.as_type.as.I.impl.F [symbolic = @T.as_type.as.I.impl.%T.as_type.as.I.impl.F (constants.%T.as_type.as.I.impl.F.305)] {} {} // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%T.as_type.as.I.impl.F.decl), @T.as_type.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness.loc7_33.1: = impl_witness %I.impl_witness_table, @T.as_type.as.I.impl(constants.%T.e40) [symbolic = %I.impl_witness.loc7_33.2 (constants.%I.impl_witness.333)] +// CHECK:STDOUT: %I.impl_witness.loc7_33.1: = impl_witness %I.impl_witness_table, @T.as_type.as.I.impl(constants.%T.e40) [symbolic = %I.impl_witness.loc7_33.2 (constants.%I.impl_witness.b7c)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .F = %T.as_type.as.I.impl.F.decl @@ -265,18 +265,18 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as_type.loc12_31.2: type = facet_access_type %T.loc12_18.1 [symbolic = %T.as_type.loc12_31.2 (constants.%T.as_type.d90)] // CHECK:STDOUT: %.loc12_31.2: require_specific_def_type = require_specific_def @T.as_type.as.I.impl(%T.loc12_18.1) [symbolic = %.loc12_31.2 (constants.%.062)] -// CHECK:STDOUT: %I.impl_witness: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%T.loc12_18.1) [symbolic = %I.impl_witness (constants.%I.impl_witness.333)] -// CHECK:STDOUT: %I.facet.loc12_31.2: %I.type = facet_value %T.as_type.loc12_31.2, (%I.impl_witness) [symbolic = %I.facet.loc12_31.2 (constants.%I.facet.39f)] -// CHECK:STDOUT: %UseI.specific_fn.loc12_25.2: = specific_function constants.%UseI, @UseI(%I.facet.loc12_31.2) [symbolic = %UseI.specific_fn.loc12_25.2 (constants.%UseI.specific_fn.081)] +// CHECK:STDOUT: %I.impl_witness: = impl_witness @T.as_type.as.I.impl.%I.impl_witness_table, @T.as_type.as.I.impl(%T.loc12_18.1) [symbolic = %I.impl_witness (constants.%I.impl_witness.b7c)] +// CHECK:STDOUT: %I.facet.loc12_31.2: %I.type = facet_value %T.as_type.loc12_31.2, (%I.impl_witness) [symbolic = %I.facet.loc12_31.2 (constants.%I.facet.948)] +// CHECK:STDOUT: %UseI.specific_fn.loc12_25.2: = specific_function constants.%UseI, @UseI(%I.facet.loc12_31.2) [symbolic = %UseI.specific_fn.loc12_25.2 (constants.%UseI.specific_fn.68a)] // CHECK:STDOUT: // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %UseI.ref: %UseI.type = name_ref UseI, file.%UseI.decl [concrete = constants.%UseI] // CHECK:STDOUT: %T.ref: %J.type = name_ref T, %T.loc12_18.2 [symbolic = %T.loc12_18.1 (constants.%T.e40)] // CHECK:STDOUT: %T.as_type.loc12_31.1: type = facet_access_type %T.ref [symbolic = %T.as_type.loc12_31.2 (constants.%T.as_type.d90)] -// CHECK:STDOUT: %I.facet.loc12_31.1: %I.type = facet_value %T.as_type.loc12_31.1, (constants.%I.impl_witness.333) [symbolic = %I.facet.loc12_31.2 (constants.%I.facet.39f)] -// CHECK:STDOUT: %.loc12_31.1: %I.type = converted %T.ref, %I.facet.loc12_31.1 [symbolic = %I.facet.loc12_31.2 (constants.%I.facet.39f)] -// CHECK:STDOUT: %UseI.specific_fn.loc12_25.1: = specific_function %UseI.ref, @UseI(constants.%I.facet.39f) [symbolic = %UseI.specific_fn.loc12_25.2 (constants.%UseI.specific_fn.081)] +// CHECK:STDOUT: %I.facet.loc12_31.1: %I.type = facet_value %T.as_type.loc12_31.1, (constants.%I.impl_witness.b7c) [symbolic = %I.facet.loc12_31.2 (constants.%I.facet.948)] +// CHECK:STDOUT: %.loc12_31.1: %I.type = converted %T.ref, %I.facet.loc12_31.1 [symbolic = %I.facet.loc12_31.2 (constants.%I.facet.948)] +// CHECK:STDOUT: %UseI.specific_fn.loc12_25.1: = specific_function %UseI.ref, @UseI(constants.%I.facet.948) [symbolic = %UseI.specific_fn.loc12_25.2 (constants.%UseI.specific_fn.68a)] // CHECK:STDOUT: %UseI.call: init %empty_tuple.type = call %UseI.specific_fn.loc12_25.1() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -311,7 +311,7 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %T.loc7_21.1 => constants.%T.e40 // CHECK:STDOUT: %T.as_type.loc7_26.1 => constants.%T.as_type.d90 // CHECK:STDOUT: %.loc7_33 => constants.%.d3d -// CHECK:STDOUT: %I.impl_witness.loc7_33.2 => constants.%I.impl_witness.333 +// CHECK:STDOUT: %I.impl_witness.loc7_33.2 => constants.%I.impl_witness.b7c // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.f53 @@ -322,14 +322,14 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.39f) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.948) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.39f -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.12f -// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.a78 +// CHECK:STDOUT: %Self => constants.%I.facet.948 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.117 +// CHECK:STDOUT: %I.WithSelf.F => constants.%I.WithSelf.F.caa // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.39f) {} +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.948) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @UseI(constants.%T.dda) { // CHECK:STDOUT: %T.patt.loc11_18.2 => constants.%T.patt.1df @@ -350,15 +350,15 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %T.loc12_18.1 => constants.%T.e40 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @UseI(constants.%I.facet.39f) { +// CHECK:STDOUT: specific @UseI(constants.%I.facet.948) { // CHECK:STDOUT: %T.patt.loc11_18.2 => constants.%T.patt.1df -// CHECK:STDOUT: %T.loc11_18.1 => constants.%I.facet.39f +// CHECK:STDOUT: %T.loc11_18.1 => constants.%I.facet.948 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as_type.loc11_26.2 => constants.%T.as_type.d90 -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.12f -// CHECK:STDOUT: %.loc11_26.2 => constants.%.c2e -// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.333 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.117 +// CHECK:STDOUT: %.loc11_26.2 => constants.%.d61 +// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.b7c // CHECK:STDOUT: %impl.elem0.loc11_26.2 => constants.%T.as_type.as.I.impl.F.305 // CHECK:STDOUT: %specific_impl_fn.loc11_26.2 => constants.%T.as_type.as.I.impl.F.specific_fn.925 // CHECK:STDOUT: } @@ -373,10 +373,10 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as_type.loc12_31.2 => constants.%C -// CHECK:STDOUT: %.loc12_31.2 => constants.%.72e -// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.9d5 -// CHECK:STDOUT: %I.facet.loc12_31.2 => constants.%I.facet.ed7 -// CHECK:STDOUT: %UseI.specific_fn.loc12_25.2 => constants.%UseI.specific_fn.238 +// CHECK:STDOUT: %.loc12_31.2 => constants.%.3f3 +// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.324 +// CHECK:STDOUT: %I.facet.loc12_31.2 => constants.%I.facet.a00 +// CHECK:STDOUT: %UseI.specific_fn.loc12_25.2 => constants.%UseI.specific_fn.af1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as_type.as.I.impl(constants.%J.facet) { @@ -384,29 +384,29 @@ fn Use() { UseJ(C); } // CHECK:STDOUT: %T.loc7_21.1 => constants.%J.facet // CHECK:STDOUT: %T.as_type.loc7_26.1 => constants.%C // CHECK:STDOUT: %.loc7_33 => constants.%.b7f -// CHECK:STDOUT: %I.impl_witness.loc7_33.2 => constants.%I.impl_witness.9d5 +// CHECK:STDOUT: %I.impl_witness.loc7_33.2 => constants.%I.impl_witness.324 // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.907 -// CHECK:STDOUT: %T.as_type.as.I.impl.F => constants.%T.as_type.as.I.impl.F.b2b +// CHECK:STDOUT: %T.as_type.as.I.impl.F.type => constants.%T.as_type.as.I.impl.F.type.dbc +// CHECK:STDOUT: %T.as_type.as.I.impl.F => constants.%T.as_type.as.I.impl.F.60c // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @UseI(constants.%I.facet.ed7) { +// CHECK:STDOUT: specific @UseI(constants.%I.facet.a00) { // CHECK:STDOUT: %T.patt.loc11_18.2 => constants.%T.patt.1df -// CHECK:STDOUT: %T.loc11_18.1 => constants.%I.facet.ed7 +// CHECK:STDOUT: %T.loc11_18.1 => constants.%I.facet.a00 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as_type.loc11_26.2 => constants.%C -// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.31e -// CHECK:STDOUT: %.loc11_26.2 => constants.%.7bd -// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.9d5 -// CHECK:STDOUT: %impl.elem0.loc11_26.2 => constants.%T.as_type.as.I.impl.F.b2b -// CHECK:STDOUT: %specific_impl_fn.loc11_26.2 => constants.%T.as_type.as.I.impl.F.specific_fn.2e2 +// CHECK:STDOUT: %I.WithSelf.F.type => constants.%I.WithSelf.F.type.46b +// CHECK:STDOUT: %.loc11_26.2 => constants.%.c12 +// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.324 +// CHECK:STDOUT: %impl.elem0.loc11_26.2 => constants.%T.as_type.as.I.impl.F.60c +// CHECK:STDOUT: %specific_impl_fn.loc11_26.2 => constants.%T.as_type.as.I.impl.F.specific_fn.5d6 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.ed7) {} +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.a00) {} // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.ed7) {} +// CHECK:STDOUT: specific @I.WithSelf.F(constants.%I.facet.a00) {} // CHECK:STDOUT: // CHECK:STDOUT: specific @T.as_type.as.I.impl.F(constants.%J.facet) { // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/interface/generic.carbon b/toolchain/check/testdata/interface/generic.carbon index 74d4f7e84574..6e5fa125d4eb 100644 --- a/toolchain/check/testdata/interface/generic.carbon +++ b/toolchain/check/testdata/interface/generic.carbon @@ -121,8 +121,8 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: %C.as.WithAssocFn.impl.F.type: type = fn_type @C.as.WithAssocFn.impl.F [concrete] // CHECK:STDOUT: %C.as.WithAssocFn.impl.F: %C.as.WithAssocFn.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %WithAssocFn.facet: %WithAssocFn.type.5fd = facet_value %C, (%WithAssocFn.impl_witness) [concrete] -// CHECK:STDOUT: %WithAssocFn.WithSelf.F.type.7cf: type = fn_type @WithAssocFn.WithSelf.F, @WithAssocFn.WithSelf(%C, %WithAssocFn.facet) [concrete] -// CHECK:STDOUT: %WithAssocFn.WithSelf.F.9fa: %WithAssocFn.WithSelf.F.type.7cf = struct_value () [concrete] +// CHECK:STDOUT: %WithAssocFn.WithSelf.F.type.268: type = fn_type @WithAssocFn.WithSelf.F, @WithAssocFn.WithSelf(%C, %WithAssocFn.facet) [concrete] +// CHECK:STDOUT: %WithAssocFn.WithSelf.F.5e7: %WithAssocFn.WithSelf.F.type.268 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %X.val: %X = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T.67d [symbolic] @@ -438,8 +438,8 @@ fn F(unused generic T: Generic((), ())) {} // CHECK:STDOUT: %T => constants.%C // CHECK:STDOUT: %WithAssocFn.type => constants.%WithAssocFn.type.5fd // CHECK:STDOUT: %Self => constants.%WithAssocFn.facet -// CHECK:STDOUT: %WithAssocFn.WithSelf.F.type => constants.%WithAssocFn.WithSelf.F.type.7cf -// CHECK:STDOUT: %WithAssocFn.WithSelf.F => constants.%WithAssocFn.WithSelf.F.9fa +// CHECK:STDOUT: %WithAssocFn.WithSelf.F.type => constants.%WithAssocFn.WithSelf.F.type.268 +// CHECK:STDOUT: %WithAssocFn.WithSelf.F => constants.%WithAssocFn.WithSelf.F.5e7 // CHECK:STDOUT: %WithAssocFn.assoc_type => constants.%WithAssocFn.assoc_type.c3e // CHECK:STDOUT: %assoc0.loc10_14.2 => constants.%assoc0.d90 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/generic_import.carbon b/toolchain/check/testdata/interface/generic_import.carbon index b1907f6a5279..ea3aa86d5e7b 100644 --- a/toolchain/check/testdata/interface/generic_import.carbon +++ b/toolchain/check/testdata/interface/generic_import.carbon @@ -128,8 +128,8 @@ impl C as AddWith(C) { // CHECK:STDOUT: %C.as.AddWith.impl.F.type: type = fn_type @C.as.AddWith.impl.F [concrete] // CHECK:STDOUT: %C.as.AddWith.impl.F: %C.as.AddWith.impl.F.type = struct_value () [concrete] // CHECK:STDOUT: %AddWith.facet: %AddWith.type.236 = facet_value %C, (%AddWith.impl_witness) [concrete] -// CHECK:STDOUT: %AddWith.WithSelf.F.type.3e6: type = fn_type @AddWith.WithSelf.F, @AddWith.WithSelf(%C, %AddWith.facet) [concrete] -// CHECK:STDOUT: %AddWith.WithSelf.F.8e0: %AddWith.WithSelf.F.type.3e6 = struct_value () [concrete] +// CHECK:STDOUT: %AddWith.WithSelf.F.type.ece: type = fn_type @AddWith.WithSelf.F, @AddWith.WithSelf(%C, %AddWith.facet) [concrete] +// CHECK:STDOUT: %AddWith.WithSelf.F.7b5: %AddWith.WithSelf.F.type.ece = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -239,8 +239,8 @@ impl C as AddWith(C) { // CHECK:STDOUT: %T => constants.%C // CHECK:STDOUT: %AddWith.type => constants.%AddWith.type.236 // CHECK:STDOUT: %Self => constants.%AddWith.facet -// CHECK:STDOUT: %AddWith.WithSelf.F.type => constants.%AddWith.WithSelf.F.type.3e6 -// CHECK:STDOUT: %AddWith.WithSelf.F => constants.%AddWith.WithSelf.F.8e0 +// CHECK:STDOUT: %AddWith.WithSelf.F.type => constants.%AddWith.WithSelf.F.type.ece +// CHECK:STDOUT: %AddWith.WithSelf.F => constants.%AddWith.WithSelf.F.7b5 // CHECK:STDOUT: %AddWith.assoc_type => constants.%AddWith.assoc_type.cec // CHECK:STDOUT: %assoc0 => constants.%assoc0.b8b // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/generic_method.carbon b/toolchain/check/testdata/interface/generic_method.carbon index 49416cba6bc1..ebeeb47ab0f3 100644 --- a/toolchain/check/testdata/interface/generic_method.carbon +++ b/toolchain/check/testdata/interface/generic_method.carbon @@ -143,11 +143,11 @@ fn CallIndirect() { // CHECK:STDOUT: %return.patt.f2f: %pattern_type.178 = return_slot_pattern %return.param_patt.b96, %tuple.type.316 [symbolic] // CHECK:STDOUT: %Y.as.A.impl.F.type: type = fn_type @Y.as.A.impl.F [concrete] // CHECK:STDOUT: %Y.as.A.impl.F: %Y.as.A.impl.F.type = struct_value () [concrete] -// CHECK:STDOUT: %A.facet.c65: %A.type.df0 = facet_value %Y, (%A.impl_witness) [concrete] -// CHECK:STDOUT: %A.WithSelf.F.type.22c: type = fn_type @A.WithSelf.F, @A.WithSelf(%X, %A.facet.c65) [concrete] -// CHECK:STDOUT: %A.WithSelf.F.06a: %A.WithSelf.F.type.22c = struct_value () [concrete] +// CHECK:STDOUT: %A.facet.d1f: %A.type.df0 = facet_value %Y, (%A.impl_witness) [concrete] +// CHECK:STDOUT: %A.WithSelf.F.type.781: type = fn_type @A.WithSelf.F, @A.WithSelf(%X, %A.facet.d1f) [concrete] +// CHECK:STDOUT: %A.WithSelf.F.b66: %A.WithSelf.F.type.781 = struct_value () [concrete] // CHECK:STDOUT: %tuple.type.966: type = tuple_type (type, %A.type.df0, type) [concrete] -// CHECK:STDOUT: %tuple.7f7: %tuple.type.966 = tuple_value (%X, %A.facet.c65, %ptr.e8f8f9.1) [symbolic] +// CHECK:STDOUT: %tuple.9e0: %tuple.type.966 = tuple_value (%X, %A.facet.d1f, %ptr.e8f8f9.1) [symbolic] // CHECK:STDOUT: %require_complete.ef162c.1: = require_complete_type %ptr.e8f8f9.1 [symbolic] // CHECK:STDOUT: %require_complete.44f: = require_complete_type %tuple.type.316 [symbolic] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] @@ -159,11 +159,11 @@ fn CallIndirect() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce912e.1: %ptr.as.Copy.impl.Op.type.ff5f0d.1 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.lookup_impl_witness.1da: = lookup_impl_witness %ptr.e8f8f9.1, @Copy [symbolic] // CHECK:STDOUT: %.0e9: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%U.67d) [symbolic] -// CHECK:STDOUT: %Copy.facet.302b: %Copy.type = facet_value %ptr.e8f8f9.1, (%Copy.lookup_impl_witness.1da) [symbolic] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.884: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302b) [symbolic] -// CHECK:STDOUT: %.be5: type = fn_type_with_self_type %Copy.WithSelf.Op.type.884, %Copy.facet.302b [symbolic] +// CHECK:STDOUT: %Copy.facet.302: %Copy.type = facet_value %ptr.e8f8f9.1, (%Copy.lookup_impl_witness.1da) [symbolic] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.884: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302) [symbolic] +// CHECK:STDOUT: %.be5: type = fn_type_with_self_type %Copy.WithSelf.Op.type.884, %Copy.facet.302 [symbolic] // CHECK:STDOUT: %impl.elem0.484: %.be5 = impl_witness_access %Copy.lookup_impl_witness.1da, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.a76: = specific_impl_function %impl.elem0.484, @Copy.WithSelf.Op(%Copy.facet.302b) [symbolic] +// CHECK:STDOUT: %specific_impl_fn.a76: = specific_impl_function %impl.elem0.484, @Copy.WithSelf.Op(%Copy.facet.302) [symbolic] // CHECK:STDOUT: %Call.type: type = fn_type @Call [concrete] // CHECK:STDOUT: %Call: %Call.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.34e: type = pattern_type %Z [concrete] @@ -172,12 +172,12 @@ fn CallIndirect() { // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e88: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%Z) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.88e: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%Z) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.1d9: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%Z) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.f06: %T.as.DefaultOrUnformed.impl.Op.type.1d9 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Z, (%DefaultOrUnformed.impl_witness.e88) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %Z, (%DefaultOrUnformed.impl_witness.88e) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.f06, @T.as.DefaultOrUnformed.impl.Op(%Z) [concrete] -// CHECK:STDOUT: %.7d5: type = fn_type_with_self_type %A.WithSelf.F.type.22c, %A.facet.c65 [concrete] +// CHECK:STDOUT: %.261: type = fn_type_with_self_type %A.WithSelf.F.type.781, %A.facet.d1f [concrete] // CHECK:STDOUT: %ptr.415: type = ptr_type %Z [concrete] // CHECK:STDOUT: %pattern_type.b4b: type = pattern_type %ptr.415 [concrete] // CHECK:STDOUT: %u.param_patt.5c1: %pattern_type.b4b = value_param_pattern [concrete] @@ -206,8 +206,8 @@ fn CallIndirect() { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %A.type.df0, %type.as.BitAndWith.impl.Op [concrete] @@ -247,15 +247,15 @@ fn CallIndirect() { // CHECK:STDOUT: %complete_type.458: = complete_type_witness %ptr.415 [concrete] // CHECK:STDOUT: %complete_type.dec: = complete_type_witness %tuple.type.2cd [concrete] // CHECK:STDOUT: %tuple.type.2c5: type = tuple_type (%empty_struct_type, %empty_struct_type, %ptr.415) [concrete] -// CHECK:STDOUT: %Copy.impl_witness.d9a: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Z) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.cff: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Z) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.905: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Z) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ebe: %ptr.as.Copy.impl.Op.type.905 = struct_value () [concrete] // CHECK:STDOUT: %.072: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%Z) [concrete] -// CHECK:STDOUT: %Copy.facet.302f: %Copy.type = facet_value %ptr.415, (%Copy.impl_witness.d9a) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.b68: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.302f) [concrete] -// CHECK:STDOUT: %.6df: type = fn_type_with_self_type %Copy.WithSelf.Op.type.b68, %Copy.facet.302f [concrete] +// CHECK:STDOUT: %Copy.facet.9c6: %Copy.type = facet_value %ptr.415, (%Copy.impl_witness.cff) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.107: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.9c6) [concrete] +// CHECK:STDOUT: %.08f: type = fn_type_with_self_type %Copy.WithSelf.Op.type.107, %Copy.facet.9c6 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.ebe, @ptr.as.Copy.impl.Op(%Z) [concrete] -// CHECK:STDOUT: %tuple.1b5: %tuple.type.966 = tuple_value (%X, %A.facet.c65, %ptr.415) [concrete] +// CHECK:STDOUT: %tuple.a3a: %tuple.type.966 = tuple_value (%X, %A.facet.d1f, %ptr.415) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -269,10 +269,10 @@ fn CallIndirect() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5f0d.1) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce912e.1)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.BitAndWith: %BitAndWith.type.a06 = import_ref Core//prelude/parts/as, BitAndWith, loaded [concrete = constants.%BitAndWith.generic] // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.BitAndWith.impl.Op.type = import_ref Core//prelude/parts/as, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.BitAndWith.impl.Op] @@ -321,7 +321,7 @@ fn CallIndirect() { // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(constants.%X)> [concrete = constants.%A.type.df0] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Destroy.ref: type = name_ref Destroy, imports.%Core.Destroy [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %impl.elem0.loc26: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc26: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc26: = bound_method %A.type, %impl.elem0.loc26 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method.loc26(%A.type, %Destroy.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc26_32.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -497,7 +497,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type.loc17: type = tuple_type (constants.%empty_struct_type, constants.%empty_struct_type, %ptr.loc16_29.1) [symbolic = %tuple.type.loc17 (constants.%tuple.type.dd2)] // CHECK:STDOUT: %.loc17_21.3: require_specific_def_type = require_specific_def @ptr.as.Copy.impl(%U.loc16_17.1) [symbolic = %.loc17_21.3 (constants.%.0e9)] // CHECK:STDOUT: %Copy.lookup_impl_witness: = lookup_impl_witness %ptr.loc16_29.1, @Copy [symbolic = %Copy.lookup_impl_witness (constants.%Copy.lookup_impl_witness.1da)] -// CHECK:STDOUT: %Copy.facet.loc17_21.3: %Copy.type = facet_value %ptr.loc16_29.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302b)] +// CHECK:STDOUT: %Copy.facet.loc17_21.3: %Copy.type = facet_value %ptr.loc16_29.1, (%Copy.lookup_impl_witness) [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302)] // CHECK:STDOUT: %Copy.WithSelf.Op.type: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.loc17_21.3) [symbolic = %Copy.WithSelf.Op.type (constants.%Copy.WithSelf.Op.type.884)] // CHECK:STDOUT: %.loc17_21.4: type = fn_type_with_self_type %Copy.WithSelf.Op.type, %Copy.facet.loc17_21.3 [symbolic = %.loc17_21.4 (constants.%.be5)] // CHECK:STDOUT: %impl.elem0.loc17_21.2: @Y.as.A.impl.F.%.loc17_21.4 (%.be5) = impl_witness_access %Copy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc17_21.2 (constants.%impl.elem0.484)] @@ -517,11 +517,11 @@ fn CallIndirect() { // CHECK:STDOUT: %.loc17_22.3: init %Y = converted %.loc17_18.1, %.loc17_18.2 [concrete = constants.%Y.val] // CHECK:STDOUT: %impl.elem0.loc17_21.1: @Y.as.A.impl.F.%.loc17_21.4 (%.be5) = impl_witness_access constants.%Copy.lookup_impl_witness.1da, element0 [symbolic = %impl.elem0.loc17_21.2 (constants.%impl.elem0.484)] // CHECK:STDOUT: %bound_method.loc17_21.1: = bound_method %u.ref, %impl.elem0.loc17_21.1 -// CHECK:STDOUT: %Copy.facet.loc17_21.1: %Copy.type = facet_value constants.%ptr.e8f8f9.1, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302b)] -// CHECK:STDOUT: %.loc17_21.1: %Copy.type = converted constants.%ptr.e8f8f9.1, %Copy.facet.loc17_21.1 [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302b)] -// CHECK:STDOUT: %Copy.facet.loc17_21.2: %Copy.type = facet_value constants.%ptr.e8f8f9.1, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302b)] -// CHECK:STDOUT: %.loc17_21.2: %Copy.type = converted constants.%ptr.e8f8f9.1, %Copy.facet.loc17_21.2 [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302b)] -// CHECK:STDOUT: %specific_impl_fn.loc17_21.1: = specific_impl_function %impl.elem0.loc17_21.1, @Copy.WithSelf.Op(constants.%Copy.facet.302b) [symbolic = %specific_impl_fn.loc17_21.2 (constants.%specific_impl_fn.a76)] +// CHECK:STDOUT: %Copy.facet.loc17_21.1: %Copy.type = facet_value constants.%ptr.e8f8f9.1, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302)] +// CHECK:STDOUT: %.loc17_21.1: %Copy.type = converted constants.%ptr.e8f8f9.1, %Copy.facet.loc17_21.1 [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302)] +// CHECK:STDOUT: %Copy.facet.loc17_21.2: %Copy.type = facet_value constants.%ptr.e8f8f9.1, (constants.%Copy.lookup_impl_witness.1da) [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302)] +// CHECK:STDOUT: %.loc17_21.2: %Copy.type = converted constants.%ptr.e8f8f9.1, %Copy.facet.loc17_21.2 [symbolic = %Copy.facet.loc17_21.3 (constants.%Copy.facet.302)] +// CHECK:STDOUT: %specific_impl_fn.loc17_21.1: = specific_impl_function %impl.elem0.loc17_21.1, @Copy.WithSelf.Op(constants.%Copy.facet.302) [symbolic = %specific_impl_fn.loc17_21.2 (constants.%specific_impl_fn.a76)] // CHECK:STDOUT: %bound_method.loc17_21.2: = bound_method %u.ref, %specific_impl_fn.loc17_21.1 // CHECK:STDOUT: %Copy.WithSelf.Op.call: init @Y.as.A.impl.F.%ptr.loc16_29.1 (%ptr.e8f8f9.1) = call %bound_method.loc17_21.2(%u.ref) // CHECK:STDOUT: %tuple.elem2: ref @Y.as.A.impl.F.%ptr.loc16_29.1 (%ptr.e8f8f9.1) = tuple_access %return.param, element2 @@ -535,7 +535,7 @@ fn CallIndirect() { // CHECK:STDOUT: fn @Call() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %u.var: ref %Z = var_storage %u.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Z, (constants.%DefaultOrUnformed.impl_witness.e88) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Z, (constants.%DefaultOrUnformed.impl_witness.88e) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc22_11.1: %DefaultOrUnformed.type = converted constants.%Z, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type.loc22: type = facet_access_type %.loc22_11.1 [concrete = constants.%Z] // CHECK:STDOUT: %.loc22_11.2: type = converted %.loc22_11.1, %as_type.loc22 [concrete = constants.%Z] @@ -553,13 +553,13 @@ fn CallIndirect() { // CHECK:STDOUT: %A.ref: %A.type.55a = 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.df0] -// CHECK:STDOUT: %A.facet: %A.type.df0 = facet_value %Y.ref, (constants.%A.impl_witness) [concrete = constants.%A.facet.c65] -// CHECK:STDOUT: %.loc23_6: %A.type.df0 = converted %Y.ref, %A.facet [concrete = constants.%A.facet.c65] +// CHECK:STDOUT: %A.facet: %A.type.df0 = facet_value %Y.ref, (constants.%A.impl_witness) [concrete = constants.%A.facet.d1f] +// CHECK:STDOUT: %.loc23_6: %A.type.df0 = converted %Y.ref, %A.facet [concrete = constants.%A.facet.d1f] // CHECK:STDOUT: %as_type.loc23: type = facet_access_type %.loc23_6 [concrete = constants.%Y] // CHECK:STDOUT: %.loc23_14.1: type = converted %.loc23_6, %as_type.loc23 [concrete = constants.%Y] -// CHECK:STDOUT: %.loc23_14.2: %A.assoc_type.a54 = specific_constant @A.WithSelf.%assoc0.loc6_48.1, @A.WithSelf(constants.%X, constants.%A.facet.c65) [concrete = constants.%assoc0.987] +// CHECK:STDOUT: %.loc23_14.2: %A.assoc_type.a54 = specific_constant @A.WithSelf.%assoc0.loc6_48.1, @A.WithSelf(constants.%X, constants.%A.facet.d1f) [concrete = constants.%assoc0.987] // CHECK:STDOUT: %F.ref: %A.assoc_type.a54 = name_ref F, %.loc23_14.2 [concrete = constants.%assoc0.987] -// CHECK:STDOUT: %impl.elem0: %.7d5 = impl_witness_access constants.%A.impl_witness, element0 [concrete = constants.%Y.as.A.impl.F] +// CHECK:STDOUT: %impl.elem0: %.261 = impl_witness_access constants.%A.impl_witness, element0 [concrete = constants.%Y.as.A.impl.F] // CHECK:STDOUT: %Z.ref.loc23: type = name_ref Z, file.%Z.decl [concrete = constants.%Z] // CHECK:STDOUT: %u.ref: ref %Z = name_ref u, %u // CHECK:STDOUT: %addr: %ptr.415 = addr_of %u.ref @@ -622,7 +622,7 @@ fn CallIndirect() { // CHECK:STDOUT: fn() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %u.var: ref %Z = var_storage %u.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Z, (constants.%DefaultOrUnformed.impl_witness.e88) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%Z, (constants.%DefaultOrUnformed.impl_witness.88e) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc27_11.1: %DefaultOrUnformed.type = converted constants.%Z, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc27_11.1 [concrete = constants.%Z] // CHECK:STDOUT: %.loc27_11.2: type = converted %.loc27_11.1, %as_type [concrete = constants.%Z] @@ -737,18 +737,18 @@ fn CallIndirect() { // CHECK:STDOUT: %return.patt.loc16_32.2 => constants.%return.patt.f2f // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.WithSelf(constants.%X, constants.%A.facet.c65) { +// CHECK:STDOUT: specific @A.WithSelf(constants.%X, constants.%A.facet.d1f) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 -// CHECK:STDOUT: %Self => constants.%A.facet.c65 -// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.22c -// CHECK:STDOUT: %A.WithSelf.F => constants.%A.WithSelf.F.06a +// CHECK:STDOUT: %Self => constants.%A.facet.d1f +// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.781 +// CHECK:STDOUT: %A.WithSelf.F => constants.%A.WithSelf.F.b66 // CHECK:STDOUT: %A.assoc_type => constants.%A.assoc_type.a54 // CHECK:STDOUT: %assoc0.loc6_48.2 => constants.%assoc0.987 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.c65, constants.%U.67d) { +// CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.d1f, constants.%U.67d) { // CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 // CHECK:STDOUT: %U.loc6_17.1 => constants.%U.67d // CHECK:STDOUT: %ptr.loc6_29.1 => constants.%ptr.e8f8f9.1 @@ -757,9 +757,9 @@ fn CallIndirect() { // CHECK:STDOUT: %u.patt.loc6_26.2 => constants.%u.patt.542 // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 -// CHECK:STDOUT: %Self => constants.%A.facet.c65 +// CHECK:STDOUT: %Self => constants.%A.facet.d1f // CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.966 -// CHECK:STDOUT: %tuple => constants.%tuple.7f7 +// CHECK:STDOUT: %tuple => constants.%tuple.9e0 // CHECK:STDOUT: %Self.as_type.loc6_47.1 => constants.%Y // CHECK:STDOUT: %tuple.type.loc6_47.2 => constants.%tuple.type.316 // CHECK:STDOUT: %.loc6_47.1 => constants.%.3c1 @@ -787,10 +787,10 @@ fn CallIndirect() { // CHECK:STDOUT: %require_complete.loc16_32 => constants.%complete_type.dec // CHECK:STDOUT: %tuple.type.loc17 => constants.%tuple.type.2c5 // CHECK:STDOUT: %.loc17_21.3 => constants.%.072 -// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.d9a -// CHECK:STDOUT: %Copy.facet.loc17_21.3 => constants.%Copy.facet.302f -// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.b68 -// CHECK:STDOUT: %.loc17_21.4 => constants.%.6df +// CHECK:STDOUT: %Copy.lookup_impl_witness => constants.%Copy.impl_witness.cff +// CHECK:STDOUT: %Copy.facet.loc17_21.3 => constants.%Copy.facet.9c6 +// CHECK:STDOUT: %Copy.WithSelf.Op.type => constants.%Copy.WithSelf.Op.type.107 +// CHECK:STDOUT: %.loc17_21.4 => constants.%.08f // CHECK:STDOUT: %impl.elem0.loc17_21.2 => constants.%ptr.as.Copy.impl.Op.ebe // CHECK:STDOUT: %specific_impl_fn.loc17_21.2 => constants.%ptr.as.Copy.impl.Op.specific_fn // CHECK:STDOUT: } @@ -849,9 +849,9 @@ fn CallIndirect() { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as_type.loc28_4.2 => constants.%Y // CHECK:STDOUT: %A.lookup_impl_witness => constants.%A.impl_witness -// CHECK:STDOUT: %A.facet => constants.%A.facet.c65 -// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.22c -// CHECK:STDOUT: %.loc28_4.3 => constants.%.7d5 +// CHECK:STDOUT: %A.facet => constants.%A.facet.d1f +// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.781 +// CHECK:STDOUT: %.loc28_4.3 => constants.%.261 // CHECK:STDOUT: %impl.elem0.loc28_4.2 => constants.%Y.as.A.impl.F // CHECK:STDOUT: %specific_impl_fn.loc28_4.2 => constants.%Y.as.A.impl.F.specific_fn // CHECK:STDOUT: %tuple.type => constants.%tuple.type.2cd @@ -864,7 +864,7 @@ fn CallIndirect() { // CHECK:STDOUT: %specific_impl_fn.loc28_12.2 => constants.%Destroy.Op.1a2547.5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.c65, constants.%Z) { +// CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.d1f, constants.%Z) { // CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 // CHECK:STDOUT: %U.loc6_17.1 => constants.%Z // CHECK:STDOUT: %ptr.loc6_29.1 => constants.%ptr.415 @@ -873,9 +873,9 @@ fn CallIndirect() { // CHECK:STDOUT: %u.patt.loc6_26.2 => constants.%u.patt.5b6 // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 -// CHECK:STDOUT: %Self => constants.%A.facet.c65 +// CHECK:STDOUT: %Self => constants.%A.facet.d1f // CHECK:STDOUT: %tuple.type.loc6_47.1 => constants.%tuple.type.966 -// CHECK:STDOUT: %tuple => constants.%tuple.1b5 +// CHECK:STDOUT: %tuple => constants.%tuple.a3a // CHECK:STDOUT: %Self.as_type.loc6_47.1 => constants.%Y // CHECK:STDOUT: %tuple.type.loc6_47.2 => constants.%tuple.type.2cd // CHECK:STDOUT: %.loc6_47.1 => constants.%.5bc @@ -931,7 +931,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type.a5e: type = tuple_type (%V1, %V2) [symbolic] // CHECK:STDOUT: %A.type.3ad: type = facet_type <@A, @A(%W)> [symbolic] // CHECK:STDOUT: %.b95: = impl_self_witness %tuple.type.a5e, @A, @A(%W) [symbolic] -// CHECK:STDOUT: %A.impl_witness.756: = impl_witness @tuple.type.as.A.impl.%A.impl_witness_table, @tuple.type.as.A.impl(%V1, %V2, %W) [symbolic] +// CHECK:STDOUT: %A.impl_witness.07b: = impl_witness @tuple.type.as.A.impl.%A.impl_witness_table, @tuple.type.as.A.impl(%V1, %V2, %W) [symbolic] // CHECK:STDOUT: %Self.0f8: %A.type.3ad = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %A.WithSelf.F.type.64e: type = fn_type @A.WithSelf.F, @A.WithSelf(%W, %Self.49a) [symbolic] // CHECK:STDOUT: %A.WithSelf.F.1fb: %A.WithSelf.F.type.64e = struct_value () [symbolic] @@ -952,11 +952,11 @@ fn CallIndirect() { // CHECK:STDOUT: %return.patt.bad9: %pattern_type.5cc = return_slot_pattern %return.param_patt.b1c, %tuple.type.897 [symbolic] // CHECK:STDOUT: %tuple.type.as.A.impl.F.type.44a: type = fn_type @tuple.type.as.A.impl.F, @tuple.type.as.A.impl(%V1, %V2, %W) [symbolic] // CHECK:STDOUT: %tuple.type.as.A.impl.F.742: %tuple.type.as.A.impl.F.type.44a = struct_value () [symbolic] -// CHECK:STDOUT: %A.facet.ab0: %A.type.3ad = facet_value %tuple.type.a5e, (%A.impl_witness.756) [symbolic] -// CHECK:STDOUT: %A.WithSelf.F.type.5f0: type = fn_type @A.WithSelf.F, @A.WithSelf(%W, %A.facet.ab0) [symbolic] -// CHECK:STDOUT: %A.WithSelf.F.147: %A.WithSelf.F.type.5f0 = struct_value () [symbolic] +// CHECK:STDOUT: %A.facet.de4: %A.type.3ad = facet_value %tuple.type.a5e, (%A.impl_witness.07b) [symbolic] +// CHECK:STDOUT: %A.WithSelf.F.type.3e0: type = fn_type @A.WithSelf.F, @A.WithSelf(%W, %A.facet.de4) [symbolic] +// CHECK:STDOUT: %A.WithSelf.F.43a: %A.WithSelf.F.type.3e0 = struct_value () [symbolic] // CHECK:STDOUT: %tuple.type.a90: type = tuple_type (type, %A.type.3ad, type) [symbolic] -// CHECK:STDOUT: %tuple.059: %tuple.type.a90 = tuple_value (%W, %A.facet.ab0, %U.ce4) [symbolic] +// CHECK:STDOUT: %tuple.14b: %tuple.type.a90 = tuple_value (%W, %A.facet.de4, %U.ce4) [symbolic] // CHECK:STDOUT: %require_complete.5a4: = require_complete_type %U.ce4 [symbolic] // CHECK:STDOUT: %require_complete.da0: = require_complete_type %tuple.type.897 [symbolic] // CHECK:STDOUT: %tuple.type.as.A.impl.F.specific_fn.37b: = specific_function %tuple.type.as.A.impl.F.742, @tuple.type.as.A.impl.F(%V1, %V2, %W, %U.ce4) [symbolic] @@ -966,7 +966,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type.59f: type = tuple_type (%Y1, %Y2) [concrete] // CHECK:STDOUT: %A.type.df0: type = facet_type <@A, @A(%X)> [concrete] // CHECK:STDOUT: %.de6: = impl_self_witness %tuple.type.59f, @A, @A(%X) [concrete] -// CHECK:STDOUT: %A.impl_witness.6b7: = impl_witness @tuple.type.as.A.impl.%A.impl_witness_table, @tuple.type.as.A.impl(%Y1, %Y2, %X) [concrete] +// CHECK:STDOUT: %A.impl_witness.0e0: = impl_witness @tuple.type.as.A.impl.%A.impl_witness_table, @tuple.type.as.A.impl(%Y1, %Y2, %X) [concrete] // CHECK:STDOUT: %Self.891: %A.type.df0 = symbolic_binding Self, 1 [symbolic] // CHECK:STDOUT: %A.WithSelf.F.type.ad4: type = fn_type @A.WithSelf.F, @A.WithSelf(%X, %Self.49a) [symbolic] // CHECK:STDOUT: %A.WithSelf.F.1e2: %A.WithSelf.F.type.ad4 = struct_value () [symbolic] @@ -975,10 +975,10 @@ fn CallIndirect() { // CHECK:STDOUT: %complete_type.e33: = complete_type_witness %A.type.df0 [concrete] // CHECK:STDOUT: %tuple.type.as.A.impl.F.type.745: type = fn_type @tuple.type.as.A.impl.F, @tuple.type.as.A.impl(%Y1, %Y2, %X) [concrete] // CHECK:STDOUT: %tuple.type.as.A.impl.F.749: %tuple.type.as.A.impl.F.type.745 = struct_value () [concrete] -// CHECK:STDOUT: %A.facet.682: %A.type.df0 = facet_value %tuple.type.59f, (%A.impl_witness.6b7) [concrete] -// CHECK:STDOUT: %A.WithSelf.F.type.243: type = fn_type @A.WithSelf.F, @A.WithSelf(%X, %A.facet.682) [concrete] -// CHECK:STDOUT: %A.WithSelf.F.5b5: %A.WithSelf.F.type.243 = struct_value () [concrete] -// CHECK:STDOUT: %.d9b: type = fn_type_with_self_type %A.WithSelf.F.type.243, %A.facet.682 [concrete] +// CHECK:STDOUT: %A.facet.89e: %A.type.df0 = facet_value %tuple.type.59f, (%A.impl_witness.0e0) [concrete] +// CHECK:STDOUT: %A.WithSelf.F.type.d74: type = fn_type @A.WithSelf.F, @A.WithSelf(%X, %A.facet.89e) [concrete] +// CHECK:STDOUT: %A.WithSelf.F.cd4: %A.WithSelf.F.type.d74 = struct_value () [concrete] +// CHECK:STDOUT: %.744: type = fn_type_with_self_type %A.WithSelf.F.type.d74, %A.facet.89e [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.34e: type = pattern_type %Z [concrete] // CHECK:STDOUT: %u.param_patt.a3e: %pattern_type.34e = value_param_pattern [concrete] @@ -1010,8 +1010,8 @@ fn CallIndirect() { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %A.type.df0, %type.as.BitAndWith.impl.Op [concrete] @@ -1047,10 +1047,10 @@ fn CallIndirect() { // CHECK:STDOUT: %specific_impl_fn.618: = specific_impl_function %impl.elem0.743, @Destroy.WithSelf.Op(%Destroy.facet.fef) [symbolic] // CHECK:STDOUT: %CallIndirect.type: type = fn_type @CallIndirect [concrete] // CHECK:STDOUT: %CallIndirect: %CallIndirect.type = struct_value () [concrete] -// CHECK:STDOUT: %facet_value: %facet_type = facet_value %tuple.type.59f, (%A.impl_witness.6b7, %custom_witness.df9cc1.5) [concrete] +// CHECK:STDOUT: %facet_value: %facet_type = facet_value %tuple.type.59f, (%A.impl_witness.0e0, %custom_witness.df9cc1.5) [concrete] // CHECK:STDOUT: %CallGeneric.specific_fn: = specific_function %CallGeneric, @CallGeneric(%facet_value) [concrete] // CHECK:STDOUT: %complete_type.8f6: = complete_type_witness %tuple.type.d40 [concrete] -// CHECK:STDOUT: %tuple.92c: %tuple.type.966 = tuple_value (%X, %A.facet.682, %Z) [concrete] +// CHECK:STDOUT: %tuple.918: %tuple.type.966 = tuple_value (%X, %A.facet.89e, %Z) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1132,7 +1132,7 @@ fn CallIndirect() { // CHECK:STDOUT: %A.type: type = facet_type <@A, @A(constants.%X)> [concrete = constants.%A.type.df0] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Destroy.ref: type = name_ref Destroy, imports.%Core.Destroy [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %impl.elem0.loc27: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc27: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method.loc27: = bound_method %A.type, %impl.elem0.loc27 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method.loc27(%A.type, %Destroy.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: %.loc27_32.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type] @@ -1210,7 +1210,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type: type = tuple_type (%V1.loc14_16.1, %V2.loc14_26.1) [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %A.type.loc14_58.1: type = facet_type <@A, @A(%W.loc14_35.1)> [symbolic = %A.type.loc14_58.1 (constants.%A.type.3ad)] // CHECK:STDOUT: %.loc14_60: = impl_self_witness %tuple.type, @A, @A(%W.loc14_35.1) [symbolic = %.loc14_60 (constants.%.b95)] -// CHECK:STDOUT: %A.impl_witness.loc14_60.2: = impl_witness %A.impl_witness_table, @tuple.type.as.A.impl(%V1.loc14_16.1, %V2.loc14_26.1, %W.loc14_35.1) [symbolic = %A.impl_witness.loc14_60.2 (constants.%A.impl_witness.756)] +// CHECK:STDOUT: %A.impl_witness.loc14_60.2: = impl_witness %A.impl_witness_table, @tuple.type.as.A.impl(%V1.loc14_16.1, %V2.loc14_26.1, %W.loc14_35.1) [symbolic = %A.impl_witness.loc14_60.2 (constants.%A.impl_witness.07b)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %A.type.loc14_58.1 [symbolic = %require_complete (constants.%require_complete.7b2)] @@ -1246,7 +1246,7 @@ fn CallIndirect() { // CHECK:STDOUT: %return: ref @tuple.type.as.A.impl.F.%tuple.type.loc17_49.2 (%tuple.type.897) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %A.impl_witness_table = impl_witness_table (%tuple.type.as.A.impl.F.decl), @tuple.type.as.A.impl [concrete] -// CHECK:STDOUT: %A.impl_witness.loc14_60.1: = impl_witness %A.impl_witness_table, @tuple.type.as.A.impl(constants.%V1, constants.%V2, constants.%W) [symbolic = %A.impl_witness.loc14_60.2 (constants.%A.impl_witness.756)] +// CHECK:STDOUT: %A.impl_witness.loc14_60.1: = impl_witness %A.impl_witness_table, @tuple.type.as.A.impl(constants.%V1, constants.%V2, constants.%W) [symbolic = %A.impl_witness.loc14_60.2 (constants.%A.impl_witness.07b)] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .W = @@ -1359,13 +1359,13 @@ fn CallIndirect() { // CHECK:STDOUT: %A.ref: %A.type.55a = 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.df0] -// CHECK:STDOUT: %A.facet: %A.type.df0 = facet_value %.loc24_14, (constants.%A.impl_witness.6b7) [concrete = constants.%A.facet.682] -// CHECK:STDOUT: %.loc24_23: %A.type.df0 = converted %.loc24_14, %A.facet [concrete = constants.%A.facet.682] +// CHECK:STDOUT: %A.facet: %A.type.df0 = facet_value %.loc24_14, (constants.%A.impl_witness.0e0) [concrete = constants.%A.facet.89e] +// CHECK:STDOUT: %.loc24_23: %A.type.df0 = converted %.loc24_14, %A.facet [concrete = constants.%A.facet.89e] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc24_23 [concrete = constants.%tuple.type.59f] // CHECK:STDOUT: %.loc24_31.1: type = converted %.loc24_23, %as_type [concrete = constants.%tuple.type.59f] -// CHECK:STDOUT: %.loc24_31.2: %A.assoc_type.a54 = specific_constant @A.WithSelf.%assoc0.loc6_46.1, @A.WithSelf(constants.%X, constants.%A.facet.682) [concrete = constants.%assoc0.987] +// CHECK:STDOUT: %.loc24_31.2: %A.assoc_type.a54 = specific_constant @A.WithSelf.%assoc0.loc6_46.1, @A.WithSelf(constants.%X, constants.%A.facet.89e) [concrete = constants.%assoc0.987] // CHECK:STDOUT: %F.ref: %A.assoc_type.a54 = name_ref F, %.loc24_31.2 [concrete = constants.%assoc0.987] -// CHECK:STDOUT: %impl.elem0: %.d9b = impl_witness_access constants.%A.impl_witness.6b7, element0 [concrete = constants.%tuple.type.as.A.impl.F.749] +// CHECK:STDOUT: %impl.elem0: %.744 = impl_witness_access constants.%A.impl_witness.0e0, element0 [concrete = constants.%tuple.type.as.A.impl.F.749] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z] // CHECK:STDOUT: %.loc24_38.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @tuple.type.as.A.impl.F(constants.%Y1, constants.%Y2, constants.%X, constants.%Z) [concrete = constants.%tuple.type.as.A.impl.F.specific_fn.981] @@ -1477,7 +1477,7 @@ fn CallIndirect() { // CHECK:STDOUT: %.loc33_22: %tuple.type.24b = tuple_literal (%Y1.ref, %Y2.ref) [concrete = constants.%tuple.8db] // CHECK:STDOUT: %.loc33_27: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc33_24: type = converted %.loc33_22, constants.%tuple.type.59f [concrete = constants.%tuple.type.59f] -// CHECK:STDOUT: %facet_value: %facet_type = facet_value %.loc33_24, (constants.%A.impl_witness.6b7, constants.%custom_witness.df9cc1.5) [concrete = constants.%facet_value] +// CHECK:STDOUT: %facet_value: %facet_type = facet_value %.loc33_24, (constants.%A.impl_witness.0e0, constants.%custom_witness.df9cc1.5) [concrete = constants.%facet_value] // CHECK:STDOUT: %.loc33_31: %facet_type = converted %.loc33_24, %facet_value [concrete = constants.%facet_value] // CHECK:STDOUT: %CallGeneric.specific_fn: = specific_function %CallGeneric.ref, @CallGeneric(constants.%facet_value) [concrete = constants.%CallGeneric.specific_fn] // CHECK:STDOUT: %CallGeneric.call: init %empty_tuple.type = call %CallGeneric.specific_fn() @@ -1530,7 +1530,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type => constants.%tuple.type.a5e // CHECK:STDOUT: %A.type.loc14_58.1 => constants.%A.type.3ad // CHECK:STDOUT: %.loc14_60 => constants.%.b95 -// CHECK:STDOUT: %A.impl_witness.loc14_60.2 => constants.%A.impl_witness.756 +// CHECK:STDOUT: %A.impl_witness.loc14_60.2 => constants.%A.impl_witness.07b // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%require_complete.7b2 @@ -1575,18 +1575,18 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type.as.A.impl.F.specific_fn.loc18_12.2 => constants.%tuple.type.as.A.impl.F.specific_fn.37b // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.WithSelf(constants.%W, constants.%A.facet.ab0) { +// CHECK:STDOUT: specific @A.WithSelf(constants.%W, constants.%A.facet.de4) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%W // CHECK:STDOUT: %A.type => constants.%A.type.3ad -// CHECK:STDOUT: %Self => constants.%A.facet.ab0 -// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.5f0 -// CHECK:STDOUT: %A.WithSelf.F => constants.%A.WithSelf.F.147 +// CHECK:STDOUT: %Self => constants.%A.facet.de4 +// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.3e0 +// CHECK:STDOUT: %A.WithSelf.F => constants.%A.WithSelf.F.43a // CHECK:STDOUT: %A.assoc_type => constants.%A.assoc_type.250 // CHECK:STDOUT: %assoc0.loc6_46.2 => constants.%assoc0.6de // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.WithSelf.F(constants.%W, constants.%A.facet.ab0, constants.%U.ce4) { +// CHECK:STDOUT: specific @A.WithSelf.F(constants.%W, constants.%A.facet.de4, constants.%U.ce4) { // CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 // CHECK:STDOUT: %U.loc6_17.1 => constants.%U.ce4 // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.e4a @@ -1594,9 +1594,9 @@ fn CallIndirect() { // CHECK:STDOUT: %u.patt.loc6_26.2 => constants.%u.patt.e63 // CHECK:STDOUT: %T => constants.%W // CHECK:STDOUT: %A.type => constants.%A.type.3ad -// CHECK:STDOUT: %Self => constants.%A.facet.ab0 +// CHECK:STDOUT: %Self => constants.%A.facet.de4 // CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.a90 -// CHECK:STDOUT: %tuple => constants.%tuple.059 +// CHECK:STDOUT: %tuple => constants.%tuple.14b // CHECK:STDOUT: %Self.as_type.loc6_45.1 => constants.%tuple.type.a5e // CHECK:STDOUT: %tuple.type.loc6_45.2 => constants.%tuple.type.897 // CHECK:STDOUT: %.loc6_45.1 => constants.%.f8e @@ -1625,7 +1625,7 @@ fn CallIndirect() { // CHECK:STDOUT: %tuple.type => constants.%tuple.type.59f // CHECK:STDOUT: %A.type.loc14_58.1 => constants.%A.type.df0 // CHECK:STDOUT: %.loc14_60 => constants.%.de6 -// CHECK:STDOUT: %A.impl_witness.loc14_60.2 => constants.%A.impl_witness.6b7 +// CHECK:STDOUT: %A.impl_witness.loc14_60.2 => constants.%A.impl_witness.0e0 // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type.e33 @@ -1644,13 +1644,13 @@ fn CallIndirect() { // CHECK:STDOUT: %assoc0.loc6_46.2 => constants.%assoc0.987 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.WithSelf(constants.%X, constants.%A.facet.682) { +// CHECK:STDOUT: specific @A.WithSelf(constants.%X, constants.%A.facet.89e) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 -// CHECK:STDOUT: %Self => constants.%A.facet.682 -// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.243 -// CHECK:STDOUT: %A.WithSelf.F => constants.%A.WithSelf.F.5b5 +// CHECK:STDOUT: %Self => constants.%A.facet.89e +// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.d74 +// CHECK:STDOUT: %A.WithSelf.F => constants.%A.WithSelf.F.cd4 // CHECK:STDOUT: %A.assoc_type => constants.%A.assoc_type.a54 // CHECK:STDOUT: %assoc0.loc6_46.2 => constants.%assoc0.987 // CHECK:STDOUT: } @@ -1733,10 +1733,10 @@ fn CallIndirect() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %T.as_type.loc28_4.2 => constants.%tuple.type.59f -// CHECK:STDOUT: %A.lookup_impl_witness => constants.%A.impl_witness.6b7 -// CHECK:STDOUT: %A.facet => constants.%A.facet.682 -// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.243 -// CHECK:STDOUT: %.loc28_4.3 => constants.%.d9b +// CHECK:STDOUT: %A.lookup_impl_witness => constants.%A.impl_witness.0e0 +// CHECK:STDOUT: %A.facet => constants.%A.facet.89e +// CHECK:STDOUT: %A.WithSelf.F.type => constants.%A.WithSelf.F.type.d74 +// CHECK:STDOUT: %.loc28_4.3 => constants.%.744 // CHECK:STDOUT: %impl.elem0.loc28_4.2 => constants.%tuple.type.as.A.impl.F.749 // CHECK:STDOUT: %specific_impl_fn.loc28_4.2 => constants.%tuple.type.as.A.impl.F.specific_fn.981 // CHECK:STDOUT: %tuple.type => constants.%tuple.type.d40 @@ -1749,7 +1749,7 @@ fn CallIndirect() { // CHECK:STDOUT: %specific_impl_fn.loc28_12.2 => constants.%Destroy.Op.1a2547.7 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.682, constants.%Z) { +// CHECK:STDOUT: specific @A.WithSelf.F(constants.%X, constants.%A.facet.89e, constants.%Z) { // CHECK:STDOUT: %U.patt.loc6_17.2 => constants.%U.patt.b22 // CHECK:STDOUT: %U.loc6_17.1 => constants.%Z // CHECK:STDOUT: %pattern_type.loc6_26 => constants.%pattern_type.34e @@ -1757,9 +1757,9 @@ fn CallIndirect() { // CHECK:STDOUT: %u.patt.loc6_26.2 => constants.%u.patt.a51 // CHECK:STDOUT: %T => constants.%X // CHECK:STDOUT: %A.type => constants.%A.type.df0 -// CHECK:STDOUT: %Self => constants.%A.facet.682 +// CHECK:STDOUT: %Self => constants.%A.facet.89e // CHECK:STDOUT: %tuple.type.loc6_45.1 => constants.%tuple.type.966 -// CHECK:STDOUT: %tuple => constants.%tuple.92c +// CHECK:STDOUT: %tuple => constants.%tuple.918 // CHECK:STDOUT: %Self.as_type.loc6_45.1 => constants.%tuple.type.59f // CHECK:STDOUT: %tuple.type.loc6_45.2 => constants.%tuple.type.d40 // CHECK:STDOUT: %.loc6_45.1 => constants.%.1a9 diff --git a/toolchain/check/testdata/interface/generic_vs_params.carbon b/toolchain/check/testdata/interface/generic_vs_params.carbon index 603e18871329..8f5ff553a170 100644 --- a/toolchain/check/testdata/interface/generic_vs_params.carbon +++ b/toolchain/check/testdata/interface/generic_vs_params.carbon @@ -112,9 +112,9 @@ interface Bar[T: type] {} // CHECK:STDOUT: %NotGenericButParams.facet: %NotGenericButParams.type.21c = facet_value %X, (%NotGenericButParams.impl_witness) [concrete] // CHECK:STDOUT: %GenericAndParams.type.8ab: type = facet_type <@GenericAndParams.loc6, @GenericAndParams.loc6(%X)> [concrete] // CHECK:STDOUT: %.bbd: = impl_self_witness %X, @GenericAndParams.loc6, @GenericAndParams.loc6(%X) [concrete] -// CHECK:STDOUT: %GenericAndParams.impl_witness.925: = impl_witness @X.as.GenericAndParams.impl.44a.%GenericAndParams.impl_witness_table [concrete] +// CHECK:STDOUT: %GenericAndParams.impl_witness.861: = impl_witness @X.as.GenericAndParams.impl.44a.%GenericAndParams.impl_witness_table [concrete] // CHECK:STDOUT: %Self.34f: %GenericAndParams.type.8ab = symbolic_binding Self, 1 [symbolic] -// CHECK:STDOUT: %GenericAndParams.facet.9e9: %GenericAndParams.type.8ab = facet_value %X, (%GenericAndParams.impl_witness.925) [concrete] +// CHECK:STDOUT: %GenericAndParams.facet.416: %GenericAndParams.type.8ab = facet_value %X, (%GenericAndParams.impl_witness.861) [concrete] // CHECK:STDOUT: %C.a43: type = class_type @C, @C(%X) [concrete] // CHECK:STDOUT: %GenericNoParams.type.670: type = facet_type <@GenericNoParams, @GenericNoParams(%X)> [concrete] // CHECK:STDOUT: %GenericAndParams.type.0ab: type = generic_interface_type @GenericAndParams.loc10, @C(%X) [concrete] @@ -125,9 +125,9 @@ interface Bar[T: type] {} // CHECK:STDOUT: %GenericNoParams.facet: %GenericNoParams.type.670 = facet_value %X, (%GenericNoParams.impl_witness) [concrete] // CHECK:STDOUT: %GenericAndParams.type.b2b: type = facet_type <@GenericAndParams.loc10, @GenericAndParams.loc10(%X, %X)> [concrete] // CHECK:STDOUT: %.364: = impl_self_witness %X, @GenericAndParams.loc10, @GenericAndParams.loc10(%X, %X) [concrete] -// CHECK:STDOUT: %GenericAndParams.impl_witness.b47: = impl_witness @X.as.GenericAndParams.impl.5ef.%GenericAndParams.impl_witness_table [concrete] +// CHECK:STDOUT: %GenericAndParams.impl_witness.377: = impl_witness @X.as.GenericAndParams.impl.5ef.%GenericAndParams.impl_witness_table [concrete] // CHECK:STDOUT: %Self.883: %GenericAndParams.type.b2b = symbolic_binding Self, 2 [symbolic] -// CHECK:STDOUT: %GenericAndParams.facet.abe: %GenericAndParams.type.b2b = facet_value %X, (%GenericAndParams.impl_witness.b47) [concrete] +// CHECK:STDOUT: %GenericAndParams.facet.61b: %GenericAndParams.type.b2b = facet_value %X, (%GenericAndParams.impl_witness.377) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -300,7 +300,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: // CHECK:STDOUT: impl @X.as.GenericAndParams.impl.44a: %X.ref.loc16_6 as %GenericAndParams.type { // CHECK:STDOUT: %GenericAndParams.impl_witness_table = impl_witness_table (), @X.as.GenericAndParams.impl.44a [concrete] -// CHECK:STDOUT: %GenericAndParams.impl_witness: = impl_witness %GenericAndParams.impl_witness_table [concrete = constants.%GenericAndParams.impl_witness.925] +// CHECK:STDOUT: %GenericAndParams.impl_witness: = impl_witness %GenericAndParams.impl_witness_table [concrete = constants.%GenericAndParams.impl_witness.861] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %GenericAndParams.type @@ -318,7 +318,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: // CHECK:STDOUT: impl @X.as.GenericAndParams.impl.5ef: %X.ref.loc18_6 as %GenericAndParams.type { // CHECK:STDOUT: %GenericAndParams.impl_witness_table = impl_witness_table (), @X.as.GenericAndParams.impl.5ef [concrete] -// CHECK:STDOUT: %GenericAndParams.impl_witness: = impl_witness %GenericAndParams.impl_witness_table [concrete = constants.%GenericAndParams.impl_witness.b47] +// CHECK:STDOUT: %GenericAndParams.impl_witness: = impl_witness %GenericAndParams.impl_witness_table [concrete = constants.%GenericAndParams.impl_witness.377] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: extend %GenericAndParams.type @@ -415,7 +415,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.WithSelf.loc6(constants.%X, constants.%GenericAndParams.facet.9e9) { +// CHECK:STDOUT: specific @GenericAndParams.WithSelf.loc6(constants.%X, constants.%GenericAndParams.facet.416) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -458,7 +458,7 @@ interface Bar[T: type] {} // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @GenericAndParams.WithSelf.loc10(constants.%X, constants.%X, constants.%GenericAndParams.facet.abe) { +// CHECK:STDOUT: specific @GenericAndParams.WithSelf.loc10(constants.%X, constants.%X, constants.%GenericAndParams.facet.61b) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/import.carbon b/toolchain/check/testdata/interface/import.carbon index 5d84b4174db4..6562dd13a598 100644 --- a/toolchain/check/testdata/interface/import.carbon +++ b/toolchain/check/testdata/interface/import.carbon @@ -79,10 +79,10 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.c59: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%struct_type.f) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.ef0: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%struct_type.f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.095: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%struct_type.f) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.3cc: %T.as.DefaultOrUnformed.impl.Op.type.095 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %struct_type.f, (%DefaultOrUnformed.impl_witness.c59) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %struct_type.f, (%DefaultOrUnformed.impl_witness.ef0) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.3cc, @T.as.DefaultOrUnformed.impl.Op(%struct_type.f) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -94,7 +94,7 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -182,7 +182,7 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%struct_type.f, (constants.%DefaultOrUnformed.impl_witness.c59) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%struct_type.f, (constants.%DefaultOrUnformed.impl_witness.ef0) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc20_33.1: %DefaultOrUnformed.type = converted constants.%struct_type.f, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc20_33.1 [concrete = constants.%struct_type.f] // CHECK:STDOUT: %.loc20_33.2: type = converted %.loc20_33.1, %as_type [concrete = constants.%struct_type.f] @@ -255,12 +255,12 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.fe0: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%ForwardDeclared.type) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.909: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%ForwardDeclared.type) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c30: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%ForwardDeclared.type) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.a7b: %ptr.as.Copy.impl.Op.type.c30 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.b71, (%Copy.impl_witness.fe0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.b52: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a22: type = fn_type_with_self_type %Copy.WithSelf.Op.type.b52, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.b71, (%Copy.impl_witness.909) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.4d3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.a63: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4d3, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.a7b [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.a7b, @ptr.as.Copy.impl.Op(%ForwardDeclared.type) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -296,7 +296,7 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %f_ref.var: ref %struct_type.f = var_storage constants.%f_ref.var_patt [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -421,7 +421,7 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %f_ref.ref: ref %struct_type.f = name_ref f_ref, imports.%Main.f_ref [concrete = imports.%f_ref.var] // CHECK:STDOUT: %.loc16: ref %ForwardDeclared.type = struct_access %f_ref.ref, element0 [concrete = constants.%.594] // CHECK:STDOUT: %addr: %ptr.b71 = addr_of %.loc16 [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0: %.a22 = impl_witness_access constants.%Copy.impl_witness.fe0, element0 [concrete = constants.%ptr.as.Copy.impl.Op.a7b] +// CHECK:STDOUT: %impl.elem0: %.a63 = impl_witness_access constants.%Copy.impl_witness.909, element0 [concrete = constants.%ptr.as.Copy.impl.Op.a7b] // CHECK:STDOUT: %bound_method.loc16_27.1: = bound_method %addr, %impl.elem0 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%ForwardDeclared.type) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_27.2: = bound_method %addr, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interface/local.carbon b/toolchain/check/testdata/interface/local.carbon index 2dbf0b0963cb..6326b69911ad 100644 --- a/toolchain/check/testdata/interface/local.carbon +++ b/toolchain/check/testdata/interface/local.carbon @@ -47,9 +47,9 @@ fn F() { // CHECK:STDOUT: %empty_tuple.type.as.I.impl.G.type: type = fn_type @empty_tuple.type.as.I.impl.G [concrete] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.G: %empty_tuple.type.as.I.impl.G.type = struct_value () [concrete] // CHECK:STDOUT: %I.facet: %I.type = facet_value %empty_tuple.type, (%I.impl_witness) [concrete] -// CHECK:STDOUT: %I.WithSelf.G.type.107: type = fn_type @I.WithSelf.G, @I.WithSelf(%I.facet) [concrete] -// CHECK:STDOUT: %I.WithSelf.G.641: %I.WithSelf.G.type.107 = struct_value () [concrete] -// CHECK:STDOUT: %.a19: type = fn_type_with_self_type %I.WithSelf.G.type.107, %I.facet [concrete] +// CHECK:STDOUT: %I.WithSelf.G.type.6fe: type = fn_type @I.WithSelf.G, @I.WithSelf(%I.facet) [concrete] +// CHECK:STDOUT: %I.WithSelf.G.9e3: %I.WithSelf.G.type.6fe = struct_value () [concrete] +// CHECK:STDOUT: %.da7: type = fn_type_with_self_type %I.WithSelf.G.type.6fe, %I.facet [concrete] // CHECK:STDOUT: %empty_tuple.type.as.I.impl.G.bound: = bound_method %empty_tuple, %empty_tuple.type.as.I.impl.G [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -117,7 +117,7 @@ fn F() { // CHECK:STDOUT: %.loc22_4.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %I.ref: type = name_ref I, %I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %G.ref: %I.assoc_type = name_ref G, @I.WithSelf.%assoc0 [concrete = constants.%assoc0] -// CHECK:STDOUT: %impl.elem0: %.a19 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%empty_tuple.type.as.I.impl.G] +// CHECK:STDOUT: %impl.elem0: %.da7 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%empty_tuple.type.as.I.impl.G] // CHECK:STDOUT: %bound_method: = bound_method %.loc22_4.1, %impl.elem0 [concrete = constants.%empty_tuple.type.as.I.impl.G.bound] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc22_4.2: %empty_tuple.type = converted %.loc22_4.1, %empty_tuple [concrete = constants.%empty_tuple] @@ -158,8 +158,8 @@ fn F() { // CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Self => constants.%I.facet -// CHECK:STDOUT: %I.WithSelf.G.type => constants.%I.WithSelf.G.type.107 -// CHECK:STDOUT: %I.WithSelf.G => constants.%I.WithSelf.G.641 +// CHECK:STDOUT: %I.WithSelf.G.type => constants.%I.WithSelf.G.type.6fe +// CHECK:STDOUT: %I.WithSelf.G => constants.%I.WithSelf.G.9e3 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @I.WithSelf.G(constants.%I.facet) { diff --git a/toolchain/check/testdata/interface/member_lookup.carbon b/toolchain/check/testdata/interface/member_lookup.carbon index e5044f3bb9f6..4024dbc44ded 100644 --- a/toolchain/check/testdata/interface/member_lookup.carbon +++ b/toolchain/check/testdata/interface/member_lookup.carbon @@ -115,12 +115,12 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %I.as_type.307: type = facet_access_type %I.e05 [symbolic] // CHECK:STDOUT: %Interface.lookup_impl_witness.64c: = lookup_impl_witness %I.e05, @Interface, @Interface(%i32) [symbolic] // CHECK:STDOUT: %impl.elem0.3b7: %ptr.d08 = impl_witness_access %Interface.lookup_impl_witness.64c, element0 [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.b49: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.b49) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet.b49 [concrete] +// CHECK:STDOUT: %Copy.facet.09a: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.09a) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet.09a [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %impl.elem0.3b7, %ptr.as.Copy.impl.Op.d1c [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %bound_method.195: = bound_method %impl.elem0.3b7, %ptr.as.Copy.impl.Op.specific_fn [symbolic] @@ -135,7 +135,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -299,7 +299,7 @@ fn AccessMissingConcrete(generic I: Interface(i32)) -> i32 { // CHECK:STDOUT: %.loc13_11.2: %Interface.assoc_type.d6a = specific_constant @X.%assoc0, @Interface.WithSelf(constants.%i32, constants.%I.e05) [concrete = constants.%assoc0.80c] // CHECK:STDOUT: %X.ref: %Interface.assoc_type.d6a = name_ref X, %.loc13_11.2 [concrete = constants.%assoc0.80c] // CHECK:STDOUT: %impl.elem0.loc13_11.1: %ptr.d08 = impl_witness_access constants.%Interface.lookup_impl_witness.64c, element0 [symbolic = %impl.elem0.loc13_11.3 (constants.%impl.elem0.3b7)] -// CHECK:STDOUT: %impl.elem0.loc13_11.2: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc13_11.2: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc13_11.1: = bound_method %impl.elem0.loc13_11.1, %impl.elem0.loc13_11.2 [symbolic = %ptr.as.Copy.impl.Op.bound (constants.%ptr.as.Copy.impl.Op.bound)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc13_11.2, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc13_11.2: = bound_method %impl.elem0.loc13_11.1, %specific_fn [symbolic = %bound_method.loc13_11.3 (constants.%bound_method.195)] diff --git a/toolchain/check/testdata/interface/observe.carbon b/toolchain/check/testdata/interface/observe.carbon index 18af6c0f0da3..ff0f106962fc 100644 --- a/toolchain/check/testdata/interface/observe.carbon +++ b/toolchain/check/testdata/interface/observe.carbon @@ -924,8 +924,8 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound.36e: = bound_method %A.type, %type.as.BitAndWith.impl.Op [concrete] @@ -985,7 +985,7 @@ fn F[T: I(C)](t: T) { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Destroy.ref: type = name_ref Destroy, imports.%Core.Destroy [concrete = constants.%Destroy.type] -// CHECK:STDOUT: %impl.elem0: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %A.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound.36e] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%A.ref, %Destroy.ref) [concrete = constants.%facet_type.8cb] // CHECK:STDOUT: %.loc6_18.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%facet_type.8cb] diff --git a/toolchain/check/testdata/interface/todo_define_not_default.carbon b/toolchain/check/testdata/interface/todo_define_not_default.carbon index 5239bba9a155..625a75168c92 100644 --- a/toolchain/check/testdata/interface/todo_define_not_default.carbon +++ b/toolchain/check/testdata/interface/todo_define_not_default.carbon @@ -59,12 +59,12 @@ interface I { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -81,7 +81,7 @@ interface I { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -130,7 +130,7 @@ interface I { // CHECK:STDOUT: %N: %i32 = assoc_const_decl @N [concrete] { // CHECK:STDOUT: %assoc3: %I.assoc_type = assoc_entity element3, @I.WithSelf.%N [concrete = constants.%assoc3] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc23_18.1: = bound_method %int_42, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_18.2: = bound_method %int_42, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/basics/import/import.carbon b/toolchain/check/testdata/interop/cpp/basics/import/import.carbon index a43a19cd0215..e06abbbf39b9 100644 --- a/toolchain/check/testdata/interop/cpp/basics/import/import.carbon +++ b/toolchain/check/testdata/interop/cpp/basics/import/import.carbon @@ -152,12 +152,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.820: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0df: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.4b7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.70c: %Core.IntLiteral.as.As.impl.Convert.type.4b7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.820) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d73: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] -// CHECK:STDOUT: %.6b5: type = fn_type_with_self_type %As.WithSelf.Convert.type.d73, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.0df) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.4ac: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] +// CHECK:STDOUT: %.45d: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ac, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.70c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.70c, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -169,7 +169,7 @@ fn F() { // CHECK:STDOUT: %Main.FooShort: = import_ref Main//function_api, FooShort, loaded [concrete = ] // CHECK:STDOUT: %Main.FooInt: = import_ref Main//function_api, FooInt, loaded [concrete = ] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -177,7 +177,7 @@ fn F() { // CHECK:STDOUT: %FooShort.ref: = name_ref FooShort, imports.%Main.FooShort [concrete = ] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] // CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] -// CHECK:STDOUT: %impl.elem0: %.6b5 = impl_witness_access constants.%As.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] +// CHECK:STDOUT: %impl.elem0: %.45d = impl_witness_access constants.%As.impl_witness.0df, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] // CHECK:STDOUT: %bound_method.loc16_14.1: = bound_method %int_8, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_14.2: = bound_method %int_8, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon b/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon index f158747581ed..4b1d489093a6 100644 --- a/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon +++ b/toolchain/check/testdata/interop/cpp/basics/import/indirect.carbon @@ -166,12 +166,12 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %X.cpp_destructor.type: type = fn_type @X.cpp_destructor [concrete] // CHECK:STDOUT: %X.cpp_destructor: %X.cpp_destructor.type = struct_value () [concrete] @@ -184,7 +184,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: imports { // CHECK:STDOUT: %Main.F: %F.type = import_ref Main//direct_import, F, loaded [concrete = constants.%F] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %X.g.cpp_overload_set.value: %X.g.cpp_overload_set.type = cpp_overload_set_value @X.g.cpp_overload_set [concrete = constants.%X.g.cpp_overload_set.value] // CHECK:STDOUT: %X.g.decl: %X.g.type = fn_decl @X.g [concrete = constants.%X.g] { // CHECK:STDOUT: @@ -202,7 +202,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %x.ref: %X.elem = name_ref x, @X.%.1 [concrete = @X.%.1] // CHECK:STDOUT: %.loc10_13.1: ref %i32 = class_element_access %.loc10_12.2, element0 // CHECK:STDOUT: %.loc10_13.2: %i32 = acquire_value %.loc10_13.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc10_13.1: = bound_method %.loc10_13.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_13.2: = bound_method %.loc10_13.2, %specific_fn @@ -248,12 +248,12 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -265,12 +265,12 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %X.cpp_destructor.type: type = fn_type @X.cpp_destructor [concrete] // CHECK:STDOUT: %X.cpp_destructor: %X.cpp_destructor.type = struct_value () [concrete] @@ -284,7 +284,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %X.g.cpp_overload_set.value: %X.g.cpp_overload_set.type = cpp_overload_set_value @X.g.cpp_overload_set [concrete = constants.%X.g.cpp_overload_set.value] // CHECK:STDOUT: %X.g.decl: %X.g.type = fn_decl @X.g [concrete = constants.%X.g] { // CHECK:STDOUT: @@ -292,7 +292,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @Use() -> out %return.param: %tuple.type.e55 { @@ -300,7 +300,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %ax.var: ref %X = var_storage %ax.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc9_3.1: ref %X = splice_block %ax.var {} -// CHECK:STDOUT: %impl.elem0.loc9: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_16.1: = bound_method %int_1, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_16.2: = bound_method %int_1, %specific_fn.loc9 [concrete = constants.%bound_method] @@ -327,7 +327,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %X.g.call: init %i32 = call imports.%X.g.decl(%ax.ref.loc10_17) // CHECK:STDOUT: %.loc10_23.1: %tuple.type.e55 = tuple_literal (%.loc10_13.1, %X.g.call) // CHECK:STDOUT: %.loc10_13.2: %i32 = acquire_value %.loc10_13.1 -// CHECK:STDOUT: %impl.elem0.loc10: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc10: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc10_13.1: = bound_method %.loc10_13.2, %impl.elem0.loc10 // CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_13.2: = bound_method %.loc10_13.2, %specific_fn.loc10 @@ -357,12 +357,12 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Y.cpp_destructor.type.0df797.1: type = fn_type @Y.cpp_destructor.1 [concrete] // CHECK:STDOUT: %Y.cpp_destructor.be1864.1: %Y.cpp_destructor.type.0df797.1 = struct_value () [concrete] @@ -392,7 +392,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %Main.G: %G.type = import_ref Main//direct_import, G, loaded [concrete = constants.%G] // CHECK:STDOUT: %Main.H: %H.type = import_ref Main//direct_import, H, loaded [concrete = constants.%H] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Z.Z.decl: %Z.Z.type = fn_decl @Z.Z [concrete = constants.%Z.Z] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -414,7 +414,7 @@ fn UseZ() -> Cpp.A.Z { // CHECK:STDOUT: %y.ref: %Y.elem.ab3 = name_ref y, @Y.1.%.1 [concrete = @Y.1.%.1] // CHECK:STDOUT: %.loc9_13.1: ref %i32 = class_element_access %.loc9_12.2, element0 // CHECK:STDOUT: %.loc9_13.2: %i32 = acquire_value %.loc9_13.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc9_13.1: = bound_method %.loc9_13.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_13.2: = bound_method %.loc9_13.2, %specific_fn diff --git a/toolchain/check/testdata/interop/cpp/class/import/base.carbon b/toolchain/check/testdata/interop/cpp/class/import/base.carbon index 2ed9801c1947..b2d4a0309568 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/base.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/base.carbon @@ -487,12 +487,12 @@ class V { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.428: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Base) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.60d: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Base) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.136: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Base) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.377: %ptr.as.Copy.impl.Op.type.136 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.0e0, (%Copy.impl_witness.428) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.be3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.6e4: type = fn_type_with_self_type %Copy.WithSelf.Op.type.be3, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.0e0, (%Copy.impl_witness.60d) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ff1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.883: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ff1, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.377, @ptr.as.Copy.impl.Op(%Base) [concrete] // CHECK:STDOUT: %AcceptVal.type: type = fn_type @AcceptVal [concrete] // CHECK:STDOUT: %AcceptVal: %AcceptVal.type = struct_value () [concrete] @@ -512,7 +512,7 @@ class V { // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [concrete = constants.%Derived] {} {} // CHECK:STDOUT: %Base.decl: type = class_decl @Base [concrete = constants.%Base] {} {} // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -556,7 +556,7 @@ class V { // CHECK:STDOUT: %.loc8_11.2: ref %Base = class_element_access %.loc8_11.1, element0 // CHECK:STDOUT: %addr: %ptr.0e0 = addr_of %.loc8_11.2 // CHECK:STDOUT: %.loc8_11.3: %ptr.0e0 = converted %d.ref, %addr -// CHECK:STDOUT: %impl.elem0: %.6e4 = impl_witness_access constants.%Copy.impl_witness.428, element0 [concrete = constants.%ptr.as.Copy.impl.Op.377] +// CHECK:STDOUT: %impl.elem0: %.883 = impl_witness_access constants.%Copy.impl_witness.60d, element0 [concrete = constants.%ptr.as.Copy.impl.Op.377] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %.loc8_11.3, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%Base) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %.loc8_11.3, %specific_fn @@ -638,12 +638,12 @@ class V { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -656,7 +656,7 @@ class V { // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [concrete = constants.%Derived] {} {} // CHECK:STDOUT: %Base.decl: type = class_decl @Base [concrete = constants.%Base] {} {} // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @AccessDirect(%d.param: %Derived) -> out %return.param: %i32 { @@ -668,7 +668,7 @@ class V { // CHECK:STDOUT: %.loc8_11.3: ref %Base = converted %d.ref, %.loc8_11.2 // CHECK:STDOUT: %.loc8_11.4: ref %i32 = class_element_access %.loc8_11.3, element0 // CHECK:STDOUT: %.loc8_11.5: %i32 = acquire_value %.loc8_11.4 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %.loc8_11.5, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %.loc8_11.5, %specific_fn @@ -687,7 +687,7 @@ class V { // CHECK:STDOUT: %.loc14_11.3: ref %Base = converted %d.ref, %.loc14_11.2 // CHECK:STDOUT: %.loc14_11.4: ref %i32 = class_element_access %.loc14_11.3, element1 // CHECK:STDOUT: %.loc14_11.5: %i32 = acquire_value %.loc14_11.4 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_11.1: = bound_method %.loc14_11.5, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_11.2: = bound_method %.loc14_11.5, %specific_fn diff --git a/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon b/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon index e4e3e3294b10..3aabdc9ee9b6 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/constructor.carbon @@ -383,8 +383,8 @@ fn F() { // CHECK:STDOUT: %C.Op: %C.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%C.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.3db: %Default.type = facet_value %C, (%custom_witness.9b4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.7ba: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.3db) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.5f4: %DefaultOrUnformed.type = facet_value %C, (%DefaultOrUnformed.impl_witness.7ba) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.497: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.3db) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.017: %DefaultOrUnformed.type = facet_value %C, (%DefaultOrUnformed.impl_witness.497) [concrete] // CHECK:STDOUT: %C.cpp_destructor.type: type = fn_type @C.cpp_destructor [concrete] // CHECK:STDOUT: %C.cpp_destructor: %C.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -396,14 +396,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.var: ref %C = var_storage %c.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%C, (constants.%DefaultOrUnformed.impl_witness.7ba) [concrete = constants.%DefaultOrUnformed.facet.5f4] -// CHECK:STDOUT: %.loc8_22.1: %DefaultOrUnformed.type = converted constants.%C, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet.5f4] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%C, (constants.%DefaultOrUnformed.impl_witness.497) [concrete = constants.%DefaultOrUnformed.facet.017] +// CHECK:STDOUT: %.loc8_22.1: %DefaultOrUnformed.type = converted constants.%C, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet.017] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc8_22.1 [concrete = constants.%C] // CHECK:STDOUT: %.loc8_22.2: type = converted %.loc8_22.1, %as_type [concrete = constants.%C] // CHECK:STDOUT: @@ -444,12 +444,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b1d: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.450: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -474,7 +474,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -485,14 +485,14 @@ fn F() { // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123.fff] // CHECK:STDOUT: %int_456: Core.IntLiteral = int_value 456 [concrete = constants.%int_456.010] // CHECK:STDOUT: %.loc8_41.1: ref %C = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc8_33: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_33: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_33.1: = bound_method %int_123, %impl.elem0.loc8_33 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b1d] // CHECK:STDOUT: %specific_fn.loc8_33: = specific_function %impl.elem0.loc8_33, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_33.2: = bound_method %int_123, %specific_fn.loc8_33 [concrete = constants.%bound_method.450] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_33: init %i32 = call %bound_method.loc8_33.2(%int_123) [concrete = constants.%int_123.2bf] // CHECK:STDOUT: %.loc8_33.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_33 [concrete = constants.%int_123.2bf] // CHECK:STDOUT: %.loc8_33.2: %i32 = converted %int_123, %.loc8_33.1 [concrete = constants.%int_123.2bf] -// CHECK:STDOUT: %impl.elem0.loc8_38: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_38: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_38.1: = bound_method %int_456, %impl.elem0.loc8_38 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.efc] // CHECK:STDOUT: %specific_fn.loc8_38: = specific_function %impl.elem0.loc8_38, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_38.2: = bound_method %int_456, %specific_fn.loc8_38 [concrete = constants.%bound_method.c5c] @@ -540,12 +540,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b1d: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.450: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -575,7 +575,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -603,14 +603,14 @@ fn F() { // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123.fff] // CHECK:STDOUT: %int_456: Core.IntLiteral = int_value 456 [concrete = constants.%int_456.010] // CHECK:STDOUT: %.loc9_42.1: ref %C = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc9_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_34.1: = bound_method %int_123, %impl.elem0.loc9_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.b1d] // CHECK:STDOUT: %specific_fn.loc9_34: = specific_function %impl.elem0.loc9_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_34.2: = bound_method %int_123, %specific_fn.loc9_34 [concrete = constants.%bound_method.450] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_34: init %i32 = call %bound_method.loc9_34.2(%int_123) [concrete = constants.%int_123.2bf] // CHECK:STDOUT: %.loc9_34.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_34 [concrete = constants.%int_123.2bf] // CHECK:STDOUT: %.loc9_34.2: %i32 = converted %int_123, %.loc9_34.1 [concrete = constants.%int_123.2bf] -// CHECK:STDOUT: %impl.elem0.loc9_39: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_39: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_39.1: = bound_method %int_456, %impl.elem0.loc9_39 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.efc] // CHECK:STDOUT: %specific_fn.loc9_39: = specific_function %impl.elem0.loc9_39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_39.2: = bound_method %int_456, %specific_fn.loc9_39 [concrete = constants.%bound_method.c5c] @@ -657,12 +657,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9dd: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.01f: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -690,7 +690,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %C__carbon_thunk.decl.abd9a2.2: %C__carbon_thunk.type.e78457.2 = fn_decl @C__carbon_thunk.2 [concrete = constants.%C__carbon_thunk.ca303d.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -706,14 +706,14 @@ fn F() { // CHECK:STDOUT: %int_8.loc8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] // CHECK:STDOUT: %int_9: Core.IntLiteral = int_value 9 [concrete = constants.%int_9.988] // CHECK:STDOUT: %.loc8_38.1: ref %C = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc8_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_34.1: = bound_method %int_8.loc8, %impl.elem0.loc8_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9dd] // CHECK:STDOUT: %specific_fn.loc8_34: = specific_function %impl.elem0.loc8_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_34.2: = bound_method %int_8.loc8, %specific_fn.loc8_34 [concrete = constants.%bound_method.01f] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_34: init %i32 = call %bound_method.loc8_34.2(%int_8.loc8) [concrete = constants.%int_8.9cf] // CHECK:STDOUT: %.loc8_34.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_34 [concrete = constants.%int_8.9cf] // CHECK:STDOUT: %.loc8_34.2: %i32 = converted %int_8.loc8, %.loc8_34.1 [concrete = constants.%int_8.9cf] -// CHECK:STDOUT: %impl.elem0.loc8_37: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_37: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_37.1: = bound_method %int_9, %impl.elem0.loc8_37 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f46] // CHECK:STDOUT: %specific_fn.loc8_37: = specific_function %impl.elem0.loc8_37, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_37.2: = bound_method %int_9, %specific_fn.loc8_37 [concrete = constants.%bound_method.9bf] @@ -738,7 +738,7 @@ fn F() { // CHECK:STDOUT: %C.ref.loc9_31: %C.C.cpp_overload_set.type = name_ref C, imports.%C.C.cpp_overload_set.value [concrete = constants.%C.C.cpp_overload_set.value] // CHECK:STDOUT: %int_8.loc9: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] // CHECK:STDOUT: %.loc9_35.1: ref %C = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc9: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_34.1: = bound_method %int_8.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9dd] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_34.2: = bound_method %int_8.loc9, %specific_fn.loc9 [concrete = constants.%bound_method.01f] @@ -785,12 +785,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -802,10 +802,10 @@ fn F() { // CHECK:STDOUT: %C__carbon_thunk.type.e78457.2: type = fn_type @C__carbon_thunk.2 [concrete] // CHECK:STDOUT: %C__carbon_thunk.ca303d.2: %C__carbon_thunk.type.e78457.2 = struct_value () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.713: = impl_witness imports.%Copy.impl_witness_table.1ff [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.713) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.15e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4a4, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5e1: = impl_witness imports.%Copy.impl_witness_table.bda [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.d02: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.e28: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d02, %Copy.facet [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.type: type = fn_type @bool.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op: %bool.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.bound: = bound_method %true, %bool.as.Copy.impl.Op [concrete] @@ -832,14 +832,14 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %C__carbon_thunk.decl.abd9a2.2: %C__carbon_thunk.type.e78457.2 = fn_decl @C__carbon_thunk.2 [concrete = constants.%C__carbon_thunk.ca303d.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.9c3: %bool.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%bool.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.1ff = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.bda = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] // CHECK:STDOUT: %C__carbon_thunk.decl.abd9a2.3: %C__carbon_thunk.type.e78457.3 = fn_decl @C__carbon_thunk.3 [concrete = constants.%C__carbon_thunk.ca303d.3] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -855,7 +855,7 @@ fn F() { // CHECK:STDOUT: %C.ref.loc8_24: %C.C.cpp_overload_set.type = name_ref C, imports.%C.C.cpp_overload_set.value [concrete = constants.%C.C.cpp_overload_set.value] // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123.fff] // CHECK:STDOUT: %.loc8_3: ref %C = splice_block %c1.var {} -// CHECK:STDOUT: %impl.elem0.loc8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_27.1: = bound_method %int_123, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_27.2: = bound_method %int_123, %specific_fn [concrete = constants.%bound_method] @@ -881,7 +881,7 @@ fn F() { // CHECK:STDOUT: %C.ref.loc9_31: %C.C.cpp_overload_set.type = name_ref C, imports.%C.C.cpp_overload_set.value [concrete = constants.%C.C.cpp_overload_set.value] // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: %.loc9_3: ref %C = splice_block %c2.var {} -// CHECK:STDOUT: %impl.elem0.loc9: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %true, %impl.elem0.loc9 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method.loc9(%true) [concrete = constants.%true] // CHECK:STDOUT: %.loc9_34.1: ref bool = temporary_storage @@ -950,12 +950,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.01f: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -964,12 +964,12 @@ fn F() { // CHECK:STDOUT: %As.type.155: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.03e: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.e7f: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.e79: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.8a4: %Core.IntLiteral.as.As.impl.Convert.type.e79 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.03e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8ea: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %As.WithSelf.Convert.type.8ea, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.e7f) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.d02: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] +// CHECK:STDOUT: %.453: type = fn_type_with_self_type %As.WithSelf.Convert.type.d02, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.8a4 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.8a4, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.07f: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -990,9 +990,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1002,7 +1002,7 @@ fn F() { // CHECK:STDOUT: %C.ref.loc8_31: %C.C.cpp_overload_set.type = name_ref C, imports.%C.C.cpp_overload_set.value [concrete = constants.%C.C.cpp_overload_set.value] // CHECK:STDOUT: %int_8.loc8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] // CHECK:STDOUT: %.loc8_35.1: ref %C = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_34.1: = bound_method %int_8.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_34.2: = bound_method %int_8.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.01f] @@ -1024,7 +1024,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %int_8.loc9: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0.loc9: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0.loc9: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc9_28.1: = bound_method %int_8.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_28.2: = bound_method %int_8.loc9, %specific_fn.loc9 [concrete = constants.%bound_method.07f] @@ -1073,12 +1073,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9dd: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.01f: = bound_method %int_8.b85, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1093,12 +1093,12 @@ fn F() { // CHECK:STDOUT: %As.type.155: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.03e: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.e7f: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.e79: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.8a4: %Core.IntLiteral.as.As.impl.Convert.type.e79 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.03e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8ea: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %As.WithSelf.Convert.type.8ea, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.e7f) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.d02: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] +// CHECK:STDOUT: %.453: type = fn_type_with_self_type %As.WithSelf.Convert.type.d02, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.8a4 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.8a4, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.07f: = bound_method %int_8.b85, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1119,14 +1119,14 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %C__carbon_thunk.decl.abd9a2.2: %C__carbon_thunk.type.e78457.2 = fn_decl @C__carbon_thunk.2 [concrete = constants.%C__carbon_thunk.ca303d.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1137,14 +1137,14 @@ fn F() { // CHECK:STDOUT: %int_8.loc8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] // CHECK:STDOUT: %int_9: Core.IntLiteral = int_value 9 [concrete = constants.%int_9.988] // CHECK:STDOUT: %.loc8_38.1: ref %C = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc8_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_34.1: = bound_method %int_8.loc8, %impl.elem0.loc8_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9dd] // CHECK:STDOUT: %specific_fn.loc8_34: = specific_function %impl.elem0.loc8_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_34.2: = bound_method %int_8.loc8, %specific_fn.loc8_34 [concrete = constants.%bound_method.01f] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_34: init %i32 = call %bound_method.loc8_34.2(%int_8.loc8) [concrete = constants.%int_8.9cf] // CHECK:STDOUT: %.loc8_34.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_34 [concrete = constants.%int_8.9cf] // CHECK:STDOUT: %.loc8_34.2: %i32 = converted %int_8.loc8, %.loc8_34.1 [concrete = constants.%int_8.9cf] -// CHECK:STDOUT: %impl.elem0.loc8_37: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_37: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_37.1: = bound_method %int_9, %impl.elem0.loc8_37 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f46] // CHECK:STDOUT: %specific_fn.loc8_37: = specific_function %impl.elem0.loc8_37, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_37.2: = bound_method %int_9, %specific_fn.loc8_37 [concrete = constants.%bound_method.9bf] @@ -1169,7 +1169,7 @@ fn F() { // CHECK:STDOUT: %C.ref.loc9_31: %C.C.cpp_overload_set.type = name_ref C, imports.%C.C.cpp_overload_set.value [concrete = constants.%C.C.cpp_overload_set.value] // CHECK:STDOUT: %int_8.loc9: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] // CHECK:STDOUT: %.loc9_35.1: ref %C = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc9: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_34.1: = bound_method %int_8.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9dd] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_34.2: = bound_method %int_8.loc9, %specific_fn.loc9 [concrete = constants.%bound_method.01f] @@ -1191,7 +1191,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %int_8.loc10: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0.loc10: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0.loc10: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc10_28.1: = bound_method %int_8.loc10, %impl.elem0.loc10 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_28.2: = bound_method %int_8.loc10, %specific_fn.loc10 [concrete = constants.%bound_method.07f] diff --git a/toolchain/check/testdata/interop/cpp/class/import/field.carbon b/toolchain/check/testdata/interop/cpp/class/import/field.carbon index a86a8fac4775..5d12cad474f7 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/field.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/field.carbon @@ -221,23 +221,23 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %MaybeUnformed.ddb: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.e46) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.Get.type.015: type = fn_type @ptr.as.OptionalStorage.impl.Get, @ptr.as.OptionalStorage.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.OptionalStorage.impl.Get.972: %ptr.as.OptionalStorage.impl.Get.type.015 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalStorage.impl_witness.d23: = impl_witness imports.%OptionalStorage.impl_witness_table.d71, @ptr.as.OptionalStorage.impl(%i32) [concrete] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.d08, (%OptionalStorage.impl_witness.d23) [concrete] -// CHECK:STDOUT: %Optional.e04: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] -// CHECK:STDOUT: %Struct.elem.df9: type = unbound_element_type %Struct, %Optional.e04 [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.0ce: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%i32) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.d08, (%OptionalStorage.impl_witness.0ce) [concrete] +// CHECK:STDOUT: %Optional.5b3: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Struct.elem.a19: type = unbound_element_type %Struct, %Optional.5b3 [concrete] // CHECK:STDOUT: %const.e2a: type = const_type %ptr.d08 [concrete] // CHECK:STDOUT: %Struct.elem.6a0: type = unbound_element_type %Struct, %const.e2a [concrete] -// CHECK:STDOUT: %Optional.Get.type.c3a: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet) [concrete] -// CHECK:STDOUT: %Optional.Get.13c: %Optional.Get.type.c3a = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.13c, @Optional.Get(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.Get.type.76f: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.Get.d19: %Optional.Get.type.76f = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.d19, @Optional.Get(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -249,9 +249,9 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.008: @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.Get.type (%ptr.as.OptionalStorage.impl.Get.type.015) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.Get (constants.%ptr.as.OptionalStorage.impl.Get.972)] // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.d71 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.008, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.008, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%s.param: %Struct) -> out %return.param: %tuple.type.ccd { @@ -270,11 +270,11 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %.loc8_23.2: %ptr.d08 = acquire_value %.loc8_23.1 // CHECK:STDOUT: %.loc8_21.1: ref %i32 = deref %.loc8_23.2 // CHECK:STDOUT: %s.ref.loc8_28: %Struct = name_ref s, %s -// CHECK:STDOUT: %q.ref: %Struct.elem.df9 = name_ref q, @Struct.%.5 [concrete = @Struct.%.5] -// CHECK:STDOUT: %.loc8_29.1: ref %Optional.e04 = class_element_access %s.ref.loc8_28, element3 -// CHECK:STDOUT: %.loc8_29.2: %Optional.e04 = acquire_value %.loc8_29.1 -// CHECK:STDOUT: %.loc8_31: %Optional.Get.type.c3a = specific_constant imports.%Core.import_ref.497, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.Get.13c] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.c3a = name_ref Get, %.loc8_31 [concrete = constants.%Optional.Get.13c] +// CHECK:STDOUT: %q.ref: %Struct.elem.a19 = name_ref q, @Struct.%.5 [concrete = @Struct.%.5] +// CHECK:STDOUT: %.loc8_29.1: ref %Optional.5b3 = class_element_access %s.ref.loc8_28, element3 +// CHECK:STDOUT: %.loc8_29.2: %Optional.5b3 = acquire_value %.loc8_29.1 +// CHECK:STDOUT: %.loc8_31: %Optional.Get.type.76f = specific_constant imports.%Core.import_ref.497, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.Get.d19] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.76f = name_ref Get, %.loc8_31 [concrete = constants.%Optional.Get.d19] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc8_29.2, %Get.ref // CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet) [concrete = constants.%Optional.Get.specific_fn] // CHECK:STDOUT: %bound_method.loc8_36: = bound_method %.loc8_29.2, %Optional.Get.specific_fn @@ -288,14 +288,14 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %.loc8_41.2: %const.e2a = acquire_value %.loc8_41.1 // CHECK:STDOUT: %.loc8_39.1: ref %i32 = deref %.loc8_41.2 // CHECK:STDOUT: %.loc8_43.1: %tuple.type.ccd = tuple_literal (%.loc8_12.2, %.loc8_17.2, %.loc8_21.1, %.loc8_27.1, %.loc8_39.1) -// CHECK:STDOUT: %impl.elem0.loc8_12: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc8_12: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc8_12.1: = bound_method %.loc8_12.2, %impl.elem0.loc8_12 // CHECK:STDOUT: %specific_fn.loc8_12: = specific_function %impl.elem0.loc8_12, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_12.2: = bound_method %.loc8_12.2, %specific_fn.loc8_12 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call.loc8_12: init %i32 = call %bound_method.loc8_12.2(%.loc8_12.2) // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %return.param, element0 // CHECK:STDOUT: %.loc8_43.2: init %i32 to %tuple.elem0 = in_place_init %Int.as.Copy.impl.Op.call.loc8_12 -// CHECK:STDOUT: %impl.elem0.loc8_17: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc8_17: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc8_17.1: = bound_method %.loc8_17.2, %impl.elem0.loc8_17 // CHECK:STDOUT: %specific_fn.loc8_17: = specific_function %impl.elem0.loc8_17, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_17.2: = bound_method %.loc8_17.2, %specific_fn.loc8_17 @@ -303,7 +303,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access %return.param, element1 // CHECK:STDOUT: %.loc8_43.3: init %i32 to %tuple.elem1 = in_place_init %Int.as.Copy.impl.Op.call.loc8_17 // CHECK:STDOUT: %.loc8_21.2: %i32 = acquire_value %.loc8_21.1 -// CHECK:STDOUT: %impl.elem0.loc8_21: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc8_21: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc8_21.1: = bound_method %.loc8_21.2, %impl.elem0.loc8_21 // CHECK:STDOUT: %specific_fn.loc8_21: = specific_function %impl.elem0.loc8_21, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_21.2: = bound_method %.loc8_21.2, %specific_fn.loc8_21 @@ -311,7 +311,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %tuple.elem2: ref %i32 = tuple_access %return.param, element2 // CHECK:STDOUT: %.loc8_43.4: init %i32 to %tuple.elem2 = in_place_init %Int.as.Copy.impl.Op.call.loc8_21 // CHECK:STDOUT: %.loc8_27.2: %i32 = acquire_value %.loc8_27.1 -// CHECK:STDOUT: %impl.elem0.loc8_27: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc8_27: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc8_27.1: = bound_method %.loc8_27.2, %impl.elem0.loc8_27 // CHECK:STDOUT: %specific_fn.loc8_27: = specific_function %impl.elem0.loc8_27, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_27.2: = bound_method %.loc8_27.2, %specific_fn.loc8_27 @@ -319,7 +319,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %tuple.elem3: ref %i32 = tuple_access %return.param, element3 // CHECK:STDOUT: %.loc8_43.5: init %i32 to %tuple.elem3 = in_place_init %Int.as.Copy.impl.Op.call.loc8_27 // CHECK:STDOUT: %.loc8_39.2: %i32 = acquire_value %.loc8_39.1 -// CHECK:STDOUT: %impl.elem0.loc8_39: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc8_39: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc8_39.1: = bound_method %.loc8_39.2, %impl.elem0.loc8_39 // CHECK:STDOUT: %specific_fn.loc8_39: = specific_function %impl.elem0.loc8_39, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_39.2: = bound_method %.loc8_39.2, %specific_fn.loc8_39 @@ -344,18 +344,18 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%u.param: %Union) -> out %return.param: %i32 { @@ -364,7 +364,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %a.ref: %Union.elem.291 = name_ref a, @Union.%.1 [concrete = @Union.%.1] // CHECK:STDOUT: %.loc8_11.1: ref %i32 = class_element_access %u.ref, element0 // CHECK:STDOUT: %.loc8_11.2: %i32 = acquire_value %.loc8_11.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %.loc8_11.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %.loc8_11.2, %specific_fn @@ -378,7 +378,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %b.ref: %Union.elem.291 = name_ref b, @Union.%.2 [concrete = @Union.%.2] // CHECK:STDOUT: %.loc14_11.1: ref %i32 = class_element_access %u.ref, element1 // CHECK:STDOUT: %.loc14_11.2: %i32 = acquire_value %.loc14_11.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_11.1: = bound_method %.loc14_11.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_11.2: = bound_method %.loc14_11.2, %specific_fn @@ -394,7 +394,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %.loc20_12.2: %ptr.d08 = acquire_value %.loc20_12.1 // CHECK:STDOUT: %.loc20_10.1: ref %i32 = deref %.loc20_12.2 // CHECK:STDOUT: %.loc20_10.2: %i32 = acquire_value %.loc20_10.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc20_10.1: = bound_method %.loc20_10.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc20_10.2: = bound_method %.loc20_10.2, %specific_fn @@ -413,12 +413,12 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Union: type = class_type @Union [concrete] // CHECK:STDOUT: %Union.elem: type = unbound_element_type %Union, %i32 [concrete] @@ -426,7 +426,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%s.param: %Struct) -> out %return.param: %i32 { @@ -435,7 +435,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %a.ref: %Struct.elem = name_ref a, @Struct.%.1 [concrete = @Struct.%.1] // CHECK:STDOUT: %.loc8_11.1: ref %i32 = class_element_access %s.ref, element0 // CHECK:STDOUT: %.loc8_11.2: %i32 = acquire_value %.loc8_11.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %.loc8_11.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %.loc8_11.2, %specific_fn @@ -449,7 +449,7 @@ fn Test(m: Cpp.UnsupportedMembers*) { // CHECK:STDOUT: %c.ref: %Union.elem = name_ref c, @Union.%.1 [concrete = @Union.%.1] // CHECK:STDOUT: %.loc14_11.1: ref %i32 = class_element_access %s.ref, element0 // CHECK:STDOUT: %.loc14_11.2: %i32 = acquire_value %.loc14_11.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc14_11.1: = bound_method %.loc14_11.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_11.2: = bound_method %.loc14_11.2, %specific_fn diff --git a/toolchain/check/testdata/interop/cpp/class/import/template.carbon b/toolchain/check/testdata/interop/cpp/class/import/template.carbon index 6cb5e712059c..f46e43985afd 100644 --- a/toolchain/check/testdata/interop/cpp/class/import/template.carbon +++ b/toolchain/check/testdata/interop/cpp/class/import/template.carbon @@ -118,22 +118,22 @@ fn F() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %A.e3f: type = class_type @A.2 [concrete] // CHECK:STDOUT: %ptr.bc0: type = ptr_type %A.e3f [concrete] // CHECK:STDOUT: %ptr.0e0: type = ptr_type %Base [concrete] -// CHECK:STDOUT: %Copy.impl_witness.428: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Base) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.60d: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Base) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.136: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Base) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.377: %ptr.as.Copy.impl.Op.type.136 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.abc: %Copy.type = facet_value %ptr.0e0, (%Copy.impl_witness.428) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.be3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.abc) [concrete] -// CHECK:STDOUT: %.6e4: type = fn_type_with_self_type %Copy.WithSelf.Op.type.be3, %Copy.facet.abc [concrete] +// CHECK:STDOUT: %Copy.facet.f1d: %Copy.type = facet_value %ptr.0e0, (%Copy.impl_witness.60d) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ff1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.f1d) [concrete] +// CHECK:STDOUT: %.883: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ff1, %Copy.facet.f1d [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.377, @ptr.as.Copy.impl.Op(%Base) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -145,9 +145,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%x.param: %A.614) -> out %return.param: %i32 { @@ -160,7 +160,7 @@ fn F() { // CHECK:STDOUT: %n.ref: %A.elem.708 = name_ref n, @A.1.%.2 [concrete = @A.1.%.2] // CHECK:STDOUT: %.loc10_11.1: ref %i32 = class_element_access %x.ref.loc10, element1 // CHECK:STDOUT: %.loc10_11.2: %i32 = acquire_value %.loc10_11.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc10_11.1: = bound_method %.loc10_11.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_11.2: = bound_method %.loc10_11.2, %specific_fn @@ -175,7 +175,7 @@ fn F() { // CHECK:STDOUT: %.loc17_11.2: ref %Base = class_element_access %.loc17_11.1, element0 // CHECK:STDOUT: %addr: %ptr.0e0 = addr_of %.loc17_11.2 // CHECK:STDOUT: %.loc17_11.3: %ptr.0e0 = converted %p.ref, %addr -// CHECK:STDOUT: %impl.elem0: %.6e4 = impl_witness_access constants.%Copy.impl_witness.428, element0 [concrete = constants.%ptr.as.Copy.impl.Op.377] +// CHECK:STDOUT: %impl.elem0: %.883 = impl_witness_access constants.%Copy.impl_witness.60d, element0 [concrete = constants.%ptr.as.Copy.impl.Op.377] // CHECK:STDOUT: %bound_method.loc17_11.1: = bound_method %.loc17_11.3, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%Base) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_11.2: = bound_method %.loc17_11.3, %specific_fn @@ -197,12 +197,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -220,7 +220,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl.8c4: type = class_decl @X.1 [concrete = constants.%X.816] {} {} // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %X.decl.b67: type = class_decl @X.2 [concrete = constants.%X.c92] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: @@ -254,7 +254,7 @@ fn F() { // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0.loc7: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc7: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_1.1: = bound_method %int_0.loc7, %impl.elem0.loc7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_1.2: = bound_method %int_0.loc7, %specific_fn.loc7 [concrete = constants.%bound_method] @@ -262,7 +262,7 @@ fn F() { // CHECK:STDOUT: %.loc7: init %i32 = converted %int_0.loc7, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc7 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: assign file.%x.var, %.loc7 // CHECK:STDOUT: %int_0.loc21: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc21: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc21: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc21_1.1: = bound_method %int_0.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_1.2: = bound_method %int_0.loc21, %specific_fn.loc21 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/enum/convert.carbon b/toolchain/check/testdata/interop/cpp/enum/convert.carbon index ac7f35ef538d..fa7af1655e30 100644 --- a/toolchain/check/testdata/interop/cpp/enum/convert.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/convert.carbon @@ -104,12 +104,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.820: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0df: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.4b7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.70c: %Core.IntLiteral.as.As.impl.Convert.type.4b7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.820) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d73: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] -// CHECK:STDOUT: %.6b5: type = fn_type_with_self_type %As.WithSelf.Convert.type.d73, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.0df) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.4ac: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] +// CHECK:STDOUT: %.45d: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ac, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.As.impl.Convert.70c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.70c, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_42.20e, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -131,7 +131,7 @@ fn F() { // CHECK:STDOUT: %Enum.decl: type = class_decl @Enum [concrete = constants.%Enum] {} {} // CHECK:STDOUT: %int_0: %Enum = int_value 0 [concrete = constants.%int_0.822] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: %Other.decl: type = class_decl @Other [concrete = constants.%Other] {} {} // CHECK:STDOUT: } // CHECK:STDOUT: @@ -154,7 +154,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] // CHECK:STDOUT: %i16.loc9: type = type_literal constants.%i16 [concrete = constants.%i16] -// CHECK:STDOUT: %impl.elem0: %.6b5 = impl_witness_access constants.%As.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] +// CHECK:STDOUT: %impl.elem0: %.45d = impl_witness_access constants.%As.impl_witness.0df, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] // CHECK:STDOUT: %bound_method.loc9_32.1: = bound_method %int_42, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_32.2: = bound_method %int_42, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/function/export/generic.carbon b/toolchain/check/testdata/interop/cpp/function/export/generic.carbon index a14042e95617..3bdad61ca90a 100644 --- a/toolchain/check/testdata/interop/cpp/function/export/generic.carbon +++ b/toolchain/check/testdata/interop/cpp/function/export/generic.carbon @@ -160,7 +160,7 @@ void G() { // CHECK:STDOUT: %assoc0.628: %I.assoc_type = assoc_entity element0, @I.WithSelf.%I.WithSelf.Doit.decl [concrete] // CHECK:STDOUT: %A: type = class_type @A [concrete] // CHECK:STDOUT: %.b03: = impl_self_witness %A, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.6ad: = impl_witness @A.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.ca2: = impl_witness @A.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.9ef: type = pattern_type %A [concrete] // CHECK:STDOUT: %self.param_patt.04e: %pattern_type.9ef = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.312: %pattern_type.9ef = at_binding_pattern self, %self.param_patt.04e [concrete] @@ -169,16 +169,16 @@ void G() { // CHECK:STDOUT: %return.patt.a6d: %pattern_type.9ef = return_slot_pattern %return.param_patt.f0c, %A [concrete] // CHECK:STDOUT: %A.as.I.impl.Doit.type: type = fn_type @A.as.I.impl.Doit [concrete] // CHECK:STDOUT: %A.as.I.impl.Doit: %A.as.I.impl.Doit.type = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.64b: %I.type = facet_value %A, (%I.impl_witness.6ad) [concrete] -// CHECK:STDOUT: %I.WithSelf.Doit.type.5b3: type = fn_type @I.WithSelf.Doit, @I.WithSelf(%I.facet.64b) [concrete] -// CHECK:STDOUT: %I.WithSelf.Doit.dab: %I.WithSelf.Doit.type.5b3 = struct_value () [concrete] +// CHECK:STDOUT: %I.facet.f31: %I.type = facet_value %A, (%I.impl_witness.ca2) [concrete] +// CHECK:STDOUT: %I.WithSelf.Doit.type.808: type = fn_type @I.WithSelf.Doit, @I.WithSelf(%I.facet.f31) [concrete] +// CHECK:STDOUT: %I.WithSelf.Doit.ebf: %I.WithSelf.Doit.type.808 = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %A.val: %A = struct_value () [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] // CHECK:STDOUT: %.d64: = impl_self_witness %B, @I [concrete] -// CHECK:STDOUT: %I.impl_witness.5b8: = impl_witness @B.as.I.impl.%I.impl_witness_table [concrete] +// CHECK:STDOUT: %I.impl_witness.b14: = impl_witness @B.as.I.impl.%I.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.e39: type = pattern_type %B [concrete] // CHECK:STDOUT: %self.param_patt.f1f: %pattern_type.e39 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.4eb: %pattern_type.e39 = at_binding_pattern self, %self.param_patt.f1f [concrete] @@ -187,9 +187,9 @@ void G() { // CHECK:STDOUT: %return.patt.911: %pattern_type.e39 = return_slot_pattern %return.param_patt.934, %B [concrete] // CHECK:STDOUT: %B.as.I.impl.Doit.type: type = fn_type @B.as.I.impl.Doit [concrete] // CHECK:STDOUT: %B.as.I.impl.Doit: %B.as.I.impl.Doit.type = struct_value () [concrete] -// CHECK:STDOUT: %I.facet.9f8: %I.type = facet_value %B, (%I.impl_witness.5b8) [concrete] -// CHECK:STDOUT: %I.WithSelf.Doit.type.2ce: type = fn_type @I.WithSelf.Doit, @I.WithSelf(%I.facet.9f8) [concrete] -// CHECK:STDOUT: %I.WithSelf.Doit.450: %I.WithSelf.Doit.type.2ce = struct_value () [concrete] +// CHECK:STDOUT: %I.facet.a68: %I.type = facet_value %B, (%I.impl_witness.b14) [concrete] +// CHECK:STDOUT: %I.WithSelf.Doit.type.a07: type = fn_type @I.WithSelf.Doit, @I.WithSelf(%I.facet.a68) [concrete] +// CHECK:STDOUT: %I.WithSelf.Doit.9cf: %I.WithSelf.Doit.type.a07 = struct_value () [concrete] // CHECK:STDOUT: %B.val: %B = struct_value () [concrete] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self] @@ -229,12 +229,12 @@ void G() { // CHECK:STDOUT: %.dca: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.09e, %Destroy.facet.6e5 [concrete] // CHECK:STDOUT: %t.param_patt.169: %pattern_type.9ef = value_param_pattern [concrete] // CHECK:STDOUT: %t.patt.ee8: %pattern_type.9ef = at_binding_pattern t, %t.param_patt.169 [concrete] -// CHECK:STDOUT: %F.specific_fn.f33: = specific_function %F, @F(%I.facet.64b) [concrete] +// CHECK:STDOUT: %F.specific_fn.9d8: = specific_function %F, @F(%I.facet.f31) [concrete] // CHECK:STDOUT: %t.param_patt.267: %pattern_type.e39 = value_param_pattern [concrete] // CHECK:STDOUT: %t.patt.062: %pattern_type.e39 = at_binding_pattern t, %t.param_patt.267 [concrete] -// CHECK:STDOUT: %F.specific_fn.db2: = specific_function %F, @F(%I.facet.9f8) [concrete] -// CHECK:STDOUT: %.660: type = fn_type_with_self_type %I.WithSelf.Doit.type.5b3, %I.facet.64b [concrete] -// CHECK:STDOUT: %.545: type = fn_type_with_self_type %I.WithSelf.Doit.type.2ce, %I.facet.9f8 [concrete] +// CHECK:STDOUT: %F.specific_fn.480: = specific_function %F, @F(%I.facet.a68) [concrete] +// CHECK:STDOUT: %.760: type = fn_type_with_self_type %I.WithSelf.Doit.type.808, %I.facet.f31 [concrete] +// CHECK:STDOUT: %.10f: type = fn_type_with_self_type %I.WithSelf.Doit.type.a07, %I.facet.a68 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -274,10 +274,10 @@ void G() { // CHECK:STDOUT: %return: ref @F.%T.as_type.loc24_15.1 (%T.as_type) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] -// CHECK:STDOUT: %I.facet.loc24_23.1: %I.type = facet_value %A.decl, (constants.%I.impl_witness.6ad) [concrete = constants.%I.facet.64b] -// CHECK:STDOUT: %.loc24_23.1: %I.type = converted %A.decl, %I.facet.loc24_23.1 [concrete = constants.%I.facet.64b] -// CHECK:STDOUT: %I.facet.loc24_23.2: %I.type = facet_value %B.decl, (constants.%I.impl_witness.5b8) [concrete = constants.%I.facet.9f8] -// CHECK:STDOUT: %.loc24_23.2: %I.type = converted %B.decl, %I.facet.loc24_23.2 [concrete = constants.%I.facet.9f8] +// CHECK:STDOUT: %I.facet.loc24_23.1: %I.type = facet_value %A.decl, (constants.%I.impl_witness.ca2) [concrete = constants.%I.facet.f31] +// CHECK:STDOUT: %.loc24_23.1: %I.type = converted %A.decl, %I.facet.loc24_23.1 [concrete = constants.%I.facet.f31] +// CHECK:STDOUT: %I.facet.loc24_23.2: %I.type = facet_value %B.decl, (constants.%I.impl_witness.b14) [concrete = constants.%I.facet.a68] +// CHECK:STDOUT: %.loc24_23.2: %I.type = converted %B.decl, %I.facet.loc24_23.2 [concrete = constants.%I.facet.a68] // CHECK:STDOUT: inline_cpp "Carbon::B G() {\n Carbon::A a;\n Carbon::B b;\n Carbon::F(a);\n return Carbon::F(b);\n}\n" // CHECK:STDOUT: } // CHECK:STDOUT: @@ -332,7 +332,7 @@ void G() { // CHECK:STDOUT: %return: ref %A = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%A.as.I.impl.Doit.decl), @A.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.6ad] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.ca2] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Doit = %A.as.I.impl.Doit.decl @@ -356,7 +356,7 @@ void G() { // CHECK:STDOUT: %return: ref %B = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%B.as.I.impl.Doit.decl), @B.as.I.impl [concrete] -// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.5b8] +// CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness.b14] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Doit = %B.as.I.impl.Doit.decl @@ -486,14 +486,14 @@ void G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F__carbon_thunk.83afdff581006d1a(%_.param.loc24_23.1: ref %A, %_.param.loc24_23.2: ref %A) { +// CHECK:STDOUT: fn @F__carbon_thunk.26f2099a79512a5d(%_.param.loc24_23.1: ref %A, %_.param.loc24_23.2: ref %A) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %F__carbon_thunk.83afdff581006d1a.ref: %F.type = name_ref F__carbon_thunk.83afdff581006d1a, file.%F.decl [concrete = constants.%F] -// CHECK:STDOUT: %I.facet.loc24_23.1: %I.type = facet_value constants.%A, (constants.%I.impl_witness.6ad) [concrete = constants.%I.facet.64b] -// CHECK:STDOUT: %.loc24_23.1: %I.type = converted constants.%A, %I.facet.loc24_23.1 [concrete = constants.%I.facet.64b] -// CHECK:STDOUT: %I.facet.loc24_23.2: %I.type = facet_value constants.%A, (constants.%I.impl_witness.6ad) [concrete = constants.%I.facet.64b] -// CHECK:STDOUT: %.loc24_23.2: %I.type = converted constants.%A, %I.facet.loc24_23.2 [concrete = constants.%I.facet.64b] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F__carbon_thunk.83afdff581006d1a.ref, @F(constants.%I.facet.64b) [concrete = constants.%F.specific_fn.f33] +// CHECK:STDOUT: %F__carbon_thunk.26f2099a79512a5d.ref: %F.type = name_ref F__carbon_thunk.26f2099a79512a5d, file.%F.decl [concrete = constants.%F] +// CHECK:STDOUT: %I.facet.loc24_23.1: %I.type = facet_value constants.%A, (constants.%I.impl_witness.ca2) [concrete = constants.%I.facet.f31] +// CHECK:STDOUT: %.loc24_23.1: %I.type = converted constants.%A, %I.facet.loc24_23.1 [concrete = constants.%I.facet.f31] +// CHECK:STDOUT: %I.facet.loc24_23.2: %I.type = facet_value constants.%A, (constants.%I.impl_witness.ca2) [concrete = constants.%I.facet.f31] +// CHECK:STDOUT: %.loc24_23.2: %I.type = converted constants.%A, %I.facet.loc24_23.2 [concrete = constants.%I.facet.f31] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F__carbon_thunk.26f2099a79512a5d.ref, @F(constants.%I.facet.f31) [concrete = constants.%F.specific_fn.9d8] // CHECK:STDOUT: %.loc24_23.3: ref %A = splice_block %_.param.loc24_23.2 {} // CHECK:STDOUT: %.loc24_23.4: %A = acquire_value %_.param.loc24_23.1 // CHECK:STDOUT: %F.call: init %A to %.loc24_23.3 = call %F.specific_fn(%.loc24_23.4) @@ -501,14 +501,14 @@ void G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F__carbon_thunk.36f470e96b413347(%_.param.loc24_23.1: ref %B, %_.param.loc24_23.2: ref %B) { +// CHECK:STDOUT: fn @F__carbon_thunk.7a3b9f04ddf4269e(%_.param.loc24_23.1: ref %B, %_.param.loc24_23.2: ref %B) { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %F__carbon_thunk.36f470e96b413347.ref: %F.type = name_ref F__carbon_thunk.36f470e96b413347, file.%F.decl [concrete = constants.%F] -// CHECK:STDOUT: %I.facet.loc24_23.1: %I.type = facet_value constants.%B, (constants.%I.impl_witness.5b8) [concrete = constants.%I.facet.9f8] -// CHECK:STDOUT: %.loc24_23.1: %I.type = converted constants.%B, %I.facet.loc24_23.1 [concrete = constants.%I.facet.9f8] -// CHECK:STDOUT: %I.facet.loc24_23.2: %I.type = facet_value constants.%B, (constants.%I.impl_witness.5b8) [concrete = constants.%I.facet.9f8] -// CHECK:STDOUT: %.loc24_23.2: %I.type = converted constants.%B, %I.facet.loc24_23.2 [concrete = constants.%I.facet.9f8] -// CHECK:STDOUT: %F.specific_fn: = specific_function %F__carbon_thunk.36f470e96b413347.ref, @F(constants.%I.facet.9f8) [concrete = constants.%F.specific_fn.db2] +// CHECK:STDOUT: %F__carbon_thunk.7a3b9f04ddf4269e.ref: %F.type = name_ref F__carbon_thunk.7a3b9f04ddf4269e, file.%F.decl [concrete = constants.%F] +// CHECK:STDOUT: %I.facet.loc24_23.1: %I.type = facet_value constants.%B, (constants.%I.impl_witness.b14) [concrete = constants.%I.facet.a68] +// CHECK:STDOUT: %.loc24_23.1: %I.type = converted constants.%B, %I.facet.loc24_23.1 [concrete = constants.%I.facet.a68] +// CHECK:STDOUT: %I.facet.loc24_23.2: %I.type = facet_value constants.%B, (constants.%I.impl_witness.b14) [concrete = constants.%I.facet.a68] +// CHECK:STDOUT: %.loc24_23.2: %I.type = converted constants.%B, %I.facet.loc24_23.2 [concrete = constants.%I.facet.a68] +// CHECK:STDOUT: %F.specific_fn: = specific_function %F__carbon_thunk.7a3b9f04ddf4269e.ref, @F(constants.%I.facet.a68) [concrete = constants.%F.specific_fn.480] // CHECK:STDOUT: %.loc24_23.3: ref %B = splice_block %_.param.loc24_23.2 {} // CHECK:STDOUT: %.loc24_23.4: %B = acquire_value %_.param.loc24_23.1 // CHECK:STDOUT: %F.call: init %B to %.loc24_23.3 = call %F.specific_fn(%.loc24_23.4) @@ -534,15 +534,15 @@ void G() { // CHECK:STDOUT: %return.patt.loc6_17.2 => constants.%return.patt.44a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.64b) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.f31) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.64b -// CHECK:STDOUT: %I.WithSelf.Doit.type => constants.%I.WithSelf.Doit.type.5b3 -// CHECK:STDOUT: %I.WithSelf.Doit => constants.%I.WithSelf.Doit.dab +// CHECK:STDOUT: %Self => constants.%I.facet.f31 +// CHECK:STDOUT: %I.WithSelf.Doit.type => constants.%I.WithSelf.Doit.type.808 +// CHECK:STDOUT: %I.WithSelf.Doit => constants.%I.WithSelf.Doit.ebf // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.Doit(constants.%I.facet.64b) { -// CHECK:STDOUT: %Self => constants.%I.facet.64b +// CHECK:STDOUT: specific @I.WithSelf.Doit(constants.%I.facet.f31) { +// CHECK:STDOUT: %Self => constants.%I.facet.f31 // CHECK:STDOUT: %Self.as_type.loc6_11.1 => constants.%A // CHECK:STDOUT: %pattern_type => constants.%pattern_type.9ef // CHECK:STDOUT: %self.param_patt.loc6_11.2 => constants.%self.param_patt.04e @@ -552,15 +552,15 @@ void G() { // CHECK:STDOUT: %return.patt.loc6_17.2 => constants.%return.patt.a6d // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.9f8) { +// CHECK:STDOUT: specific @I.WithSelf(constants.%I.facet.a68) { // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %Self => constants.%I.facet.9f8 -// CHECK:STDOUT: %I.WithSelf.Doit.type => constants.%I.WithSelf.Doit.type.2ce -// CHECK:STDOUT: %I.WithSelf.Doit => constants.%I.WithSelf.Doit.450 +// CHECK:STDOUT: %Self => constants.%I.facet.a68 +// CHECK:STDOUT: %I.WithSelf.Doit.type => constants.%I.WithSelf.Doit.type.a07 +// CHECK:STDOUT: %I.WithSelf.Doit => constants.%I.WithSelf.Doit.9cf // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @I.WithSelf.Doit(constants.%I.facet.9f8) { -// CHECK:STDOUT: %Self => constants.%I.facet.9f8 +// CHECK:STDOUT: specific @I.WithSelf.Doit(constants.%I.facet.a68) { +// CHECK:STDOUT: %Self => constants.%I.facet.a68 // CHECK:STDOUT: %Self.as_type.loc6_11.1 => constants.%B // CHECK:STDOUT: %pattern_type => constants.%pattern_type.e39 // CHECK:STDOUT: %self.param_patt.loc6_11.2 => constants.%self.param_patt.f1f @@ -602,7 +602,7 @@ void G() { // CHECK:STDOUT: // CHECK:STDOUT: specific @F(file.%.loc24_23.1) { // CHECK:STDOUT: %T.patt.loc24_7.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc24_7.1 => constants.%I.facet.64b +// CHECK:STDOUT: %T.loc24_7.1 => constants.%I.facet.f31 // CHECK:STDOUT: %T.as_type.loc24_15.1 => constants.%A // CHECK:STDOUT: %pattern_type => constants.%pattern_type.9ef // CHECK:STDOUT: %t.param_patt.loc24_13.2 => constants.%t.param_patt.169 @@ -612,9 +612,9 @@ void G() { // CHECK:STDOUT: %return.patt.loc24_18.2 => constants.%return.patt.a6d // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F(constants.%I.facet.64b) { +// CHECK:STDOUT: specific @F(constants.%I.facet.f31) { // CHECK:STDOUT: %T.patt.loc24_7.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc24_7.1 => constants.%I.facet.64b +// CHECK:STDOUT: %T.loc24_7.1 => constants.%I.facet.f31 // CHECK:STDOUT: %T.as_type.loc24_15.1 => constants.%A // CHECK:STDOUT: %pattern_type => constants.%pattern_type.9ef // CHECK:STDOUT: %t.param_patt.loc24_13.2 => constants.%t.param_patt.169 @@ -625,16 +625,16 @@ void G() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type -// CHECK:STDOUT: %I.WithSelf.Doit.type => constants.%I.WithSelf.Doit.type.5b3 -// CHECK:STDOUT: %.loc25_11 => constants.%.660 -// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.6ad +// CHECK:STDOUT: %I.WithSelf.Doit.type => constants.%I.WithSelf.Doit.type.808 +// CHECK:STDOUT: %.loc25_11 => constants.%.760 +// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.ca2 // CHECK:STDOUT: %impl.elem0.loc25_11.2 => constants.%A.as.I.impl.Doit // CHECK:STDOUT: %specific_impl_fn.loc25_11.2 => constants.%A.as.I.impl.Doit // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @F(file.%.loc24_23.2) { // CHECK:STDOUT: %T.patt.loc24_7.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc24_7.1 => constants.%I.facet.9f8 +// CHECK:STDOUT: %T.loc24_7.1 => constants.%I.facet.a68 // CHECK:STDOUT: %T.as_type.loc24_15.1 => constants.%B // CHECK:STDOUT: %pattern_type => constants.%pattern_type.e39 // CHECK:STDOUT: %t.param_patt.loc24_13.2 => constants.%t.param_patt.267 @@ -644,9 +644,9 @@ void G() { // CHECK:STDOUT: %return.patt.loc24_18.2 => constants.%return.patt.911 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @F(constants.%I.facet.9f8) { +// CHECK:STDOUT: specific @F(constants.%I.facet.a68) { // CHECK:STDOUT: %T.patt.loc24_7.2 => constants.%T.patt -// CHECK:STDOUT: %T.loc24_7.1 => constants.%I.facet.9f8 +// CHECK:STDOUT: %T.loc24_7.1 => constants.%I.facet.a68 // CHECK:STDOUT: %T.as_type.loc24_15.1 => constants.%B // CHECK:STDOUT: %pattern_type => constants.%pattern_type.e39 // CHECK:STDOUT: %t.param_patt.loc24_13.2 => constants.%t.param_patt.267 @@ -657,9 +657,9 @@ void G() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete => constants.%complete_type -// CHECK:STDOUT: %I.WithSelf.Doit.type => constants.%I.WithSelf.Doit.type.2ce -// CHECK:STDOUT: %.loc25_11 => constants.%.545 -// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.5b8 +// CHECK:STDOUT: %I.WithSelf.Doit.type => constants.%I.WithSelf.Doit.type.a07 +// CHECK:STDOUT: %.loc25_11 => constants.%.10f +// CHECK:STDOUT: %I.lookup_impl_witness => constants.%I.impl_witness.b14 // CHECK:STDOUT: %impl.elem0.loc25_11.2 => constants.%B.as.I.impl.Doit // CHECK:STDOUT: %specific_impl_fn.loc25_11.2 => constants.%B.as.I.impl.Doit // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/function/import/arithmetic_types_bridged.carbon b/toolchain/check/testdata/interop/cpp/function/import/arithmetic_types_bridged.carbon index b905d54443cf..dc314dd3ba3e 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/arithmetic_types_bridged.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/arithmetic_types_bridged.carbon @@ -566,10 +566,10 @@ fn F() { // CHECK:STDOUT: %foo__carbon_thunk.type: type = fn_type @foo__carbon_thunk [concrete] // CHECK:STDOUT: %foo__carbon_thunk: %foo__carbon_thunk.type = struct_value () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.713: = impl_witness imports.%Copy.impl_witness_table.1ff [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.713) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.15e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4a4, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5e1: = impl_witness imports.%Copy.impl_witness_table.bda [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.d02: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.e28: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d02, %Copy.facet [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.type: type = fn_type @bool.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op: %bool.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.bound: = bound_method %true, %bool.as.Copy.impl.Op [concrete] @@ -589,7 +589,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.9c3: %bool.as.Copy.impl.Op.type = import_ref Core//prelude/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%bool.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.1ff = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.bda = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -597,7 +597,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %true, %impl.elem0 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%true) [concrete = constants.%true] // CHECK:STDOUT: %.loc8_11.1: ref bool = temporary_storage @@ -620,10 +620,10 @@ fn F() { // CHECK:STDOUT: %foo__carbon_thunk.type: type = fn_type @foo__carbon_thunk [concrete] // CHECK:STDOUT: %foo__carbon_thunk: %foo__carbon_thunk.type = struct_value () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.713: = impl_witness imports.%Copy.impl_witness_table.1ff [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.713) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.15e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4a4, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5e1: = impl_witness imports.%Copy.impl_witness_table.bda [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.d02: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.e28: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d02, %Copy.facet [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.type: type = fn_type @bool.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op: %bool.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.bound: = bound_method %false, %bool.as.Copy.impl.Op [concrete] @@ -643,7 +643,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.9c3: %bool.as.Copy.impl.Op.type = import_ref Core//prelude/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%bool.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.1ff = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.bda = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -651,7 +651,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %false: bool = bool_literal false [concrete = constants.%false] -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %false, %impl.elem0 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%false) [concrete = constants.%false] // CHECK:STDOUT: %.loc8_11.1: ref bool = temporary_storage @@ -673,8 +673,8 @@ fn F() { // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Negate.impl_witness: = impl_witness imports.%Negate.impl_witness_table [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value Core.IntLiteral, (%Negate.impl_witness) [concrete] -// CHECK:STDOUT: %Negate.WithSelf.Op.type.db1: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] -// CHECK:STDOUT: %.e9b: type = fn_type_with_self_type %Negate.WithSelf.Op.type.db1, %Negate.facet [concrete] +// CHECK:STDOUT: %Negate.WithSelf.Op.type.e85: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] +// CHECK:STDOUT: %.758: type = fn_type_with_self_type %Negate.WithSelf.Op.type.e85, %Negate.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.type: type = fn_type @Core.IntLiteral.as.Negate.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op: %Core.IntLiteral.as.Negate.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.bound: = bound_method %int_1, %Core.IntLiteral.as.Negate.impl.Op [concrete] @@ -691,24 +691,24 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.925: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_8) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.1b5: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_8) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.f5b: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_8) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.868: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.f5b = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.869 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.925) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.41c: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i8, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.003: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.41c, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.869 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.1b5) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.999: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i8, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.5d4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.999, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_-1.638, %Core.IntLiteral.as.ImplicitAs.impl.Convert.868 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.868, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_8) [concrete] // CHECK:STDOUT: %bound_method.628: = bound_method %int_-1.638, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_-1.e55: %i8 = int_value -1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.f74: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_8) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.6b3: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_8) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.738: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_8) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.7fb: %Int.as.Copy.impl.Op.type.738 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i8, (%Copy.impl_witness.f74) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ba8: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.dde: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ba8, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i8, (%Copy.impl_witness.6b3) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.2d8: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d58: type = fn_type_with_self_type %Copy.WithSelf.Op.type.2d8, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_-1.e55, %Int.as.Copy.impl.Op.7fb [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.7fb, @Int.as.Copy.impl.Op(%int_8) [concrete] // CHECK:STDOUT: %bound_method.cfe: = bound_method %int_-1.e55, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -734,9 +734,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -744,10 +744,10 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %impl.elem1: %.e9b = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.758 = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.call: init Core.IntLiteral = call %bound_method.loc8_11.1(%int_1) [concrete = constants.%int_-1.638] -// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.003 = impl_witness_access constants.%ImplicitAs.impl_witness.925, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.868] +// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.5d4 = impl_witness_access constants.%ImplicitAs.impl_witness.1b5, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.868] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %Core.IntLiteral.as.Negate.impl.Op.call, %impl.elem0.loc8_11.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_11.1: = specific_function %impl.elem0.loc8_11.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_8) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.3: = bound_method %Core.IntLiteral.as.Negate.impl.Op.call, %specific_fn.loc8_11.1 [concrete = constants.%bound_method.628] @@ -756,7 +756,7 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i8 = call %bound_method.loc8_11.3(%.loc8_11.2) [concrete = constants.%int_-1.e55] // CHECK:STDOUT: %.loc8_11.3: %i8 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_-1.e55] // CHECK:STDOUT: %.loc8_11.4: %i8 = converted %Core.IntLiteral.as.Negate.impl.Op.call, %.loc8_11.3 [concrete = constants.%int_-1.e55] -// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.dde = impl_witness_access constants.%Copy.impl_witness.f74, element0 [concrete = constants.%Int.as.Copy.impl.Op.7fb] +// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.d58 = impl_witness_access constants.%Copy.impl_witness.6b3, element0 [concrete = constants.%Int.as.Copy.impl.Op.7fb] // CHECK:STDOUT: %bound_method.loc8_11.4: = bound_method %.loc8_11.4, %impl.elem0.loc8_11.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_11.2: = specific_function %impl.elem0.loc8_11.2, @Int.as.Copy.impl.Op(constants.%int_8) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.5: = bound_method %.loc8_11.4, %specific_fn.loc8_11.2 [concrete = constants.%bound_method.cfe] @@ -795,24 +795,24 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.b68(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.170: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.fad: = impl_witness imports.%ImplicitAs.impl_witness_table.42f, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_8) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.9bb: = impl_witness imports.%ImplicitAs.impl_witness_table.f01, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_8) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e32: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_8) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.a13: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e32 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.fad) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.c0f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u8, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.633: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.c0f, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.9bb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6cc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u8, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.8ef: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6cc, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.a13 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.a13, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_8) [concrete] // CHECK:STDOUT: %bound_method.ce6: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.067: %u8 = int_value 1 [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.0c5: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.38a: %UInt.as.Copy.impl.Op.type.0c5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ed5: = impl_witness imports.%Copy.impl_witness_table.fe3, @UInt.as.Copy.impl(%int_8) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.2eb: = impl_witness imports.%Copy.impl_witness_table.ae7, @UInt.as.Copy.impl(%int_8) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.83b: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_8) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.dcb: %UInt.as.Copy.impl.Op.type.83b = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %u8, (%Copy.impl_witness.ed5) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.7ac: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a84: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7ac, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %u8, (%Copy.impl_witness.2eb) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.1aa: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.7c0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.1aa, %Copy.facet [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.bound: = bound_method %int_1.067, %UInt.as.Copy.impl.Op.dcb [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.dcb, @UInt.as.Copy.impl.Op(%int_8) [concrete] // CHECK:STDOUT: %bound_method.0fe: = bound_method %int_1.067, %UInt.as.Copy.impl.Op.specific_fn [concrete] @@ -835,9 +835,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.aa5: @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.170)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.42f = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f01 = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] // CHECK:STDOUT: %Core.import_ref.791: @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op.type (%UInt.as.Copy.impl.Op.type.0c5) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op (constants.%UInt.as.Copy.impl.Op.38a)] -// CHECK:STDOUT: %Copy.impl_witness_table.fe3 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ae7 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -845,14 +845,14 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.633 = impl_witness_access constants.%ImplicitAs.impl_witness.fad, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a13] +// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.8ef = impl_witness_access constants.%ImplicitAs.impl_witness.9bb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a13] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0.loc8_11.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_11.1: = specific_function %impl.elem0.loc8_11.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_8) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn.loc8_11.1 [concrete = constants.%bound_method.ce6] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %u8 = call %bound_method.loc8_11.2(%int_1) [concrete = constants.%int_1.067] // CHECK:STDOUT: %.loc8_11.1: %u8 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.067] // CHECK:STDOUT: %.loc8_11.2: %u8 = converted %int_1, %.loc8_11.1 [concrete = constants.%int_1.067] -// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.a84 = impl_witness_access constants.%Copy.impl_witness.ed5, element0 [concrete = constants.%UInt.as.Copy.impl.Op.dcb] +// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.7c0 = impl_witness_access constants.%Copy.impl_witness.2eb, element0 [concrete = constants.%UInt.as.Copy.impl.Op.dcb] // CHECK:STDOUT: %bound_method.loc8_11.3: = bound_method %.loc8_11.2, %impl.elem0.loc8_11.2 [concrete = constants.%UInt.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_11.2: = specific_function %impl.elem0.loc8_11.2, @UInt.as.Copy.impl.Op(constants.%int_8) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.4: = bound_method %.loc8_11.2, %specific_fn.loc8_11.2 [concrete = constants.%bound_method.0fe] @@ -888,18 +888,18 @@ fn F() { // CHECK:STDOUT: %foo__carbon_thunk: %foo__carbon_thunk.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.e81: type = facet_type <@ImplicitAs, @ImplicitAs(%char)> [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.780: = impl_witness imports.%ImplicitAs.impl_witness_table.8a5 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.e81 = facet_value Core.CharLiteral, (%ImplicitAs.impl_witness.780) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.0c6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%char, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1e6: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.0c6, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.1ff: = impl_witness imports.%ImplicitAs.impl_witness_table.5e3 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.e81 = facet_value Core.CharLiteral, (%ImplicitAs.impl_witness.1ff) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a04: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%char, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.601: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a04, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.CharLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert: %Core.CharLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %.d16, %Core.CharLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_88: %char = int_value 88 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.769: = impl_witness imports.%Copy.impl_witness_table.5aa [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %char, (%Copy.impl_witness.769) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.18f: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.367: type = fn_type_with_self_type %Copy.WithSelf.Op.type.18f, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.58a: = impl_witness imports.%Copy.impl_witness_table.893 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %char, (%Copy.impl_witness.58a) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.35f: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.adc: type = fn_type_with_self_type %Copy.WithSelf.Op.type.35f, %Copy.facet [concrete] // CHECK:STDOUT: %char.as.Copy.impl.Op.type: type = fn_type @char.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %char.as.Copy.impl.Op: %char.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %char.as.Copy.impl.Op.bound: = bound_method %int_88, %char.as.Copy.impl.Op [concrete] @@ -922,9 +922,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.CharLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/char, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.8a5 = impl_witness_table (%Core.import_ref.06c), @Core.CharLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5e3 = impl_witness_table (%Core.import_ref.06c), @Core.CharLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.9c3: %char.as.Copy.impl.Op.type = import_ref Core//prelude/types/char, loc{{\d+_\d+}}, loaded [concrete = constants.%char.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.5aa = impl_witness_table (%Core.import_ref.9c3), @char.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.893 = impl_witness_table (%Core.import_ref.9c3), @char.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -932,12 +932,12 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %.loc8_11.1: Core.CharLiteral = char_value U+0058 [concrete = constants.%.d16] -// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.1e6 = impl_witness_access constants.%ImplicitAs.impl_witness.780, element0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.601 = impl_witness_access constants.%ImplicitAs.impl_witness.1ff, element0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %.loc8_11.1, %impl.elem0.loc8_11.1 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.call: init %char = call %bound_method.loc8_11.1(%.loc8_11.1) [concrete = constants.%int_88] // CHECK:STDOUT: %.loc8_11.2: %char = value_of_initializer %Core.CharLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_88] // CHECK:STDOUT: %.loc8_11.3: %char = converted %.loc8_11.1, %.loc8_11.2 [concrete = constants.%int_88] -// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.367 = impl_witness_access constants.%Copy.impl_witness.769, element0 [concrete = constants.%char.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.adc = impl_witness_access constants.%Copy.impl_witness.58a, element0 [concrete = constants.%char.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %.loc8_11.3, %impl.elem0.loc8_11.2 [concrete = constants.%char.as.Copy.impl.Op.bound] // CHECK:STDOUT: %char.as.Copy.impl.Op.call: init %char = call %bound_method.loc8_11.2(%.loc8_11.3) [concrete = constants.%int_88] // CHECK:STDOUT: %.loc8_11.4: ref %char = temporary_storage @@ -999,12 +999,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1023,7 +1023,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1031,7 +1031,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -1105,12 +1105,12 @@ fn F() { // CHECK:STDOUT: %To.fe9: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.820: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0df: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.4b7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.70c: %Core.IntLiteral.as.As.impl.Convert.type.4b7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.820) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d73: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] -// CHECK:STDOUT: %.6b5: type = fn_type_with_self_type %As.WithSelf.Convert.type.d73, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.0df) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.4ac: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] +// CHECK:STDOUT: %.45d: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ac, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.70c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.70c, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.a0f: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1121,12 +1121,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.7d9: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b46: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.16c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.25c: %Int.as.Copy.impl.Op.type.16c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.7d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.332: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.000: type = fn_type_with_self_type %Copy.WithSelf.Op.type.332, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.b46) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.bde: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.bde, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.25c [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.25c, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.47b: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1144,14 +1144,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1160,14 +1160,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] -// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.6b5 = impl_witness_access constants.%As.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] +// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.45d = impl_witness_access constants.%As.impl_witness.0df, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.2: = bound_method %int_1, %specific_fn.loc8_13.1 [concrete = constants.%bound_method.a0f] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i16 = call %bound_method.loc8_13.2(%int_1) [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.1: %i16 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.2: %i16 = converted %int_1, %.loc8_13.1 [concrete = constants.%int_1.d17] -// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc8_13.3: = bound_method %.loc8_13.2, %impl.elem0.loc8_13.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_13.2: = specific_function %impl.elem0.loc8_13.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.4: = bound_method %.loc8_13.2, %specific_fn.loc8_13.2 [concrete = constants.%bound_method.47b] @@ -1206,24 +1206,24 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.884: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_16) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.882: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.c22: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.c22 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.044 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.884) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d17: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i16, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.769: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d17, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.044 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.882) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7b5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i16, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.655: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7b5, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_32767.f4b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.67b: = bound_method %int_32767.f4b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_32767.6d2: %i16 = int_value 32767 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.7d9: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b46: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.16c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.25c: %Int.as.Copy.impl.Op.type.16c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.7d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.332: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.000: type = fn_type_with_self_type %Copy.WithSelf.Op.type.332, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.b46) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.bde: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.bde, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_32767.6d2, %Int.as.Copy.impl.Op.25c [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.25c, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.647: = bound_method %int_32767.6d2, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1246,9 +1246,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1256,14 +1256,14 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_32767: Core.IntLiteral = int_value 32767 [concrete = constants.%int_32767.f4b] -// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.769 = impl_witness_access constants.%ImplicitAs.impl_witness.884, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0] +// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.655 = impl_witness_access constants.%ImplicitAs.impl_witness.882, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_32767, %impl.elem0.loc8_11.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_11.1: = specific_function %impl.elem0.loc8_11.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_32767, %specific_fn.loc8_11.1 [concrete = constants.%bound_method.67b] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i16 = call %bound_method.loc8_11.2(%int_32767) [concrete = constants.%int_32767.6d2] // CHECK:STDOUT: %.loc8_11.1: %i16 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_32767.6d2] // CHECK:STDOUT: %.loc8_11.2: %i16 = converted %int_32767, %.loc8_11.1 [concrete = constants.%int_32767.6d2] -// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc8_11.3: = bound_method %.loc8_11.2, %impl.elem0.loc8_11.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_11.2: = specific_function %impl.elem0.loc8_11.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.4: = bound_method %.loc8_11.2, %specific_fn.loc8_11.2 [concrete = constants.%bound_method.647] @@ -1293,8 +1293,8 @@ fn F() { // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Negate.impl_witness: = impl_witness imports.%Negate.impl_witness_table [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value Core.IntLiteral, (%Negate.impl_witness) [concrete] -// CHECK:STDOUT: %Negate.WithSelf.Op.type.db1: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] -// CHECK:STDOUT: %.e9b: type = fn_type_with_self_type %Negate.WithSelf.Op.type.db1, %Negate.facet [concrete] +// CHECK:STDOUT: %Negate.WithSelf.Op.type.e85: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] +// CHECK:STDOUT: %.758: type = fn_type_with_self_type %Negate.WithSelf.Op.type.e85, %Negate.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.type: type = fn_type @Core.IntLiteral.as.Negate.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op: %Core.IntLiteral.as.Negate.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.bound: = bound_method %int_32768, %Core.IntLiteral.as.Negate.impl.Op [concrete] @@ -1311,24 +1311,24 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.884: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_16) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.882: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.c22: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.c22 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.044 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.884) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d17: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i16, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.769: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d17, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.044 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.882) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7b5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i16, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.655: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7b5, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_-32768.882, %Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.d1e: = bound_method %int_-32768.882, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_-32768.eb1: %i16 = int_value -32768 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.7d9: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b46: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.16c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.25c: %Int.as.Copy.impl.Op.type.16c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.7d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.332: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.000: type = fn_type_with_self_type %Copy.WithSelf.Op.type.332, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.b46) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.bde: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.bde, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_-32768.eb1, %Int.as.Copy.impl.Op.25c [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.25c, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.b0b: = bound_method %int_-32768.eb1, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1354,9 +1354,9 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1364,10 +1364,10 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_32768: Core.IntLiteral = int_value 32768 [concrete = constants.%int_32768] -// CHECK:STDOUT: %impl.elem1: %.e9b = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.758 = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_32768, %impl.elem1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.call: init Core.IntLiteral = call %bound_method.loc8_11.1(%int_32768) [concrete = constants.%int_-32768.882] -// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.769 = impl_witness_access constants.%ImplicitAs.impl_witness.884, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0] +// CHECK:STDOUT: %impl.elem0.loc8_11.1: %.655 = impl_witness_access constants.%ImplicitAs.impl_witness.882, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %Core.IntLiteral.as.Negate.impl.Op.call, %impl.elem0.loc8_11.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_11.1: = specific_function %impl.elem0.loc8_11.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.3: = bound_method %Core.IntLiteral.as.Negate.impl.Op.call, %specific_fn.loc8_11.1 [concrete = constants.%bound_method.d1e] @@ -1376,7 +1376,7 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i16 = call %bound_method.loc8_11.3(%.loc8_11.2) [concrete = constants.%int_-32768.eb1] // CHECK:STDOUT: %.loc8_11.3: %i16 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_-32768.eb1] // CHECK:STDOUT: %.loc8_11.4: %i16 = converted %Core.IntLiteral.as.Negate.impl.Op.call, %.loc8_11.3 [concrete = constants.%int_-32768.eb1] -// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc8_11.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc8_11.4: = bound_method %.loc8_11.4, %impl.elem0.loc8_11.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_11.2: = specific_function %impl.elem0.loc8_11.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.5: = bound_method %.loc8_11.4, %specific_fn.loc8_11.2 [concrete = constants.%bound_method.b0b] @@ -1411,12 +1411,12 @@ fn F() { // CHECK:STDOUT: %To.fe9: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.820: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0df: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.4b7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.70c: %Core.IntLiteral.as.As.impl.Convert.type.4b7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.820) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d73: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] -// CHECK:STDOUT: %.6b5: type = fn_type_with_self_type %As.WithSelf.Convert.type.d73, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.0df) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.4ac: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] +// CHECK:STDOUT: %.45d: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ac, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.70c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.70c, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.a0f: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1427,12 +1427,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.7d9: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b46: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.16c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.25c: %Int.as.Copy.impl.Op.type.16c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.7d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.332: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.000: type = fn_type_with_self_type %Copy.WithSelf.Op.type.332, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.b46) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.bde: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.bde, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.25c [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.25c, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.47b: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1450,14 +1450,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1466,14 +1466,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] -// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.6b5 = impl_witness_access constants.%As.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] +// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.45d = impl_witness_access constants.%As.impl_witness.0df, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.2: = bound_method %int_1, %specific_fn.loc8_13.1 [concrete = constants.%bound_method.a0f] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i16 = call %bound_method.loc8_13.2(%int_1) [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.1: %i16 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.2: %i16 = converted %int_1, %.loc8_13.1 [concrete = constants.%int_1.d17] -// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc8_13.3: = bound_method %.loc8_13.2, %impl.elem0.loc8_13.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_13.2: = specific_function %impl.elem0.loc8_13.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.4: = bound_method %.loc8_13.2, %specific_fn.loc8_13.2 [concrete = constants.%bound_method.47b] @@ -1508,12 +1508,12 @@ fn F() { // CHECK:STDOUT: %To.fe9: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.820: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0df: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.4b7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.70c: %Core.IntLiteral.as.As.impl.Convert.type.4b7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.820) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d73: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] -// CHECK:STDOUT: %.6b5: type = fn_type_with_self_type %As.WithSelf.Convert.type.d73, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.0df) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.4ac: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] +// CHECK:STDOUT: %.45d: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ac, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.70c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.70c, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.a0f: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1524,12 +1524,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.7d9: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b46: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.16c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.25c: %Int.as.Copy.impl.Op.type.16c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.7d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.332: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.000: type = fn_type_with_self_type %Copy.WithSelf.Op.type.332, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.b46) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.bde: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.bde, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.25c [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.25c, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.47b: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1547,14 +1547,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1563,14 +1563,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] -// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.6b5 = impl_witness_access constants.%As.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] +// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.45d = impl_witness_access constants.%As.impl_witness.0df, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.2: = bound_method %int_1, %specific_fn.loc8_13.1 [concrete = constants.%bound_method.a0f] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i16 = call %bound_method.loc8_13.2(%int_1) [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.1: %i16 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.2: %i16 = converted %int_1, %.loc8_13.1 [concrete = constants.%int_1.d17] -// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc8_13.3: = bound_method %.loc8_13.2, %impl.elem0.loc8_13.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_13.2: = specific_function %impl.elem0.loc8_13.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.4: = bound_method %.loc8_13.2, %specific_fn.loc8_13.2 [concrete = constants.%bound_method.47b] @@ -1605,12 +1605,12 @@ fn F() { // CHECK:STDOUT: %To.fe9: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.820: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0df: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.4b7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.70c: %Core.IntLiteral.as.As.impl.Convert.type.4b7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.820) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d73: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] -// CHECK:STDOUT: %.6b5: type = fn_type_with_self_type %As.WithSelf.Convert.type.d73, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.0df) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.4ac: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] +// CHECK:STDOUT: %.45d: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ac, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.70c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.70c, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.a0f: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1621,12 +1621,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.7d9: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b46: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.16c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.25c: %Int.as.Copy.impl.Op.type.16c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.7d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.332: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.000: type = fn_type_with_self_type %Copy.WithSelf.Op.type.332, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.b46) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.bde: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.bde, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.25c [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.25c, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.47b: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1644,14 +1644,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1660,14 +1660,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] -// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.6b5 = impl_witness_access constants.%As.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] +// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.45d = impl_witness_access constants.%As.impl_witness.0df, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.2: = bound_method %int_1, %specific_fn.loc8_13.1 [concrete = constants.%bound_method.a0f] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i16 = call %bound_method.loc8_13.2(%int_1) [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.1: %i16 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.2: %i16 = converted %int_1, %.loc8_13.1 [concrete = constants.%int_1.d17] -// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc8_13.3: = bound_method %.loc8_13.2, %impl.elem0.loc8_13.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_13.2: = specific_function %impl.elem0.loc8_13.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.4: = bound_method %.loc8_13.2, %specific_fn.loc8_13.2 [concrete = constants.%bound_method.47b] @@ -1702,12 +1702,12 @@ fn F() { // CHECK:STDOUT: %To.fe9: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.820: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0df: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.4b7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.70c: %Core.IntLiteral.as.As.impl.Convert.type.4b7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.820) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d73: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] -// CHECK:STDOUT: %.6b5: type = fn_type_with_self_type %As.WithSelf.Convert.type.d73, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.0df) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.4ac: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] +// CHECK:STDOUT: %.45d: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ac, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.70c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.70c, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.a0f: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1718,12 +1718,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.7d9: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b46: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.16c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.25c: %Int.as.Copy.impl.Op.type.16c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.7d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.332: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.000: type = fn_type_with_self_type %Copy.WithSelf.Op.type.332, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.b46) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.bde: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.bde, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.25c [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.25c, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.47b: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -1741,14 +1741,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1757,14 +1757,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] -// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.6b5 = impl_witness_access constants.%As.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] +// CHECK:STDOUT: %impl.elem0.loc8_13.1: %.45d = impl_witness_access constants.%As.impl_witness.0df, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.2: = bound_method %int_1, %specific_fn.loc8_13.1 [concrete = constants.%bound_method.a0f] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i16 = call %bound_method.loc8_13.2(%int_1) [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.1: %i16 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc8_13.2: %i16 = converted %int_1, %.loc8_13.1 [concrete = constants.%int_1.d17] -// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc8_13.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc8_13.3: = bound_method %.loc8_13.2, %impl.elem0.loc8_13.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_13.2: = specific_function %impl.elem0.loc8_13.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.4: = bound_method %.loc8_13.2, %specific_fn.loc8_13.2 [concrete = constants.%bound_method.47b] @@ -1798,12 +1798,12 @@ fn F() { // CHECK:STDOUT: %As.type.e34: type = facet_type <@As, @As(%f16.907)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.69a: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.829: %Core.FloatLiteral.as.As.impl.Convert.type.69a = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.705: = impl_witness imports.%As.impl_witness_table.aa3, @Core.FloatLiteral.as.As.impl(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.9f7: = impl_witness imports.%As.impl_witness_table.065, @Core.FloatLiteral.as.As.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.c80: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.f13: %Core.FloatLiteral.as.As.impl.Convert.type.c80 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.e34 = facet_value Core.FloatLiteral, (%As.impl_witness.705) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.5de: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f16.907, %As.facet) [concrete] -// CHECK:STDOUT: %.c60: type = fn_type_with_self_type %As.WithSelf.Convert.type.5de, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.e34 = facet_value Core.FloatLiteral, (%As.impl_witness.9f7) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.b84: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f16.907, %As.facet) [concrete] +// CHECK:STDOUT: %.300: type = fn_type_with_self_type %As.WithSelf.Convert.type.b84, %As.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.f13 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.f13, @Core.FloatLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.c4d: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1814,12 +1814,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.ff3: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.d93: %Float.as.Copy.impl.Op.type.ff3 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.70c: = impl_witness imports.%Copy.impl_witness_table.4e8, @Float.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f15: = impl_witness imports.%Copy.impl_witness_table.8dd, @Float.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.5ee: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.103: %Float.as.Copy.impl.Op.type.5ee = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f16.907, (%Copy.impl_witness.70c) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.574: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.ebf: type = fn_type_with_self_type %Copy.WithSelf.Op.type.574, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f16.907, (%Copy.impl_witness.f15) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.6de: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.3d1: type = fn_type_with_self_type %Copy.WithSelf.Op.type.6de, %Copy.facet [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float.c55, %Float.as.Copy.impl.Op.103 [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.103, @Float.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.237: = bound_method %float.c55, %Float.as.Copy.impl.Op.specific_fn [concrete] @@ -1837,14 +1837,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.c06: @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert.type (%Core.FloatLiteral.as.As.impl.Convert.type.69a) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert (constants.%Core.FloatLiteral.as.As.impl.Convert.829)] -// CHECK:STDOUT: %As.impl_witness_table.aa3 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.065 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.e69: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.ff3) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.Copy.impl.%Float.as.Copy.impl.Op (constants.%Float.as.Copy.impl.Op.d93)] -// CHECK:STDOUT: %Copy.impl_witness_table.4e8 = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8dd = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1853,14 +1853,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 8e-1 [concrete = constants.%float.96e] // CHECK:STDOUT: %f16: type = type_literal constants.%f16.907 [concrete = constants.%f16.907] -// CHECK:STDOUT: %impl.elem0.loc8_15.1: %.c60 = impl_witness_access constants.%As.impl_witness.705, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.f13] +// CHECK:STDOUT: %impl.elem0.loc8_15.1: %.300 = impl_witness_access constants.%As.impl_witness.9f7, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.f13] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %float, %impl.elem0.loc8_15.1 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_15.1: = specific_function %impl.elem0.loc8_15.1, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.2: = bound_method %float, %specific_fn.loc8_15.1 [concrete = constants.%bound_method.c4d] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.call: init %f16.907 = call %bound_method.loc8_15.2(%float) [concrete = constants.%float.c55] // CHECK:STDOUT: %.loc8_15.1: %f16.907 = value_of_initializer %Core.FloatLiteral.as.As.impl.Convert.call [concrete = constants.%float.c55] // CHECK:STDOUT: %.loc8_15.2: %f16.907 = converted %float, %.loc8_15.1 [concrete = constants.%float.c55] -// CHECK:STDOUT: %impl.elem0.loc8_15.2: %.ebf = impl_witness_access constants.%Copy.impl_witness.70c, element0 [concrete = constants.%Float.as.Copy.impl.Op.103] +// CHECK:STDOUT: %impl.elem0.loc8_15.2: %.3d1 = impl_witness_access constants.%Copy.impl_witness.f15, element0 [concrete = constants.%Float.as.Copy.impl.Op.103] // CHECK:STDOUT: %bound_method.loc8_15.3: = bound_method %.loc8_15.2, %impl.elem0.loc8_15.2 [concrete = constants.%Float.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_15.2: = specific_function %impl.elem0.loc8_15.2, @Float.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Float.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.4: = bound_method %.loc8_15.2, %specific_fn.loc8_15.2 [concrete = constants.%bound_method.237] @@ -1894,12 +1894,12 @@ fn F() { // CHECK:STDOUT: %As.type.093: type = facet_type <@As, @As(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.69a: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.829: %Core.FloatLiteral.as.As.impl.Convert.type.69a = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.406: = impl_witness imports.%As.impl_witness_table.aa3, @Core.FloatLiteral.as.As.impl(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.f4c: = impl_witness imports.%As.impl_witness_table.065, @Core.FloatLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.230: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.49e: %Core.FloatLiteral.as.As.impl.Convert.type.230 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.093 = facet_value Core.FloatLiteral, (%As.impl_witness.406) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.0fd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f32.c73, %As.facet) [concrete] -// CHECK:STDOUT: %.b4a: type = fn_type_with_self_type %As.WithSelf.Convert.type.0fd, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.093 = facet_value Core.FloatLiteral, (%As.impl_witness.f4c) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.7e0: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f32.c73, %As.facet) [concrete] +// CHECK:STDOUT: %.32f: type = fn_type_with_self_type %As.WithSelf.Convert.type.7e0, %As.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.49e [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.49e, @Core.FloatLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.cc6: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -1910,12 +1910,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.ff3: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.d93: %Float.as.Copy.impl.Op.type.ff3 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.478: = impl_witness imports.%Copy.impl_witness_table.4e8, @Float.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f13: = impl_witness imports.%Copy.impl_witness_table.8dd, @Float.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.bf9: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.ed6: %Float.as.Copy.impl.Op.type.bf9 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f32.c73, (%Copy.impl_witness.478) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.65e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.437: type = fn_type_with_self_type %Copy.WithSelf.Op.type.65e, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f32.c73, (%Copy.impl_witness.f13) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.1f6: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.241: type = fn_type_with_self_type %Copy.WithSelf.Op.type.1f6, %Copy.facet [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float.682, %Float.as.Copy.impl.Op.ed6 [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.ed6, @Float.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.89b: = bound_method %float.682, %Float.as.Copy.impl.Op.specific_fn [concrete] @@ -1933,14 +1933,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.c06: @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert.type (%Core.FloatLiteral.as.As.impl.Convert.type.69a) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert (constants.%Core.FloatLiteral.as.As.impl.Convert.829)] -// CHECK:STDOUT: %As.impl_witness_table.aa3 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.065 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.e69: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.ff3) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.Copy.impl.%Float.as.Copy.impl.Op (constants.%Float.as.Copy.impl.Op.d93)] -// CHECK:STDOUT: %Copy.impl_witness_table.4e8 = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8dd = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1949,14 +1949,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 8e-1 [concrete = constants.%float.96e] // CHECK:STDOUT: %f32: type = type_literal constants.%f32.c73 [concrete = constants.%f32.c73] -// CHECK:STDOUT: %impl.elem0.loc8_15.1: %.b4a = impl_witness_access constants.%As.impl_witness.406, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.49e] +// CHECK:STDOUT: %impl.elem0.loc8_15.1: %.32f = impl_witness_access constants.%As.impl_witness.f4c, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.49e] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %float, %impl.elem0.loc8_15.1 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_15.1: = specific_function %impl.elem0.loc8_15.1, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.2: = bound_method %float, %specific_fn.loc8_15.1 [concrete = constants.%bound_method.cc6] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.call: init %f32.c73 = call %bound_method.loc8_15.2(%float) [concrete = constants.%float.682] // CHECK:STDOUT: %.loc8_15.1: %f32.c73 = value_of_initializer %Core.FloatLiteral.as.As.impl.Convert.call [concrete = constants.%float.682] // CHECK:STDOUT: %.loc8_15.2: %f32.c73 = converted %float, %.loc8_15.1 [concrete = constants.%float.682] -// CHECK:STDOUT: %impl.elem0.loc8_15.2: %.437 = impl_witness_access constants.%Copy.impl_witness.478, element0 [concrete = constants.%Float.as.Copy.impl.Op.ed6] +// CHECK:STDOUT: %impl.elem0.loc8_15.2: %.241 = impl_witness_access constants.%Copy.impl_witness.f13, element0 [concrete = constants.%Float.as.Copy.impl.Op.ed6] // CHECK:STDOUT: %bound_method.loc8_15.3: = bound_method %.loc8_15.2, %impl.elem0.loc8_15.2 [concrete = constants.%Float.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_15.2: = specific_function %impl.elem0.loc8_15.2, @Float.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Float.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.4: = bound_method %.loc8_15.2, %specific_fn.loc8_15.2 [concrete = constants.%bound_method.89b] @@ -1990,12 +1990,12 @@ fn F() { // CHECK:STDOUT: %As.type.0e0: type = facet_type <@As, @As(%f64.dc1)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.69a: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.829: %Core.FloatLiteral.as.As.impl.Convert.type.69a = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.115: = impl_witness imports.%As.impl_witness_table.aa3, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.355: = impl_witness imports.%As.impl_witness_table.065, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.0cf: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.20d: %Core.FloatLiteral.as.As.impl.Convert.type.0cf = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.0e0 = facet_value Core.FloatLiteral, (%As.impl_witness.115) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.4d9: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.dc1, %As.facet) [concrete] -// CHECK:STDOUT: %.e52: type = fn_type_with_self_type %As.WithSelf.Convert.type.4d9, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.0e0 = facet_value Core.FloatLiteral, (%As.impl_witness.355) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.a43: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.dc1, %As.facet) [concrete] +// CHECK:STDOUT: %.a08: type = fn_type_with_self_type %As.WithSelf.Convert.type.a43, %As.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.20d [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.20d, @Core.FloatLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.c90: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -2006,12 +2006,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.ff3: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.d93: %Float.as.Copy.impl.Op.type.ff3 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.873: = impl_witness imports.%Copy.impl_witness_table.4e8, @Float.as.Copy.impl(%int_64) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0d6: = impl_witness imports.%Copy.impl_witness_table.8dd, @Float.as.Copy.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.7aa: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.9c2: %Float.as.Copy.impl.Op.type.7aa = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f64.dc1, (%Copy.impl_witness.873) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.2ca: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.557: type = fn_type_with_self_type %Copy.WithSelf.Op.type.2ca, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f64.dc1, (%Copy.impl_witness.0d6) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.aa5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.625: type = fn_type_with_self_type %Copy.WithSelf.Op.type.aa5, %Copy.facet [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float.82c, %Float.as.Copy.impl.Op.9c2 [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.9c2, @Float.as.Copy.impl.Op(%int_64) [concrete] // CHECK:STDOUT: %bound_method.994: = bound_method %float.82c, %Float.as.Copy.impl.Op.specific_fn [concrete] @@ -2029,14 +2029,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.c06: @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert.type (%Core.FloatLiteral.as.As.impl.Convert.type.69a) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert (constants.%Core.FloatLiteral.as.As.impl.Convert.829)] -// CHECK:STDOUT: %As.impl_witness_table.aa3 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.065 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.e69: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.ff3) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.Copy.impl.%Float.as.Copy.impl.Op (constants.%Float.as.Copy.impl.Op.d93)] -// CHECK:STDOUT: %Copy.impl_witness_table.4e8 = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8dd = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -2045,14 +2045,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 8e-1 [concrete = constants.%float.96e] // CHECK:STDOUT: %f64: type = type_literal constants.%f64.dc1 [concrete = constants.%f64.dc1] -// CHECK:STDOUT: %impl.elem0.loc8_15.1: %.e52 = impl_witness_access constants.%As.impl_witness.115, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.20d] +// CHECK:STDOUT: %impl.elem0.loc8_15.1: %.a08 = impl_witness_access constants.%As.impl_witness.355, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.20d] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %float, %impl.elem0.loc8_15.1 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_15.1: = specific_function %impl.elem0.loc8_15.1, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.2: = bound_method %float, %specific_fn.loc8_15.1 [concrete = constants.%bound_method.c90] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.call: init %f64.dc1 = call %bound_method.loc8_15.2(%float) [concrete = constants.%float.82c] // CHECK:STDOUT: %.loc8_15.1: %f64.dc1 = value_of_initializer %Core.FloatLiteral.as.As.impl.Convert.call [concrete = constants.%float.82c] // CHECK:STDOUT: %.loc8_15.2: %f64.dc1 = converted %float, %.loc8_15.1 [concrete = constants.%float.82c] -// CHECK:STDOUT: %impl.elem0.loc8_15.2: %.557 = impl_witness_access constants.%Copy.impl_witness.873, element0 [concrete = constants.%Float.as.Copy.impl.Op.9c2] +// CHECK:STDOUT: %impl.elem0.loc8_15.2: %.625 = impl_witness_access constants.%Copy.impl_witness.0d6, element0 [concrete = constants.%Float.as.Copy.impl.Op.9c2] // CHECK:STDOUT: %bound_method.loc8_15.3: = bound_method %.loc8_15.2, %impl.elem0.loc8_15.2 [concrete = constants.%Float.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_15.2: = specific_function %impl.elem0.loc8_15.2, @Float.as.Copy.impl.Op(constants.%int_64) [concrete = constants.%Float.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.4: = bound_method %.loc8_15.2, %specific_fn.loc8_15.2 [concrete = constants.%bound_method.994] @@ -2086,12 +2086,12 @@ fn F() { // CHECK:STDOUT: %As.type.1ce: type = facet_type <@As, @As(%f128.e39)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.69a: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.829: %Core.FloatLiteral.as.As.impl.Convert.type.69a = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.625: = impl_witness imports.%As.impl_witness_table.aa3, @Core.FloatLiteral.as.As.impl(%int_128) [concrete] +// CHECK:STDOUT: %As.impl_witness.d1d: = impl_witness imports.%As.impl_witness_table.065, @Core.FloatLiteral.as.As.impl(%int_128) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.954: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%int_128) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.566: %Core.FloatLiteral.as.As.impl.Convert.type.954 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.1ce = facet_value Core.FloatLiteral, (%As.impl_witness.625) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.af8: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f128.e39, %As.facet) [concrete] -// CHECK:STDOUT: %.b4a: type = fn_type_with_self_type %As.WithSelf.Convert.type.af8, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.1ce = facet_value Core.FloatLiteral, (%As.impl_witness.d1d) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.96a: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f128.e39, %As.facet) [concrete] +// CHECK:STDOUT: %.988: type = fn_type_with_self_type %As.WithSelf.Convert.type.96a, %As.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.566 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.566, @Core.FloatLiteral.as.As.impl.Convert(%int_128) [concrete] // CHECK:STDOUT: %bound_method.585: = bound_method %float.96e, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -2102,12 +2102,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.ff3: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.d93: %Float.as.Copy.impl.Op.type.ff3 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.64d: = impl_witness imports.%Copy.impl_witness_table.4e8, @Float.as.Copy.impl(%int_128) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.15a: = impl_witness imports.%Copy.impl_witness_table.8dd, @Float.as.Copy.impl(%int_128) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.86d: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_128) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.759: %Float.as.Copy.impl.Op.type.86d = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f128.e39, (%Copy.impl_witness.64d) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.77f: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.2d2: type = fn_type_with_self_type %Copy.WithSelf.Op.type.77f, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f128.e39, (%Copy.impl_witness.15a) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.acf: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.add: type = fn_type_with_self_type %Copy.WithSelf.Op.type.acf, %Copy.facet [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float.ede, %Float.as.Copy.impl.Op.759 [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.759, @Float.as.Copy.impl.Op(%int_128) [concrete] // CHECK:STDOUT: %bound_method.64d: = bound_method %float.ede, %Float.as.Copy.impl.Op.specific_fn [concrete] @@ -2125,14 +2125,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.c06: @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert.type (%Core.FloatLiteral.as.As.impl.Convert.type.69a) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert (constants.%Core.FloatLiteral.as.As.impl.Convert.829)] -// CHECK:STDOUT: %As.impl_witness_table.aa3 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.065 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.e69: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.ff3) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.Copy.impl.%Float.as.Copy.impl.Op (constants.%Float.as.Copy.impl.Op.d93)] -// CHECK:STDOUT: %Copy.impl_witness_table.4e8 = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8dd = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -2141,14 +2141,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 8e-1 [concrete = constants.%float.96e] // CHECK:STDOUT: %f128: type = type_literal constants.%f128.e39 [concrete = constants.%f128.e39] -// CHECK:STDOUT: %impl.elem0.loc8_15.1: %.b4a = impl_witness_access constants.%As.impl_witness.625, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.566] +// CHECK:STDOUT: %impl.elem0.loc8_15.1: %.988 = impl_witness_access constants.%As.impl_witness.d1d, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.566] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %float, %impl.elem0.loc8_15.1 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_15.1: = specific_function %impl.elem0.loc8_15.1, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_128) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.2: = bound_method %float, %specific_fn.loc8_15.1 [concrete = constants.%bound_method.585] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.call: init %f128.e39 = call %bound_method.loc8_15.2(%float) [concrete = constants.%float.ede] // CHECK:STDOUT: %.loc8_15.1: %f128.e39 = value_of_initializer %Core.FloatLiteral.as.As.impl.Convert.call [concrete = constants.%float.ede] // CHECK:STDOUT: %.loc8_15.2: %f128.e39 = converted %float, %.loc8_15.1 [concrete = constants.%float.ede] -// CHECK:STDOUT: %impl.elem0.loc8_15.2: %.2d2 = impl_witness_access constants.%Copy.impl_witness.64d, element0 [concrete = constants.%Float.as.Copy.impl.Op.759] +// CHECK:STDOUT: %impl.elem0.loc8_15.2: %.add = impl_witness_access constants.%Copy.impl_witness.15a, element0 [concrete = constants.%Float.as.Copy.impl.Op.759] // CHECK:STDOUT: %bound_method.loc8_15.3: = bound_method %.loc8_15.2, %impl.elem0.loc8_15.2 [concrete = constants.%Float.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc8_15.2: = specific_function %impl.elem0.loc8_15.2, @Float.as.Copy.impl.Op(constants.%int_128) [concrete = constants.%Float.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.4: = bound_method %.loc8_15.2, %specific_fn.loc8_15.2 [concrete = constants.%bound_method.64d] diff --git a/toolchain/check/testdata/interop/cpp/function/import/arithmetic_types_direct.carbon b/toolchain/check/testdata/interop/cpp/function/import/arithmetic_types_direct.carbon index ff0fd38b57de..e184154f9b07 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/arithmetic_types_direct.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/arithmetic_types_direct.carbon @@ -332,12 +332,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -356,7 +356,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -364,7 +364,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -390,12 +390,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2147483647.d89, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_2147483647.d89, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -414,7 +414,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -422,7 +422,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_2147483647: Core.IntLiteral = int_value 2147483647 [concrete = constants.%int_2147483647.d89] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_2147483647, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_2147483647, %specific_fn [concrete = constants.%bound_method] @@ -443,8 +443,8 @@ fn F() { // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Negate.impl_witness: = impl_witness imports.%Negate.impl_witness_table [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value Core.IntLiteral, (%Negate.impl_witness) [concrete] -// CHECK:STDOUT: %Negate.WithSelf.Op.type.db1: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] -// CHECK:STDOUT: %.e9b: type = fn_type_with_self_type %Negate.WithSelf.Op.type.db1, %Negate.facet [concrete] +// CHECK:STDOUT: %Negate.WithSelf.Op.type.e85: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] +// CHECK:STDOUT: %.758: type = fn_type_with_self_type %Negate.WithSelf.Op.type.e85, %Negate.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.type: type = fn_type @Core.IntLiteral.as.Negate.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op: %Core.IntLiteral.as.Negate.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.bound: = bound_method %int_2147483648, %Core.IntLiteral.as.Negate.impl.Op [concrete] @@ -457,12 +457,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_-2147483648.3b9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_-2147483648.3b9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -484,7 +484,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -492,10 +492,10 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_2147483648: Core.IntLiteral = int_value 2147483648 [concrete = constants.%int_2147483648] -// CHECK:STDOUT: %impl.elem1: %.e9b = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.758 = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_2147483648, %impl.elem1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.call: init Core.IntLiteral = call %bound_method.loc8_11.1(%int_2147483648) [concrete = constants.%int_-2147483648.3b9] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %Core.IntLiteral.as.Negate.impl.Op.call, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.3: = bound_method %Core.IntLiteral.as.Negate.impl.Op.call, %specific_fn [concrete = constants.%bound_method] @@ -523,12 +523,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -547,7 +547,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -555,7 +555,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -581,12 +581,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -605,7 +605,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -613,7 +613,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -639,12 +639,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.170: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.0a1: = impl_witness imports.%ImplicitAs.impl_witness_table.42f, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.231: = impl_witness imports.%ImplicitAs.impl_witness_table.f01, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.957: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.9db: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.957 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.efe = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.0a1) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.b71: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.22b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.b71, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.efe = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.231) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.342: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.c4e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.342, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.9db [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.9db, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -663,7 +663,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.aa5: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199) = import_ref Core//prelude/parts/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.170)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.42f = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f01 = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -671,7 +671,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.22b = impl_witness_access constants.%ImplicitAs.impl_witness.0a1, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.9db] +// CHECK:STDOUT: %impl.elem0: %.c4e = impl_witness_access constants.%ImplicitAs.impl_witness.231, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.9db] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -697,12 +697,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -721,7 +721,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -729,7 +729,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -756,12 +756,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -783,7 +783,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -792,14 +792,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc8_11: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_11: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0.loc8_11 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc8_11: = specific_function %impl.elem0.loc8_11, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn.loc8_11 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_11: init %i32 = call %bound_method.loc8_11.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_11.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_11 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_11.2: %i32 = converted %int_1, %.loc8_11.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc8_14: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_14: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_14.1: = bound_method %int_2, %impl.elem0.loc8_14 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc8_14: = specific_function %impl.elem0.loc8_14, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_14.2: = bound_method %int_2, %specific_fn.loc8_14 [concrete = constants.%bound_method.3cb] @@ -826,12 +826,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -866,7 +866,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %foo2.cpp_overload_set.value: %foo2.cpp_overload_set.type = cpp_overload_set_value @foo2.cpp_overload_set [concrete = constants.%foo2.cpp_overload_set.value] // CHECK:STDOUT: %foo2.decl: %foo2.type = fn_decl @foo2 [concrete = constants.%foo2] { // CHECK:STDOUT: @@ -881,14 +881,14 @@ fn F() { // CHECK:STDOUT: %foo1.ref: %foo1.cpp_overload_set.type = name_ref foo1, imports.%foo1.cpp_overload_set.value [concrete = constants.%foo1.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc8_12: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_12: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_12.1: = bound_method %int_1, %impl.elem0.loc8_12 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc8_12: = specific_function %impl.elem0.loc8_12, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_12.2: = bound_method %int_1, %specific_fn.loc8_12 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_12: init %i32 = call %bound_method.loc8_12.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_12.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_12 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_12.2: %i32 = converted %int_1, %.loc8_12.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc8_15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %int_2, %impl.elem0.loc8_15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc8_15: = specific_function %impl.elem0.loc8_15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_15.2: = bound_method %int_2, %specific_fn.loc8_15 [concrete = constants.%bound_method.3cb] @@ -900,14 +900,14 @@ fn F() { // CHECK:STDOUT: %foo2.ref: %foo2.cpp_overload_set.type = name_ref foo2, imports.%foo2.cpp_overload_set.value [concrete = constants.%foo2.cpp_overload_set.value] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc9_12: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_12: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_12.1: = bound_method %int_3, %impl.elem0.loc9_12 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc9_12: = specific_function %impl.elem0.loc9_12, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_12.2: = bound_method %int_3, %specific_fn.loc9_12 [concrete = constants.%bound_method.763] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_12: init %i32 = call %bound_method.loc9_12.2(%int_3) [concrete = constants.%int_3.410] // CHECK:STDOUT: %.loc9_12.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_12 [concrete = constants.%int_3.410] // CHECK:STDOUT: %.loc9_12.2: %i32 = converted %int_3, %.loc9_12.1 [concrete = constants.%int_3.410] -// CHECK:STDOUT: %impl.elem0.loc9_15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_15.1: = bound_method %int_4, %impl.elem0.loc9_15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc9_15: = specific_function %impl.elem0.loc9_15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_15.2: = bound_method %int_4, %specific_fn.loc9_15 [concrete = constants.%bound_method.b7a] @@ -933,12 +933,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -957,7 +957,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -965,7 +965,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -1030,12 +1030,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.091: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.227: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.091) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a04: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.f34: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a04, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.227) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.da7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.03f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.da7, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1054,7 +1054,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1062,7 +1062,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.f34 = impl_witness_access constants.%ImplicitAs.impl_witness.091, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] +// CHECK:STDOUT: %impl.elem0: %.03f = impl_witness_access constants.%ImplicitAs.impl_witness.227, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/function/import/class.carbon b/toolchain/check/testdata/interop/cpp/function/import/class.carbon index 77858665ecd8..241740cea0d2 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/class.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/class.carbon @@ -819,8 +819,8 @@ fn F() { // CHECK:STDOUT: %C.Op: %C.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.85f: = custom_witness (%C.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.338: %Default.type = facet_value %C, (%custom_witness.85f) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.8f7: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.338) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %C, (%DefaultOrUnformed.impl_witness.8f7) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6a8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.338) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %C, (%DefaultOrUnformed.impl_witness.6a8) [concrete] // CHECK:STDOUT: %C.cpp_destructor.type: type = fn_type @C.cpp_destructor [concrete] // CHECK:STDOUT: %C.cpp_destructor: %C.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -843,7 +843,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%c.param: %C) { @@ -855,7 +855,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr.f8b = addr_of %.loc8 // CHECK:STDOUT: %foo__carbon_thunk.call: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr) // CHECK:STDOUT: %x.var: ref %C = var_storage %x.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%C, (constants.%DefaultOrUnformed.impl_witness.8f7) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%C, (constants.%DefaultOrUnformed.impl_witness.6a8) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc10_24.1: %DefaultOrUnformed.type = converted constants.%C, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc10_24.1 [concrete = constants.%C] // CHECK:STDOUT: %.loc10_24.2: type = converted %.loc10_24.1, %as_type [concrete = constants.%C] @@ -948,8 +948,8 @@ fn F() { // CHECK:STDOUT: %O.Op: %O.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%O.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.240: %Default.type = facet_value %O, (%custom_witness.9b4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.3bc: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.240) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %O, (%DefaultOrUnformed.impl_witness.3bc) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6b8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.240) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %O, (%DefaultOrUnformed.impl_witness.6b8) [concrete] // CHECK:STDOUT: %O.cpp_destructor.type: type = fn_type @O.cpp_destructor [concrete] // CHECK:STDOUT: %O.cpp_destructor: %O.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -968,7 +968,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%c.param: %C) { @@ -980,7 +980,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr.39f = addr_of %.loc8 // CHECK:STDOUT: %foo__carbon_thunk.call: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr) // CHECK:STDOUT: %x.var: ref %O = var_storage %x.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%O, (constants.%DefaultOrUnformed.impl_witness.3bc) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%O, (constants.%DefaultOrUnformed.impl_witness.6b8) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc9_22.1: %DefaultOrUnformed.type = converted constants.%O, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc9_22.1 [concrete = constants.%O] // CHECK:STDOUT: %.loc9_22.2: type = converted %.loc9_22.1, %as_type [concrete = constants.%O] diff --git a/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon b/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon index 52759af87d59..96216c89681c 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/constexpr.carbon @@ -178,24 +178,24 @@ let a: array(i32, F()) = (1, 2, 3); // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.410: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %C.cpp_destructor.type: type = fn_type @C.cpp_destructor [concrete] // CHECK:STDOUT: %C.cpp_destructor: %C.cpp_destructor.type = struct_value () [concrete] @@ -215,9 +215,9 @@ let a: array(i32, F()) = (1, 2, 3); // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %C.cpp_destructor.decl: %C.cpp_destructor.type = fn_decl @C.cpp_destructor [concrete = constants.%C.cpp_destructor] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -229,7 +229,7 @@ let a: array(i32, F()) = (1, 2, 3); // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc19_18.1: ref %C = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc19: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc19: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_18.1: = bound_method %int_3, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_18.2: = bound_method %int_3, %specific_fn.loc19 [concrete = constants.%bound_method] @@ -254,7 +254,7 @@ let a: array(i32, F()) = (1, 2, 3); // CHECK:STDOUT: %a.ref: %C.elem = name_ref a, @C.%.1 [concrete = @C.%.1] // CHECK:STDOUT: %.loc20_11.1: ref %i32 = class_element_access %c.ref, element0 // CHECK:STDOUT: %.loc20_11.2: %i32 = acquire_value %.loc20_11.1 -// CHECK:STDOUT: %impl.elem0.loc20: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc20: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc20_11.1: = bound_method %.loc20_11.2, %impl.elem0.loc20 // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc20_11.2: = bound_method %.loc20_11.2, %specific_fn.loc20 diff --git a/toolchain/check/testdata/interop/cpp/function/import/decayed_param.carbon b/toolchain/check/testdata/interop/cpp/function/import/decayed_param.carbon index 81f3693e37e0..75b1f0244495 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/decayed_param.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/decayed_param.carbon @@ -94,12 +94,12 @@ fn F() { // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.f65: %T.as_type.as.DefaultOrUnformed.impl.Op.type.215 = struct_value () [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.e8f: type = ptr_type %T.67d [symbolic] -// CHECK:STDOUT: %UnformedInit.impl_witness.240: = impl_witness imports.%UnformedInit.impl_witness_table.a3e, @Int.as.UnformedInit.impl(%int_32) [concrete] -// CHECK:STDOUT: %UnformedInit.facet.74c: %UnformedInit.type = facet_value %i32, (%UnformedInit.impl_witness.240) [concrete] -// CHECK:STDOUT: %UnformedInit.impl_witness.5f7: = impl_witness imports.%UnformedInit.impl_witness_table.8f1, @array_type.as.UnformedInit.impl(%UnformedInit.facet.74c, %int_42) [concrete] -// CHECK:STDOUT: %UnformedInit.facet.100: %UnformedInit.type = facet_value %array_type.d58, (%UnformedInit.impl_witness.5f7) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.800: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.972, @T.as_type.as.DefaultOrUnformed.impl.52f(%UnformedInit.facet.100) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %array_type.d58, (%DefaultOrUnformed.impl_witness.800) [concrete] +// CHECK:STDOUT: %UnformedInit.impl_witness.0a2: = impl_witness imports.%UnformedInit.impl_witness_table.9b9, @Int.as.UnformedInit.impl(%int_32) [concrete] +// CHECK:STDOUT: %UnformedInit.facet.cac: %UnformedInit.type = facet_value %i32, (%UnformedInit.impl_witness.0a2) [concrete] +// CHECK:STDOUT: %UnformedInit.impl_witness.768: = impl_witness imports.%UnformedInit.impl_witness_table.96b, @array_type.as.UnformedInit.impl(%UnformedInit.facet.cac, %int_42) [concrete] +// CHECK:STDOUT: %UnformedInit.facet.033: %UnformedInit.type = facet_value %array_type.d58, (%UnformedInit.impl_witness.768) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.06a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.8f5, @T.as_type.as.DefaultOrUnformed.impl.52f(%UnformedInit.facet.033) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %array_type.d58, (%DefaultOrUnformed.impl_witness.06a) [concrete] // CHECK:STDOUT: %TakesArray.cpp_overload_set.type: type = cpp_overload_set_type @TakesArray.cpp_overload_set [concrete] // CHECK:STDOUT: %TakesArray.cpp_overload_set.value: %TakesArray.cpp_overload_set.type = cpp_overload_set_value @TakesArray.cpp_overload_set [concrete] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] @@ -107,12 +107,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -133,44 +133,44 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.4c4: %Destroy.type = facet_value %ptr.d08, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.b84: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.4c4) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.a80: = impl_witness imports.%OptionalStorage.impl_witness_table.8e2, @ptr.as.OptionalStorage.impl(%i32) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.0ce: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%i32) [concrete] // CHECK:STDOUT: %.0f8: type = maybe_unformed_type %ptr.d08 [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.d77: %OptionalStorage.type = facet_value %ptr.d08, (%OptionalStorage.impl_witness.a80) [concrete] -// CHECK:STDOUT: %Optional.2db: type = class_type @Optional, @Optional(%OptionalStorage.facet.d77) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.f91: %OptionalStorage.type = facet_value %ptr.d08, (%OptionalStorage.impl_witness.0ce) [concrete] +// CHECK:STDOUT: %Optional.5b3: type = class_type @Optional, @Optional(%OptionalStorage.facet.f91) [concrete] // CHECK:STDOUT: %TakesArray.type: type = fn_type @TakesArray [concrete] // CHECK:STDOUT: %TakesArray: %TakesArray.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.type.12e: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.2db)> [concrete] +// CHECK:STDOUT: %ImplicitAs.type.429: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.5b3)> [concrete] // CHECK:STDOUT: %OptionalAs.type.3b8: type = facet_type <@OptionalAs, @OptionalAs(%T.220)> [symbolic] // CHECK:STDOUT: %U.042: %OptionalAs.type.3b8 = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%T.220, %U.042) [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.331: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.type.5f2: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.d77)> [concrete] +// CHECK:STDOUT: %OptionalAs.type.313: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.f91)> [concrete] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.type.774: type = fn_type @T.as_type.as.OptionalAs.impl.Convert, @T.as_type.as.OptionalAs.impl(%T.220) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.5f9: %T.as_type.as.OptionalAs.impl.Convert.type.774 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.impl_witness.47d: = impl_witness imports.%OptionalAs.impl_witness_table.efa, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.d77) [concrete] -// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.5f2 = facet_value %ptr.d08, (%OptionalAs.impl_witness.47d) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.bc5: = impl_witness imports.%ImplicitAs.impl_witness_table.cf7, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.d77, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.e71: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.d77, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.07e: %U.as_type.as.ImplicitAs.impl.Convert.type.e71 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.94a: %ImplicitAs.type.12e = facet_value %ptr.d08, (%ImplicitAs.impl_witness.bc5) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.fde: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.2db, %ImplicitAs.facet.94a) [concrete] -// CHECK:STDOUT: %.7cf: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.fde, %ImplicitAs.facet.94a [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.07e, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.d77, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness.fc9: = impl_witness imports.%OptionalAs.impl_witness_table.2e9, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.f91) [concrete] +// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.313 = facet_value %ptr.d08, (%OptionalAs.impl_witness.fc9) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.66f: = impl_witness imports.%ImplicitAs.impl_witness_table.bb5, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.f91, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.22d: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.f91, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.8b6: %U.as_type.as.ImplicitAs.impl.Convert.type.22d = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.ea2: %ImplicitAs.type.429 = facet_value %ptr.d08, (%ImplicitAs.impl_witness.66f) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f01: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.5b3, %ImplicitAs.facet.ea2) [concrete] +// CHECK:STDOUT: %.fcc: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f01, %ImplicitAs.facet.ea2 [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.8b6, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.f91, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc11_18.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.4: %Destroy.Op.type.1d8f74.4 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.nullptr_t: type = class_type @NullptrT [concrete] // CHECK:STDOUT: %uninit: %Cpp.nullptr_t = uninitialized_value [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.501: type = fn_type @Cpp.nullptr_t.as.ImplicitAs.impl.Convert, @Cpp.nullptr_t.as.ImplicitAs.impl(%T.67d) [symbolic] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.642: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.501 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.781: = impl_witness imports.%ImplicitAs.impl_witness_table.cca, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.e65: type = fn_type @Cpp.nullptr_t.as.ImplicitAs.impl.Convert, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.db3: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.e65 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.b31: %ImplicitAs.type.12e = facet_value %Cpp.nullptr_t, (%ImplicitAs.impl_witness.781) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.491: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.2db, %ImplicitAs.facet.b31) [concrete] -// CHECK:STDOUT: %.6f0: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.491, %ImplicitAs.facet.b31 [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.bound: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.db3 [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.db3, @Cpp.nullptr_t.as.ImplicitAs.impl.Convert(%i32) [concrete] -// CHECK:STDOUT: %bound_method.4ba: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.1b3: type = fn_type @Cpp.nullptr_t.as.ImplicitAs.impl.Convert, @Cpp.nullptr_t.as.ImplicitAs.impl(%T.67d) [symbolic] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.208: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.1b3 = struct_value () [symbolic] +// CHECK:STDOUT: %ImplicitAs.impl_witness.64e: = impl_witness imports.%ImplicitAs.impl_witness_table.898, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.6eb: type = fn_type @Cpp.nullptr_t.as.ImplicitAs.impl.Convert, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.60f: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.6eb = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.db6: %ImplicitAs.type.429 = facet_value %Cpp.nullptr_t, (%ImplicitAs.impl_witness.64e) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d60: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.5b3, %ImplicitAs.facet.db6) [concrete] +// CHECK:STDOUT: %.a1f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d60, %ImplicitAs.facet.db6 [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.bound: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.60f [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.60f, @Cpp.nullptr_t.as.ImplicitAs.impl.Convert(%i32) [concrete] +// CHECK:STDOUT: %bound_method.518: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.8: type = fn_type @Destroy.Op.loc10_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.8: %Destroy.Op.type.1d8f74.8 = struct_value () [concrete] // CHECK:STDOUT: } @@ -182,43 +182,43 @@ fn F() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.083: @T.as_type.as.DefaultOrUnformed.impl.52f.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.215) = import_ref Core//prelude/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.52f.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.f65)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.972 = impl_witness_table (%Core.import_ref.083), @T.as_type.as.DefaultOrUnformed.impl.52f [concrete] -// CHECK:STDOUT: %UnformedInit.impl_witness_table.8f1 = impl_witness_table (), @array_type.as.UnformedInit.impl [concrete] -// CHECK:STDOUT: %UnformedInit.impl_witness_table.a3e = impl_witness_table (), @Int.as.UnformedInit.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.8f5 = impl_witness_table (%Core.import_ref.083), @T.as_type.as.DefaultOrUnformed.impl.52f [concrete] +// CHECK:STDOUT: %UnformedInit.impl_witness_table.96b = impl_witness_table (), @array_type.as.UnformedInit.impl [concrete] +// CHECK:STDOUT: %UnformedInit.impl_witness_table.9b9 = impl_witness_table (), @Int.as.UnformedInit.impl [concrete] // CHECK:STDOUT: %TakesArray.cpp_overload_set.value: %TakesArray.cpp_overload_set.type = cpp_overload_set_value @TakesArray.cpp_overload_set [concrete = constants.%TakesArray.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.509f: type = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%MaybeUnformed (constants.%MaybeUnformed.ddb)] // CHECK:STDOUT: %Core.import_ref.307: @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.None.type (%ptr.as.OptionalStorage.impl.None.type.2a7) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.None (constants.%ptr.as.OptionalStorage.impl.None.c23)] // CHECK:STDOUT: %Core.import_ref.fa7: @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.Some.type (%ptr.as.OptionalStorage.impl.Some.type.71e) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.Some (constants.%ptr.as.OptionalStorage.impl.Some.caa)] // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.8e2 = impl_witness_table (%Core.import_ref.509f, %Core.import_ref.307, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509f, %Core.import_ref.307, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %TakesArray.decl: %TakesArray.type = fn_decl @TakesArray [concrete = constants.%TakesArray] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc11_23.1: type = splice_block %Optional [concrete = constants.%Optional.2db] { +// CHECK:STDOUT: %.loc11_23.1: type = splice_block %Optional [concrete = constants.%Optional.5b3] { // CHECK:STDOUT: -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.d08, (constants.%OptionalStorage.impl_witness.a80) [concrete = constants.%OptionalStorage.facet.d77] -// CHECK:STDOUT: %.loc11_23.2: %OptionalStorage.type = converted constants.%ptr.d08, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.d77] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.d77) [concrete = constants.%Optional.2db] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.d08, (constants.%OptionalStorage.impl_witness.0ce) [concrete = constants.%OptionalStorage.facet.f91] +// CHECK:STDOUT: %.loc11_23.2: %OptionalStorage.type = converted constants.%ptr.d08, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.f91] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.f91) [concrete = constants.%Optional.5b3] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.eb9: @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert.type (%U.as_type.as.ImplicitAs.impl.Convert.type.ad5) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert (constants.%U.as_type.as.ImplicitAs.impl.Convert.331)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.cf7 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb5 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] // CHECK:STDOUT: %Core.import_ref.017d8: @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert.type (%T.as_type.as.OptionalAs.impl.Convert.type.774) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert (constants.%T.as_type.as.OptionalAs.impl.Convert.5f9)] -// CHECK:STDOUT: %OptionalAs.impl_witness_table.efa = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] -// CHECK:STDOUT: %Core.import_ref.5093: @Cpp.nullptr_t.as.ImplicitAs.impl.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type (%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.501) = import_ref Core//prelude/types/cpp/nullptr, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.nullptr_t.as.ImplicitAs.impl.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert (constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.642)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.cca = impl_witness_table (%Core.import_ref.5093), @Cpp.nullptr_t.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness_table.2e9 = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.49d: @Cpp.nullptr_t.as.ImplicitAs.impl.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type (%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.1b3) = import_ref Core//prelude/types/cpp/nullptr, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.nullptr_t.as.ImplicitAs.impl.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert (constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.208)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.898 = impl_witness_table (%Core.import_ref.49d), @Cpp.nullptr_t.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.var: ref %array_type.d58 = var_storage %n.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%array_type.d58, (constants.%DefaultOrUnformed.impl_witness.800) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%array_type.d58, (constants.%DefaultOrUnformed.impl_witness.06a) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc10_24.1: %DefaultOrUnformed.type = converted constants.%array_type.d58, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc10_24.1 [concrete = constants.%array_type.d58] // CHECK:STDOUT: %.loc10_24.2: type = converted %.loc10_24.1, %as_type [concrete = constants.%array_type.d58] @@ -240,7 +240,7 @@ fn F() { // CHECK:STDOUT: %TakesArray.ref.loc11: %TakesArray.cpp_overload_set.type = name_ref TakesArray, imports.%TakesArray.cpp_overload_set.value [concrete = constants.%TakesArray.cpp_overload_set.value] // CHECK:STDOUT: %n.ref: ref %array_type.d58 = name_ref n, %n // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc11_21: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11_21: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_21.1: = bound_method %int_0, %impl.elem0.loc11_21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_21: = specific_function %impl.elem0.loc11_21, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_21.2: = bound_method %int_0, %specific_fn.loc11_21 [concrete = constants.%bound_method.6e0] @@ -249,15 +249,15 @@ fn F() { // CHECK:STDOUT: %.loc11_21.2: %i32 = converted %int_0, %.loc11_21.1 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc11_22: ref %i32 = array_index %n.ref, %.loc11_21.2 // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %.loc11_22 -// CHECK:STDOUT: %impl.elem0.loc11_18: %.7cf = impl_witness_access constants.%ImplicitAs.impl_witness.bc5, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.07e] +// CHECK:STDOUT: %impl.elem0.loc11_18: %.fcc = impl_witness_access constants.%ImplicitAs.impl_witness.66f, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.8b6] // CHECK:STDOUT: %bound_method.loc11_18.1: = bound_method %addr, %impl.elem0.loc11_18 -// CHECK:STDOUT: %specific_fn.loc11_18: = specific_function %impl.elem0.loc11_18, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.d77, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] +// CHECK:STDOUT: %specific_fn.loc11_18: = specific_function %impl.elem0.loc11_18, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.f91, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_18.2: = bound_method %addr, %specific_fn.loc11_18 -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.2db = call %bound_method.loc11_18.2(%addr) -// CHECK:STDOUT: %.loc11_18.1: init %Optional.2db = converted %addr, %U.as_type.as.ImplicitAs.impl.Convert.call -// CHECK:STDOUT: %.loc11_18.2: ref %Optional.2db = temporary_storage -// CHECK:STDOUT: %.loc11_18.3: ref %Optional.2db = temporary %.loc11_18.2, %.loc11_18.1 -// CHECK:STDOUT: %.loc11_18.4: %Optional.2db = acquire_value %.loc11_18.3 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.5b3 = call %bound_method.loc11_18.2(%addr) +// CHECK:STDOUT: %.loc11_18.1: init %Optional.5b3 = converted %addr, %U.as_type.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.loc11_18.2: ref %Optional.5b3 = temporary_storage +// CHECK:STDOUT: %.loc11_18.3: ref %Optional.5b3 = temporary %.loc11_18.2, %.loc11_18.1 +// CHECK:STDOUT: %.loc11_18.4: %Optional.5b3 = acquire_value %.loc11_18.3 // CHECK:STDOUT: %TakesArray.call.loc11: init %empty_tuple.type = call imports.%TakesArray.decl(%.loc11_18.4) // CHECK:STDOUT: %Destroy.Op.bound.loc11: = bound_method %.loc11_18.3, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call.loc11: init %empty_tuple.type = call %Destroy.Op.bound.loc11(%.loc11_18.3) @@ -266,15 +266,15 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc13_18: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %nullptr.ref: %Cpp.nullptr_t = name_ref nullptr, %uninit [concrete = constants.%uninit] -// CHECK:STDOUT: %impl.elem0.loc13: %.6f0 = impl_witness_access constants.%ImplicitAs.impl_witness.781, element0 [concrete = constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.db3] +// CHECK:STDOUT: %impl.elem0.loc13: %.a1f = impl_witness_access constants.%ImplicitAs.impl_witness.64e, element0 [concrete = constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.60f] // CHECK:STDOUT: %bound_method.loc13_21.1: = bound_method %nullptr.ref, %impl.elem0.loc13 [concrete = constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Cpp.nullptr_t.as.ImplicitAs.impl.Convert(constants.%i32) [concrete = constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn] -// CHECK:STDOUT: %bound_method.loc13_21.2: = bound_method %nullptr.ref, %specific_fn.loc13 [concrete = constants.%bound_method.4ba] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call: init %Optional.2db = call %bound_method.loc13_21.2(%nullptr.ref) -// CHECK:STDOUT: %.loc13_21.1: init %Optional.2db = converted %nullptr.ref, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call -// CHECK:STDOUT: %.loc13_21.2: ref %Optional.2db = temporary_storage -// CHECK:STDOUT: %.loc13_21.3: ref %Optional.2db = temporary %.loc13_21.2, %.loc13_21.1 -// CHECK:STDOUT: %.loc13_21.4: %Optional.2db = acquire_value %.loc13_21.3 +// CHECK:STDOUT: %bound_method.loc13_21.2: = bound_method %nullptr.ref, %specific_fn.loc13 [concrete = constants.%bound_method.518] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call: init %Optional.5b3 = call %bound_method.loc13_21.2(%nullptr.ref) +// CHECK:STDOUT: %.loc13_21.1: init %Optional.5b3 = converted %nullptr.ref, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.loc13_21.2: ref %Optional.5b3 = temporary_storage +// CHECK:STDOUT: %.loc13_21.3: ref %Optional.5b3 = temporary %.loc13_21.2, %.loc13_21.1 +// CHECK:STDOUT: %.loc13_21.4: %Optional.5b3 = acquire_value %.loc13_21.3 // CHECK:STDOUT: %TakesArray.call.loc13: init %empty_tuple.type = call imports.%TakesArray.decl(%.loc13_21.4) // CHECK:STDOUT: %Destroy.Op.bound.loc13: = bound_method %.loc13_21.3, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call.loc13: init %empty_tuple.type = call %Destroy.Op.bound.loc13(%.loc13_21.3) @@ -293,7 +293,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc11_18.3(%self.param: ref %Optional.2db) { +// CHECK:STDOUT: fn @Destroy.Op.loc11_18.3(%self.param: ref %Optional.5b3) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -333,23 +333,23 @@ fn F() { // CHECK:STDOUT: %T.fef: %UnformedInit.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.type.215: type = fn_type @T.as_type.as.DefaultOrUnformed.impl.Op.2, @T.as_type.as.DefaultOrUnformed.impl.52f(%T.fef) [symbolic] // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.f65: %T.as_type.as.DefaultOrUnformed.impl.Op.type.215 = struct_value () [symbolic] -// CHECK:STDOUT: %UnformedInit.impl_witness.240: = impl_witness imports.%UnformedInit.impl_witness_table.a3e, @Int.as.UnformedInit.impl(%int_32) [concrete] -// CHECK:STDOUT: %UnformedInit.facet.74c: %UnformedInit.type = facet_value %i32, (%UnformedInit.impl_witness.240) [concrete] -// CHECK:STDOUT: %UnformedInit.impl_witness.5f7: = impl_witness imports.%UnformedInit.impl_witness_table.8f1, @array_type.as.UnformedInit.impl(%UnformedInit.facet.74c, %int_42) [concrete] -// CHECK:STDOUT: %UnformedInit.facet.100: %UnformedInit.type = facet_value %array_type.d58, (%UnformedInit.impl_witness.5f7) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.800: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.972, @T.as_type.as.DefaultOrUnformed.impl.52f(%UnformedInit.facet.100) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %array_type.d58, (%DefaultOrUnformed.impl_witness.800) [concrete] +// CHECK:STDOUT: %UnformedInit.impl_witness.0a2: = impl_witness imports.%UnformedInit.impl_witness_table.9b9, @Int.as.UnformedInit.impl(%int_32) [concrete] +// CHECK:STDOUT: %UnformedInit.facet.cac: %UnformedInit.type = facet_value %i32, (%UnformedInit.impl_witness.0a2) [concrete] +// CHECK:STDOUT: %UnformedInit.impl_witness.768: = impl_witness imports.%UnformedInit.impl_witness_table.96b, @array_type.as.UnformedInit.impl(%UnformedInit.facet.cac, %int_42) [concrete] +// CHECK:STDOUT: %UnformedInit.facet.033: %UnformedInit.type = facet_value %array_type.d58, (%UnformedInit.impl_witness.768) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.06a: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.8f5, @T.as_type.as.DefaultOrUnformed.impl.52f(%UnformedInit.facet.033) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %array_type.d58, (%DefaultOrUnformed.impl_witness.06a) [concrete] // CHECK:STDOUT: %int_0.5c6: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -371,11 +371,11 @@ fn F() { // CHECK:STDOUT: %TakesFunction.cpp_overload_set.value: %TakesFunction.cpp_overload_set.type = cpp_overload_set_value @TakesFunction.cpp_overload_set [concrete = constants.%TakesFunction.cpp_overload_set.value] // CHECK:STDOUT: %Function.cpp_overload_set.value: %Function.cpp_overload_set.type = cpp_overload_set_value @Function.cpp_overload_set [concrete = constants.%Function.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.083: @T.as_type.as.DefaultOrUnformed.impl.52f.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.215) = import_ref Core//prelude/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.52f.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.f65)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.972 = impl_witness_table (%Core.import_ref.083), @T.as_type.as.DefaultOrUnformed.impl.52f [concrete] -// CHECK:STDOUT: %UnformedInit.impl_witness_table.8f1 = impl_witness_table (), @array_type.as.UnformedInit.impl [concrete] -// CHECK:STDOUT: %UnformedInit.impl_witness_table.a3e = impl_witness_table (), @Int.as.UnformedInit.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.8f5 = impl_witness_table (%Core.import_ref.083), @T.as_type.as.DefaultOrUnformed.impl.52f [concrete] +// CHECK:STDOUT: %UnformedInit.impl_witness_table.96b = impl_witness_table (), @array_type.as.UnformedInit.impl [concrete] +// CHECK:STDOUT: %UnformedInit.impl_witness_table.9b9 = impl_witness_table (), @Int.as.UnformedInit.impl [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -388,7 +388,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc20_21: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %Function.ref: %Function.cpp_overload_set.type = name_ref Function, imports.%Function.cpp_overload_set.value [concrete = constants.%Function.cpp_overload_set.value] // CHECK:STDOUT: %n.var: ref %array_type.d58 = var_storage %n.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%array_type.d58, (constants.%DefaultOrUnformed.impl_witness.800) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%array_type.d58, (constants.%DefaultOrUnformed.impl_witness.06a) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc22_24.1: %DefaultOrUnformed.type = converted constants.%array_type.d58, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc22_24.1 [concrete = constants.%array_type.d58] // CHECK:STDOUT: %.loc22_24.2: type = converted %.loc22_24.1, %as_type [concrete = constants.%array_type.d58] @@ -410,7 +410,7 @@ fn F() { // CHECK:STDOUT: %TakesFunction.ref.loc31: %TakesFunction.cpp_overload_set.type = name_ref TakesFunction, imports.%TakesFunction.cpp_overload_set.value [concrete = constants.%TakesFunction.cpp_overload_set.value] // CHECK:STDOUT: %n.ref: ref %array_type.d58 = name_ref n, %n // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc31_24.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc31_24.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/function/import/default_arg.carbon b/toolchain/check/testdata/interop/cpp/function/import/default_arg.carbon index 034b5b26d048..a22c05346e08 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/default_arg.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/default_arg.carbon @@ -154,12 +154,12 @@ fn Call() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -216,7 +216,7 @@ fn Call() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %GlobalReturnInt.cpp_overload_set.value: %GlobalReturnInt.cpp_overload_set.type = cpp_overload_set_value @GlobalReturnInt.cpp_overload_set [concrete = constants.%GlobalReturnInt.cpp_overload_set.value] // CHECK:STDOUT: %GlobalReturnInt.decl: %GlobalReturnInt.type = fn_decl @GlobalReturnInt [concrete = constants.%GlobalReturnInt] { // CHECK:STDOUT: @@ -257,28 +257,28 @@ fn Call() { // CHECK:STDOUT: %int_2.loc8: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3.loc8: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %int_4.loc8: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc8_22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_22.1: = bound_method %int_1.loc8, %impl.elem0.loc8_22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc8_22: = specific_function %impl.elem0.loc8_22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_22.2: = bound_method %int_1.loc8, %specific_fn.loc8_22 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_22: init %i32 = call %bound_method.loc8_22.2(%int_1.loc8) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_22.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_22 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_22.2: %i32 = converted %int_1.loc8, %.loc8_22.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc8_25: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_25: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_25.1: = bound_method %int_2.loc8, %impl.elem0.loc8_25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc8_25: = specific_function %impl.elem0.loc8_25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_25.2: = bound_method %int_2.loc8, %specific_fn.loc8_25 [concrete = constants.%bound_method.3cb] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_25: init %i32 = call %bound_method.loc8_25.2(%int_2.loc8) [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc8_25.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_25 [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc8_25.2: %i32 = converted %int_2.loc8, %.loc8_25.1 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc8_28: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_28: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_28.1: = bound_method %int_3.loc8, %impl.elem0.loc8_28 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc8_28: = specific_function %impl.elem0.loc8_28, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_28.2: = bound_method %int_3.loc8, %specific_fn.loc8_28 [concrete = constants.%bound_method.763] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_28: init %i32 = call %bound_method.loc8_28.2(%int_3.loc8) [concrete = constants.%int_3.410] // CHECK:STDOUT: %.loc8_28.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_28 [concrete = constants.%int_3.410] // CHECK:STDOUT: %.loc8_28.2: %i32 = converted %int_3.loc8, %.loc8_28.1 [concrete = constants.%int_3.410] -// CHECK:STDOUT: %impl.elem0.loc8_31: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_31: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_31.1: = bound_method %int_4.loc8, %impl.elem0.loc8_31 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc8_31: = specific_function %impl.elem0.loc8_31, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_31.2: = bound_method %int_4.loc8, %specific_fn.loc8_31 [concrete = constants.%bound_method.b7a] @@ -292,28 +292,28 @@ fn Call() { // CHECK:STDOUT: %int_2.loc9: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3.loc9: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %int_4.loc9: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc9_47: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_47: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_47.1: = bound_method %int_1.loc9, %impl.elem0.loc9_47 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc9_47: = specific_function %impl.elem0.loc9_47, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_47.2: = bound_method %int_1.loc9, %specific_fn.loc9_47 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_47: init %i32 = call %bound_method.loc9_47.2(%int_1.loc9) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc9_47.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_47 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc9_47.2: %i32 = converted %int_1.loc9, %.loc9_47.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc9_50: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_50: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_50.1: = bound_method %int_2.loc9, %impl.elem0.loc9_50 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc9_50: = specific_function %impl.elem0.loc9_50, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_50.2: = bound_method %int_2.loc9, %specific_fn.loc9_50 [concrete = constants.%bound_method.3cb] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_50: init %i32 = call %bound_method.loc9_50.2(%int_2.loc9) [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc9_50.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_50 [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc9_50.2: %i32 = converted %int_2.loc9, %.loc9_50.1 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc9_53: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_53: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_53.1: = bound_method %int_3.loc9, %impl.elem0.loc9_53 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc9_53: = specific_function %impl.elem0.loc9_53, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_53.2: = bound_method %int_3.loc9, %specific_fn.loc9_53 [concrete = constants.%bound_method.763] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_53: init %i32 = call %bound_method.loc9_53.2(%int_3.loc9) [concrete = constants.%int_3.410] // CHECK:STDOUT: %.loc9_53.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_53 [concrete = constants.%int_3.410] // CHECK:STDOUT: %.loc9_53.2: %i32 = converted %int_3.loc9, %.loc9_53.1 [concrete = constants.%int_3.410] -// CHECK:STDOUT: %impl.elem0.loc9_56: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_56: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_56.1: = bound_method %int_4.loc9, %impl.elem0.loc9_56 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc9_56: = specific_function %impl.elem0.loc9_56, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_56.2: = bound_method %int_4.loc9, %specific_fn.loc9_56 [concrete = constants.%bound_method.b7a] @@ -340,14 +340,14 @@ fn Call() { // CHECK:STDOUT: %int_1.loc10: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc10: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc10_7.3: %X = acquire_value %.loc10_7.2 [concrete = constants.%X.val] -// CHECK:STDOUT: %impl.elem0.loc10_19: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_19: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_19.1: = bound_method %int_1.loc10, %impl.elem0.loc10_19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc10_19: = specific_function %impl.elem0.loc10_19, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_19.2: = bound_method %int_1.loc10, %specific_fn.loc10_19 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_19: init %i32 = call %bound_method.loc10_19.2(%int_1.loc10) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_19.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_19 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_19.2: %i32 = converted %int_1.loc10, %.loc10_19.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc10_22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_22.1: = bound_method %int_2.loc10, %impl.elem0.loc10_22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc10_22: = specific_function %impl.elem0.loc10_22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_22.2: = bound_method %int_2.loc10, %specific_fn.loc10_22 [concrete = constants.%bound_method.3cb] @@ -362,14 +362,14 @@ fn Call() { // CHECK:STDOUT: %C.ref: %X.C.cpp_overload_set.type = name_ref C, imports.%X.C.cpp_overload_set.value [concrete = constants.%X.C.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc11: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc11_11: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11_11: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_11.1: = bound_method %int_1.loc11, %impl.elem0.loc11_11 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc11_11: = specific_function %impl.elem0.loc11_11, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_11.2: = bound_method %int_1.loc11, %specific_fn.loc11_11 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc11_11: init %i32 = call %bound_method.loc11_11.2(%int_1.loc11) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc11_11.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc11_11 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc11_11.2: %i32 = converted %int_1.loc11, %.loc11_11.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc11_14: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11_14: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_14.1: = bound_method %int_2.loc11, %impl.elem0.loc11_14 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc11_14: = specific_function %impl.elem0.loc11_14, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_14.2: = bound_method %int_2.loc11, %specific_fn.loc11_14 [concrete = constants.%bound_method.3cb] @@ -389,14 +389,14 @@ fn Call() { // CHECK:STDOUT: %int_1.loc12: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc12: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc12_7.3: %X = acquire_value %.loc12_7.2 [concrete = constants.%X.val] -// CHECK:STDOUT: %impl.elem0.loc12_19: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12_19: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_19.1: = bound_method %int_1.loc12, %impl.elem0.loc12_19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc12_19: = specific_function %impl.elem0.loc12_19, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_19.2: = bound_method %int_1.loc12, %specific_fn.loc12_19 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc12_19: init %i32 = call %bound_method.loc12_19.2(%int_1.loc12) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc12_19.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc12_19 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc12_19.2: %i32 = converted %int_1.loc12, %.loc12_19.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc12_22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12_22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_22.1: = bound_method %int_2.loc12, %impl.elem0.loc12_22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc12_22: = specific_function %impl.elem0.loc12_22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_22.2: = bound_method %int_2.loc12, %specific_fn.loc12_22 [concrete = constants.%bound_method.3cb] @@ -437,12 +437,12 @@ fn Call() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -545,7 +545,7 @@ fn Call() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %GlobalReturnInt.cpp_overload_set.value: %GlobalReturnInt.cpp_overload_set.type = cpp_overload_set_value @GlobalReturnInt.cpp_overload_set [concrete = constants.%GlobalReturnInt.cpp_overload_set.value] // CHECK:STDOUT: %GlobalReturnInt__carbon_thunk.decl: %GlobalReturnInt__carbon_thunk.type = fn_decl @GlobalReturnInt__carbon_thunk [concrete = constants.%GlobalReturnInt__carbon_thunk] { // CHECK:STDOUT: %a.param_patt: %pattern_type.6b6 = value_param_pattern [concrete = constants.%a.param_patt] @@ -695,14 +695,14 @@ fn Call() { // CHECK:STDOUT: %GlobalNoReturn.ref.loc8: %GlobalNoReturn.cpp_overload_set.type = name_ref GlobalNoReturn, imports.%GlobalNoReturn.cpp_overload_set.value [concrete = constants.%GlobalNoReturn.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc8: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc8_22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_22.1: = bound_method %int_1.loc8, %impl.elem0.loc8_22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc8_22: = specific_function %impl.elem0.loc8_22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_22.2: = bound_method %int_1.loc8, %specific_fn.loc8_22 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_22: init %i32 = call %bound_method.loc8_22.2(%int_1.loc8) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_22.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_22 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_22.2: %i32 = converted %int_1.loc8, %.loc8_22.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc8_25: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_25: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_25.1: = bound_method %int_2.loc8, %impl.elem0.loc8_25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc8_25: = specific_function %impl.elem0.loc8_25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_25.2: = bound_method %int_2.loc8, %specific_fn.loc8_25 [concrete = constants.%bound_method.3cb] @@ -714,14 +714,14 @@ fn Call() { // CHECK:STDOUT: %GlobalReturnInt.ref: %GlobalReturnInt.cpp_overload_set.type = name_ref GlobalReturnInt, imports.%GlobalReturnInt.cpp_overload_set.value [concrete = constants.%GlobalReturnInt.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc9: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc9_47: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_47: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_47.1: = bound_method %int_1.loc9, %impl.elem0.loc9_47 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc9_47: = specific_function %impl.elem0.loc9_47, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_47.2: = bound_method %int_1.loc9, %specific_fn.loc9_47 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_47: init %i32 = call %bound_method.loc9_47.2(%int_1.loc9) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc9_47.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_47 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc9_47.2: %i32 = converted %int_1.loc9, %.loc9_47.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc9_50: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_50: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_50.1: = bound_method %int_2.loc9, %impl.elem0.loc9_50 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc9_50: = specific_function %impl.elem0.loc9_50, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_50.2: = bound_method %int_2.loc9, %specific_fn.loc9_50 [concrete = constants.%bound_method.3cb] @@ -741,21 +741,21 @@ fn Call() { // CHECK:STDOUT: %int_1.loc10: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc10: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc10_22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_22.1: = bound_method %int_1.loc10, %impl.elem0.loc10_22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc10_22: = specific_function %impl.elem0.loc10_22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_22.2: = bound_method %int_1.loc10, %specific_fn.loc10_22 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_22: init %i32 = call %bound_method.loc10_22.2(%int_1.loc10) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_22.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_22 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_22.2: %i32 = converted %int_1.loc10, %.loc10_22.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc10_25: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_25: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_25.1: = bound_method %int_2.loc10, %impl.elem0.loc10_25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc10_25: = specific_function %impl.elem0.loc10_25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_25.2: = bound_method %int_2.loc10, %specific_fn.loc10_25 [concrete = constants.%bound_method.3cb] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_25: init %i32 = call %bound_method.loc10_25.2(%int_2.loc10) [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc10_25.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_25 [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc10_25.2: %i32 = converted %int_2.loc10, %.loc10_25.1 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc10_28: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_28: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_28.1: = bound_method %int_3, %impl.elem0.loc10_28 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc10_28: = specific_function %impl.elem0.loc10_28, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_28.2: = bound_method %int_3, %specific_fn.loc10_28 [concrete = constants.%bound_method.763] @@ -774,7 +774,7 @@ fn Call() { // CHECK:STDOUT: %bound_method.loc11_16: = bound_method %.loc11_7.2, %B.ref [concrete = constants.%bound_method.f8c] // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc11_7.3: %X = acquire_value %.loc11_7.2 [concrete = constants.%X.val] -// CHECK:STDOUT: %impl.elem0.loc11: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_19.1: = bound_method %int_1.loc11, %impl.elem0.loc11 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_19.2: = bound_method %int_1.loc11, %specific_fn.loc11 [concrete = constants.%bound_method.953] @@ -794,7 +794,7 @@ fn Call() { // CHECK:STDOUT: %X.ref.loc12: type = name_ref X, imports.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %C.ref: %X.C.cpp_overload_set.type = name_ref C, imports.%X.C.cpp_overload_set.value [concrete = constants.%X.C.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc12: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc12: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_11.1: = bound_method %int_1.loc12, %impl.elem0.loc12 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_11.2: = bound_method %int_1.loc12, %specific_fn.loc12 [concrete = constants.%bound_method.953] @@ -813,7 +813,7 @@ fn Call() { // CHECK:STDOUT: %bound_method.loc13_16: = bound_method %.loc13_7.2, %D.ref [concrete = constants.%bound_method.9a8] // CHECK:STDOUT: %int_1.loc13: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc13_7.3: %X = acquire_value %.loc13_7.2 [concrete = constants.%X.val] -// CHECK:STDOUT: %impl.elem0.loc13: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_19.1: = bound_method %int_1.loc13, %impl.elem0.loc13 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_19.2: = bound_method %int_1.loc13, %specific_fn.loc13 [concrete = constants.%bound_method.953] diff --git a/toolchain/check/testdata/interop/cpp/function/import/extern_c.carbon b/toolchain/check/testdata/interop/cpp/function/import/extern_c.carbon index 1a4c7c37ab2c..907f6193443c 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/extern_c.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/extern_c.carbon @@ -113,12 +113,12 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -138,7 +138,7 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @MyF() { @@ -149,7 +149,7 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: %Cpp.ref.loc12: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref.loc12: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_11.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_11.2: = bound_method %int_5, %specific_fn [concrete = constants.%bound_method] @@ -172,12 +172,12 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -190,7 +190,7 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: %foo.var_patt: %pattern_type.6b6 = var_pattern %foo.patt [concrete = constants.%foo.var_patt] // CHECK:STDOUT: %foo.var: ref %i32 = var_storage %foo.var_patt [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @MyF() -> out %return.param: %i32 { @@ -199,7 +199,7 @@ fn MyF(a: Cpp.X, b: Cpp.X) -> Cpp.X { // CHECK:STDOUT: // CHECK:STDOUT: %foo.ref: ref %i32 = name_ref foo, imports.%foo.var [concrete = imports.%foo.var] // CHECK:STDOUT: %.loc10: %i32 = acquire_value %foo.ref -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc10_13.1: = bound_method %.loc10, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_13.2: = bound_method %.loc10, %specific_fn diff --git a/toolchain/check/testdata/interop/cpp/function/import/full_semir.carbon b/toolchain/check/testdata/interop/cpp/function/import/full_semir.carbon index c37982ed9442..d198aef5b609 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/full_semir.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/full_semir.carbon @@ -86,12 +86,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.820: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0df: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.4b7: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.70c: %Core.IntLiteral.as.As.impl.Convert.type.4b7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.820) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d73: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] -// CHECK:STDOUT: %.6b5: type = fn_type_with_self_type %As.WithSelf.Convert.type.d73, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.0df) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.4ac: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet) [concrete] +// CHECK:STDOUT: %.45d: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ac, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.70c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.70c, @Core.IntLiteral.as.As.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.a0f: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -105,12 +105,12 @@ fn F() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.7d9: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b46: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.16c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.25c: %Int.as.Copy.impl.Op.type.16c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.7d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.332: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.000: type = fn_type_with_self_type %Copy.WithSelf.Op.type.332, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.b46) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.bde: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.bde, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.25c [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.25c, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.47b: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -139,7 +139,7 @@ fn F() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.As: %As.type.116 = import_ref Core//prelude/parts/as, As, loaded [concrete = constants.%As.generic] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: %foo__carbon_thunk.decl: %foo__carbon_thunk.type = fn_decl @foo__carbon_thunk [concrete = constants.%foo__carbon_thunk] { // CHECK:STDOUT: %a.param_patt: %pattern_type.f71 = value_param_pattern [concrete = constants.%a.param_patt.58a] // CHECK:STDOUT: %a.patt: %pattern_type.f71 = at_binding_pattern a, %a.param_patt [concrete = constants.%a.patt.da1] @@ -154,7 +154,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -177,14 +177,14 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] -// CHECK:STDOUT: %impl.elem0.loc7_13.1: %.6b5 = impl_witness_access constants.%As.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] +// CHECK:STDOUT: %impl.elem0.loc7_13.1: %.45d = impl_witness_access constants.%As.impl_witness.0df, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] // CHECK:STDOUT: %bound_method.loc7_13.1: = bound_method %int_1, %impl.elem0.loc7_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc7_13.1: = specific_function %impl.elem0.loc7_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_13.2: = bound_method %int_1, %specific_fn.loc7_13.1 [concrete = constants.%bound_method.a0f] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i16 = call %bound_method.loc7_13.2(%int_1) [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc7_13.1: %i16 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc7_13.2: %i16 = converted %int_1, %.loc7_13.1 [concrete = constants.%int_1.d17] -// CHECK:STDOUT: %impl.elem0.loc7_13.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc7_13.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc7_13.3: = bound_method %.loc7_13.2, %impl.elem0.loc7_13.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc7_13.2: = specific_function %impl.elem0.loc7_13.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_13.4: = bound_method %.loc7_13.2, %specific_fn.loc7_13.2 [concrete = constants.%bound_method.47b] @@ -232,12 +232,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -271,7 +271,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -292,7 +292,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/function/import/function.carbon b/toolchain/check/testdata/interop/cpp/function/import/function.carbon index 843d7cb12eca..478d4cf2cf50 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/function.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/function.carbon @@ -326,12 +326,12 @@ fn G() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.03e: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.e7f: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.e79: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.8a4: %Core.IntLiteral.as.As.impl.Convert.type.e79 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.03e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8ea: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %As.WithSelf.Convert.type.8ea, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.e7f) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.d02: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] +// CHECK:STDOUT: %.453: type = fn_type_with_self_type %As.WithSelf.Convert.type.d02, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.8a4 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.8a4, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -352,7 +352,7 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -372,7 +372,7 @@ fn G() -> i32 { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_13.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] @@ -389,7 +389,7 @@ fn G() -> i32 { // CHECK:STDOUT: %bar.ref: %bar.cpp_overload_set.type = name_ref bar, imports.%bar.cpp_overload_set.value [concrete = constants.%bar.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc14_20.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_20.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/function/import/in_template.carbon b/toolchain/check/testdata/interop/cpp/function/import/in_template.carbon index 2436995927a9..cb263b0f5a51 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/in_template.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/in_template.carbon @@ -49,12 +49,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -74,7 +74,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -83,7 +83,7 @@ fn F() { // CHECK:STDOUT: %Y.ref: type = name_ref Y, imports.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %f.ref: %X.f.cpp_overload_set.type = name_ref f, imports.%X.f.cpp_overload_set.value [concrete = constants.%X.f.cpp_overload_set.value] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_42, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_42, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/function/import/inline.carbon b/toolchain/check/testdata/interop/cpp/function/import/inline.carbon index 9f0280ca443d..36e5a98705fa 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/inline.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/inline.carbon @@ -160,12 +160,12 @@ fn MyF() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.571: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.571 [concrete] @@ -181,12 +181,12 @@ fn MyF() { // CHECK:STDOUT: %ThunkOnArg__carbon_thunk: %ThunkOnArg__carbon_thunk.type = struct_value () [concrete] // CHECK:STDOUT: %i16.builtin: type = int_type signed, %int_16 [concrete] // CHECK:STDOUT: %ImplicitAs.type.044: type = facet_type <@ImplicitAs, @ImplicitAs(%i16)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.884: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_16) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.882: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.c22: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.c22 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.c33: %ImplicitAs.type.044 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.884) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d17: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i16, %ImplicitAs.facet.c33) [concrete] -// CHECK:STDOUT: %.769: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d17, %ImplicitAs.facet.c33 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.eb2: %ImplicitAs.type.044 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.882) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7b5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i16, %ImplicitAs.facet.eb2) [concrete] +// CHECK:STDOUT: %.655: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7b5, %ImplicitAs.facet.eb2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.386: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.06a: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_16) [concrete] // CHECK:STDOUT: %bound_method.b1b: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.06a [concrete] @@ -194,12 +194,12 @@ fn MyF() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.7d9: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_16) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b46: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.16c: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_16) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.25c: %Int.as.Copy.impl.Op.type.16c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.7d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.332: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.000: type = fn_type_with_self_type %Copy.WithSelf.Op.type.332, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i16, (%Copy.impl_witness.b46) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.bde: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.d62: type = fn_type_with_self_type %Copy.WithSelf.Op.type.bde, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.25c [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.25c, @Int.as.Copy.impl.Op(%int_16) [concrete] // CHECK:STDOUT: %bound_method.47b: = bound_method %int_1.d17, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -235,7 +235,7 @@ fn MyF() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %ThunkOnArg.cpp_overload_set.value: %ThunkOnArg.cpp_overload_set.type = cpp_overload_set_value @ThunkOnArg.cpp_overload_set [concrete = constants.%ThunkOnArg.cpp_overload_set.value] // CHECK:STDOUT: %ThunkOnArg__carbon_thunk.decl: %ThunkOnArg__carbon_thunk.type = fn_decl @ThunkOnArg__carbon_thunk [concrete = constants.%ThunkOnArg__carbon_thunk] { // CHECK:STDOUT: @@ -243,7 +243,7 @@ fn MyF() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %ThunkOnReturn.cpp_overload_set.value: %ThunkOnReturn.cpp_overload_set.type = cpp_overload_set_value @ThunkOnReturn.cpp_overload_set [concrete = constants.%ThunkOnReturn.cpp_overload_set.value] // CHECK:STDOUT: %ThunkOnReturn__carbon_thunk.decl: %ThunkOnReturn__carbon_thunk.type = fn_decl @ThunkOnReturn__carbon_thunk [concrete = constants.%ThunkOnReturn__carbon_thunk] { // CHECK:STDOUT: @@ -263,7 +263,7 @@ fn MyF() { // CHECK:STDOUT: %Cpp.ref.loc13: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %WithoutThunk.ref: %WithoutThunk.cpp_overload_set.type = name_ref WithoutThunk, imports.%WithoutThunk.cpp_overload_set.value [concrete = constants.%WithoutThunk.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc13: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc13: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_41.1: = bound_method %int_1.loc13, %impl.elem0.loc13 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.571] // CHECK:STDOUT: %bound_method.loc13_41.2: = bound_method %int_1.loc13, %specific_fn.loc13 [concrete = constants.%bound_method.953] @@ -281,14 +281,14 @@ fn MyF() { // CHECK:STDOUT: %Cpp.ref.loc14: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %ThunkOnArg.ref: %ThunkOnArg.cpp_overload_set.type = name_ref ThunkOnArg, imports.%ThunkOnArg.cpp_overload_set.value [concrete = constants.%ThunkOnArg.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc14_39.1: %.769 = impl_witness_access constants.%ImplicitAs.impl_witness.884, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0] +// CHECK:STDOUT: %impl.elem0.loc14_39.1: %.655 = impl_witness_access constants.%ImplicitAs.impl_witness.882, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0] // CHECK:STDOUT: %bound_method.loc14_39.1: = bound_method %int_1.loc14, %impl.elem0.loc14_39.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.386] // CHECK:STDOUT: %specific_fn.loc14_39.1: = specific_function %impl.elem0.loc14_39.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.06a] // CHECK:STDOUT: %bound_method.loc14_39.2: = bound_method %int_1.loc14, %specific_fn.loc14_39.1 [concrete = constants.%bound_method.b1b] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc14: init %i16 = call %bound_method.loc14_39.2(%int_1.loc14) [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc14_39.1: %i16 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc14 [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc14_39.2: %i16 = converted %int_1.loc14, %.loc14_39.1 [concrete = constants.%int_1.d17] -// CHECK:STDOUT: %impl.elem0.loc14_39.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc14_39.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc14_39.3: = bound_method %.loc14_39.2, %impl.elem0.loc14_39.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc14_39.2: = specific_function %impl.elem0.loc14_39.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc14_39.4: = bound_method %.loc14_39.2, %specific_fn.loc14_39.2 [concrete = constants.%bound_method.47b] @@ -307,7 +307,7 @@ fn MyF() { // CHECK:STDOUT: %Cpp.ref.loc15: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %ThunkOnReturn.ref: %ThunkOnReturn.cpp_overload_set.type = name_ref ThunkOnReturn, imports.%ThunkOnReturn.cpp_overload_set.value [concrete = constants.%ThunkOnReturn.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_42.1: = bound_method %int_1.loc15, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.571] // CHECK:STDOUT: %bound_method.loc15_42.2: = bound_method %int_1.loc15, %specific_fn.loc15 [concrete = constants.%bound_method.953] @@ -328,14 +328,14 @@ fn MyF() { // CHECK:STDOUT: %Cpp.ref.loc16: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %ThunkOnBoth.ref: %ThunkOnBoth.cpp_overload_set.type = name_ref ThunkOnBoth, imports.%ThunkOnBoth.cpp_overload_set.value [concrete = constants.%ThunkOnBoth.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc16: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc16_40.1: %.769 = impl_witness_access constants.%ImplicitAs.impl_witness.884, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0] +// CHECK:STDOUT: %impl.elem0.loc16_40.1: %.655 = impl_witness_access constants.%ImplicitAs.impl_witness.882, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0c0] // CHECK:STDOUT: %bound_method.loc16_40.1: = bound_method %int_1.loc16, %impl.elem0.loc16_40.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.386] // CHECK:STDOUT: %specific_fn.loc16_40.1: = specific_function %impl.elem0.loc16_40.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn.06a] // CHECK:STDOUT: %bound_method.loc16_40.2: = bound_method %int_1.loc16, %specific_fn.loc16_40.1 [concrete = constants.%bound_method.b1b] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc16: init %i16 = call %bound_method.loc16_40.2(%int_1.loc16) [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc16_40.1: %i16 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc16 [concrete = constants.%int_1.d17] // CHECK:STDOUT: %.loc16_40.2: %i16 = converted %int_1.loc16, %.loc16_40.1 [concrete = constants.%int_1.d17] -// CHECK:STDOUT: %impl.elem0.loc16_40.2: %.000 = impl_witness_access constants.%Copy.impl_witness.7d9, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] +// CHECK:STDOUT: %impl.elem0.loc16_40.2: %.d62 = impl_witness_access constants.%Copy.impl_witness.b46, element0 [concrete = constants.%Int.as.Copy.impl.Op.25c] // CHECK:STDOUT: %bound_method.loc16_40.3: = bound_method %.loc16_40.2, %impl.elem0.loc16_40.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc16_40.2: = specific_function %impl.elem0.loc16_40.2, @Int.as.Copy.impl.Op(constants.%int_16) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_40.4: = bound_method %.loc16_40.2, %specific_fn.loc16_40.2 [concrete = constants.%bound_method.47b] diff --git a/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon b/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon index fd51ae71e515..c4be3b266eed 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/pointer.carbon @@ -578,12 +578,12 @@ fn F() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.478: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%S) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.7d5: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%S) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.048: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%S) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.def: %ptr.as.Copy.impl.Op.type.048 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.037, (%Copy.impl_witness.478) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.eff: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.166: type = fn_type_with_self_type %Copy.WithSelf.Op.type.eff, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.037, (%Copy.impl_witness.7d5) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.346: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.c39: type = fn_type_with_self_type %Copy.WithSelf.Op.type.346, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.def, @ptr.as.Copy.impl.Op(%S) [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] @@ -604,7 +604,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %S.decl: type = class_decl @S [concrete = constants.%S] {} {} // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: @@ -632,7 +632,7 @@ fn F() { // CHECK:STDOUT: %p.var: ref %ptr.037 = var_storage %p.var_patt // CHECK:STDOUT: %s.ref: ref %S = name_ref s, %s // CHECK:STDOUT: %addr.loc9: %ptr.037 = addr_of %s.ref -// CHECK:STDOUT: %impl.elem0: %.166 = impl_witness_access constants.%Copy.impl_witness.478, element0 [concrete = constants.%ptr.as.Copy.impl.Op.def] +// CHECK:STDOUT: %impl.elem0: %.c39 = impl_witness_access constants.%Copy.impl_witness.7d5, element0 [concrete = constants.%ptr.as.Copy.impl.Op.def] // CHECK:STDOUT: %bound_method.loc9_19.1: = bound_method %addr.loc9, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%S) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_19.2: = bound_method %addr.loc9, %specific_fn @@ -955,13 +955,13 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.5b4: %Destroy.type = facet_value %ptr.037, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.9f2: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5b4) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.284: = impl_witness imports.%OptionalStorage.impl_witness_table.0fc, @ptr.as.OptionalStorage.impl(%S) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.00e: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%S) [concrete] // CHECK:STDOUT: %.08a0: type = maybe_unformed_type %ptr.037 [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.62d: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.284) [concrete] -// CHECK:STDOUT: %Optional.3ac: type = class_type @Optional, @Optional(%OptionalStorage.facet.62d) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.97d: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.00e) [concrete] +// CHECK:STDOUT: %Optional.d06: type = class_type @Optional, @Optional(%OptionalStorage.facet.97d) [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.type.2a3: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.3ac)> [concrete] +// CHECK:STDOUT: %ImplicitAs.type.e9e: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.d06)> [concrete] // CHECK:STDOUT: %ImplicitAs.type.3aa489.2: type = facet_type <@ImplicitAs, @ImplicitAs(%T.67d)> [symbolic] // CHECK:STDOUT: %U.294: %ImplicitAs.type.3aa489.2 = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.type.f7e: type = fn_type @const.as.ImplicitAs.impl.Convert, @const.as.ImplicitAs.impl(%T.67d, %U.294) [symbolic] @@ -970,20 +970,20 @@ fn F() { // CHECK:STDOUT: %U.042: %OptionalAs.type.3b8 = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%T.220, %U.042) [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.331: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.type.a75: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.62d)> [concrete] +// CHECK:STDOUT: %OptionalAs.type.0c0: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.97d)> [concrete] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.type.774: type = fn_type @T.as_type.as.OptionalAs.impl.Convert, @T.as_type.as.OptionalAs.impl(%T.220) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.5f9: %T.as_type.as.OptionalAs.impl.Convert.type.774 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.impl_witness.e0f: = impl_witness imports.%OptionalAs.impl_witness_table.efa, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.62d) [concrete] -// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.a75 = facet_value %ptr.037, (%OptionalAs.impl_witness.e0f) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.71d: = impl_witness imports.%ImplicitAs.impl_witness_table.cf7, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.52d: %ImplicitAs.type.2a3 = facet_value %ptr.037, (%ImplicitAs.impl_witness.71d) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.4b2: = impl_witness imports.%ImplicitAs.impl_witness_table.b0d, @const.as.ImplicitAs.impl(%Optional.3ac, %ImplicitAs.facet.52d) [concrete] -// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.type.2ec: type = fn_type @const.as.ImplicitAs.impl.Convert, @const.as.ImplicitAs.impl(%Optional.3ac, %ImplicitAs.facet.52d) [concrete] -// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.1b9: %const.as.ImplicitAs.impl.Convert.type.2ec = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.ccf: %ImplicitAs.type.2a3 = facet_value %const.f96, (%ImplicitAs.impl_witness.4b2) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.c44: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.3ac, %ImplicitAs.facet.ccf) [concrete] -// CHECK:STDOUT: %.afe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.c44, %ImplicitAs.facet.ccf [concrete] -// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %const.as.ImplicitAs.impl.Convert.1b9, @const.as.ImplicitAs.impl.Convert(%Optional.3ac, %ImplicitAs.facet.52d) [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness.55e: = impl_witness imports.%OptionalAs.impl_witness_table.2e9, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.97d) [concrete] +// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.0c0 = facet_value %ptr.037, (%OptionalAs.impl_witness.55e) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.3df: = impl_witness imports.%ImplicitAs.impl_witness_table.bb5, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.494: %ImplicitAs.type.e9e = facet_value %ptr.037, (%ImplicitAs.impl_witness.3df) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.cab: = impl_witness imports.%ImplicitAs.impl_witness_table.5de, @const.as.ImplicitAs.impl(%Optional.d06, %ImplicitAs.facet.494) [concrete] +// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.type.6ae: type = fn_type @const.as.ImplicitAs.impl.Convert, @const.as.ImplicitAs.impl(%Optional.d06, %ImplicitAs.facet.494) [concrete] +// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.32c: %const.as.ImplicitAs.impl.Convert.type.6ae = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.df3: %ImplicitAs.type.e9e = facet_value %const.f96, (%ImplicitAs.impl_witness.cab) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.22e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.d06, %ImplicitAs.facet.df3) [concrete] +// CHECK:STDOUT: %.edd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.22e, %ImplicitAs.facet.df3 [concrete] +// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %const.as.ImplicitAs.impl.Convert.32c, @const.as.ImplicitAs.impl.Convert(%Optional.d06, %ImplicitAs.facet.494) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc11_11.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.4: %Destroy.Op.type.1d8f74.4 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.5: type = fn_type @Destroy.Op.loc10 [concrete] @@ -1004,24 +1004,24 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.0fc = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc11_12.1: type = splice_block %Optional [concrete = constants.%Optional.3ac] { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %.loc11_12.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.62d) [concrete = constants.%Optional.3ac] +// CHECK:STDOUT: %.loc11_12.1: type = splice_block %Optional [concrete = constants.%Optional.d06] { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %.loc11_12.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.97d) [concrete = constants.%Optional.d06] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.a74: @const.as.ImplicitAs.impl.%const.as.ImplicitAs.impl.Convert.type (%const.as.ImplicitAs.impl.Convert.type.f7e) = import_ref Core//prelude/types/optional, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @const.as.ImplicitAs.impl.%const.as.ImplicitAs.impl.Convert (constants.%const.as.ImplicitAs.impl.Convert.2f7)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b0d = impl_witness_table (%Core.import_ref.a74), @const.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5de = impl_witness_table (%Core.import_ref.a74), @const.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.eb9: @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert.type (%U.as_type.as.ImplicitAs.impl.Convert.type.ad5) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert (constants.%U.as_type.as.ImplicitAs.impl.Convert.331)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.cf7 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb5 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] // CHECK:STDOUT: %Core.import_ref.017d8: @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert.type (%T.as_type.as.OptionalAs.impl.Convert.type.774) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert (constants.%T.as_type.as.OptionalAs.impl.Convert.5f9)] -// CHECK:STDOUT: %OptionalAs.impl_witness_table.efa = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness_table.2e9 = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1044,16 +1044,16 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %p.ref: ref %const.f96 = name_ref p, %p -// CHECK:STDOUT: %impl.elem0: %.afe = impl_witness_access constants.%ImplicitAs.impl_witness.4b2, element0 [concrete = constants.%const.as.ImplicitAs.impl.Convert.1b9] +// CHECK:STDOUT: %impl.elem0: %.edd = impl_witness_access constants.%ImplicitAs.impl_witness.cab, element0 [concrete = constants.%const.as.ImplicitAs.impl.Convert.32c] // CHECK:STDOUT: %bound_method.loc11_11.1: = bound_method %p.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @const.as.ImplicitAs.impl.Convert(constants.%Optional.3ac, constants.%ImplicitAs.facet.52d) [concrete = constants.%const.as.ImplicitAs.impl.Convert.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @const.as.ImplicitAs.impl.Convert(constants.%Optional.d06, constants.%ImplicitAs.facet.494) [concrete = constants.%const.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_11.2: = bound_method %p.ref, %specific_fn // CHECK:STDOUT: %.loc11_11.1: %const.f96 = acquire_value %p.ref -// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.call: init %Optional.3ac = call %bound_method.loc11_11.2(%.loc11_11.1) -// CHECK:STDOUT: %.loc11_11.2: init %Optional.3ac = converted %p.ref, %const.as.ImplicitAs.impl.Convert.call -// CHECK:STDOUT: %.loc11_11.3: ref %Optional.3ac = temporary_storage -// CHECK:STDOUT: %.loc11_11.4: ref %Optional.3ac = temporary %.loc11_11.3, %.loc11_11.2 -// CHECK:STDOUT: %.loc11_11.5: %Optional.3ac = acquire_value %.loc11_11.4 +// CHECK:STDOUT: %const.as.ImplicitAs.impl.Convert.call: init %Optional.d06 = call %bound_method.loc11_11.2(%.loc11_11.1) +// CHECK:STDOUT: %.loc11_11.2: init %Optional.d06 = converted %p.ref, %const.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.loc11_11.3: ref %Optional.d06 = temporary_storage +// CHECK:STDOUT: %.loc11_11.4: ref %Optional.d06 = temporary %.loc11_11.3, %.loc11_11.2 +// CHECK:STDOUT: %.loc11_11.5: %Optional.d06 = acquire_value %.loc11_11.4 // CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc11_11.5) // CHECK:STDOUT: %Destroy.Op.bound.loc11: = bound_method %.loc11_11.4, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call.loc11: init %empty_tuple.type = call %Destroy.Op.bound.loc11(%.loc11_11.4) @@ -1072,7 +1072,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc11_11.3(%self.param: ref %Optional.3ac) { +// CHECK:STDOUT: fn @Destroy.Op.loc11_11.3(%self.param: ref %Optional.d06) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1110,29 +1110,29 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.5b4: %Destroy.type = facet_value %ptr.037, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.9f2: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5b4) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.284: = impl_witness imports.%OptionalStorage.impl_witness_table.0fc, @ptr.as.OptionalStorage.impl(%S) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.00e: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%S) [concrete] // CHECK:STDOUT: %.08a0: type = maybe_unformed_type %ptr.037 [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.62d: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.284) [concrete] -// CHECK:STDOUT: %Optional.3ac: type = class_type @Optional, @Optional(%OptionalStorage.facet.62d) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.97d: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.00e) [concrete] +// CHECK:STDOUT: %Optional.d06: type = class_type @Optional, @Optional(%OptionalStorage.facet.97d) [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.type.2a3: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.3ac)> [concrete] +// CHECK:STDOUT: %ImplicitAs.type.e9e: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.d06)> [concrete] // CHECK:STDOUT: %OptionalAs.type.3b8: type = facet_type <@OptionalAs, @OptionalAs(%T.220)> [symbolic] // CHECK:STDOUT: %U.042: %OptionalAs.type.3b8 = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%T.220, %U.042) [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.331: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.type.a75: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.62d)> [concrete] +// CHECK:STDOUT: %OptionalAs.type.0c0: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.97d)> [concrete] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.type.774: type = fn_type @T.as_type.as.OptionalAs.impl.Convert, @T.as_type.as.OptionalAs.impl(%T.220) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.5f9: %T.as_type.as.OptionalAs.impl.Convert.type.774 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.impl_witness.e0f: = impl_witness imports.%OptionalAs.impl_witness_table.efa, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.62d) [concrete] -// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.a75 = facet_value %ptr.037, (%OptionalAs.impl_witness.e0f) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.71d: = impl_witness imports.%ImplicitAs.impl_witness_table.cf7, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.afe: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.c29: %U.as_type.as.ImplicitAs.impl.Convert.type.afe = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.52d: %ImplicitAs.type.2a3 = facet_value %ptr.037, (%ImplicitAs.impl_witness.71d) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.c91: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.3ac, %ImplicitAs.facet.52d) [concrete] -// CHECK:STDOUT: %.dd1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.c91, %ImplicitAs.facet.52d [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.c29, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness.55e: = impl_witness imports.%OptionalAs.impl_witness_table.2e9, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.97d) [concrete] +// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.0c0 = facet_value %ptr.037, (%OptionalAs.impl_witness.55e) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.3df: = impl_witness imports.%ImplicitAs.impl_witness_table.bb5, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.261: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.d50: %U.as_type.as.ImplicitAs.impl.Convert.type.261 = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.494: %ImplicitAs.type.e9e = facet_value %ptr.037, (%ImplicitAs.impl_witness.3df) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.088: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.d06, %ImplicitAs.facet.494) [concrete] +// CHECK:STDOUT: %.343: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.088, %ImplicitAs.facet.494 [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.d50, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc11_11.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.4: %Destroy.Op.type.1d8f74.4 = struct_value () [concrete] // CHECK:STDOUT: } @@ -1151,22 +1151,22 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.0fc = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc11_12.1: type = splice_block %Optional [concrete = constants.%Optional.3ac] { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %.loc11_12.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.62d) [concrete = constants.%Optional.3ac] +// CHECK:STDOUT: %.loc11_12.1: type = splice_block %Optional [concrete = constants.%Optional.d06] { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %.loc11_12.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.97d) [concrete = constants.%Optional.d06] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.eb9: @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert.type (%U.as_type.as.ImplicitAs.impl.Convert.type.ad5) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert (constants.%U.as_type.as.ImplicitAs.impl.Convert.331)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.cf7 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb5 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] // CHECK:STDOUT: %Core.import_ref.017d8: @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert.type (%T.as_type.as.OptionalAs.impl.Convert.type.774) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert (constants.%T.as_type.as.OptionalAs.impl.Convert.5f9)] -// CHECK:STDOUT: %OptionalAs.impl_witness_table.efa = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness_table.2e9 = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1188,16 +1188,16 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %p.ref: ref %ptr.037 = name_ref p, %p -// CHECK:STDOUT: %impl.elem0: %.dd1 = impl_witness_access constants.%ImplicitAs.impl_witness.71d, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.c29] +// CHECK:STDOUT: %impl.elem0: %.343 = impl_witness_access constants.%ImplicitAs.impl_witness.3df, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.d50] // CHECK:STDOUT: %bound_method.loc11_11.1: = bound_method %p.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.62d, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.97d, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_11.2: = bound_method %p.ref, %specific_fn // CHECK:STDOUT: %.loc11_11.1: %ptr.037 = acquire_value %p.ref -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.3ac = call %bound_method.loc11_11.2(%.loc11_11.1) -// CHECK:STDOUT: %.loc11_11.2: init %Optional.3ac = converted %p.ref, %U.as_type.as.ImplicitAs.impl.Convert.call -// CHECK:STDOUT: %.loc11_11.3: ref %Optional.3ac = temporary_storage -// CHECK:STDOUT: %.loc11_11.4: ref %Optional.3ac = temporary %.loc11_11.3, %.loc11_11.2 -// CHECK:STDOUT: %.loc11_11.5: %Optional.3ac = acquire_value %.loc11_11.4 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.d06 = call %bound_method.loc11_11.2(%.loc11_11.1) +// CHECK:STDOUT: %.loc11_11.2: init %Optional.d06 = converted %p.ref, %U.as_type.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.loc11_11.3: ref %Optional.d06 = temporary_storage +// CHECK:STDOUT: %.loc11_11.4: ref %Optional.d06 = temporary %.loc11_11.3, %.loc11_11.2 +// CHECK:STDOUT: %.loc11_11.5: %Optional.d06 = acquire_value %.loc11_11.4 // CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc11_11.5) // CHECK:STDOUT: %Destroy.Op.bound.loc11: = bound_method %.loc11_11.4, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call.loc11: init %empty_tuple.type = call %Destroy.Op.bound.loc11(%.loc11_11.4) @@ -1216,7 +1216,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc11_11.3(%self.param: ref %Optional.3ac) { +// CHECK:STDOUT: fn @Destroy.Op.loc11_11.3(%self.param: ref %Optional.d06) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1384,29 +1384,29 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.5b4: %Destroy.type = facet_value %ptr.037, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.9f2: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5b4) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.284: = impl_witness imports.%OptionalStorage.impl_witness_table.0fc, @ptr.as.OptionalStorage.impl(%S) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.00e: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%S) [concrete] // CHECK:STDOUT: %.08a0: type = maybe_unformed_type %ptr.037 [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.62d: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.284) [concrete] -// CHECK:STDOUT: %Optional.3ac: type = class_type @Optional, @Optional(%OptionalStorage.facet.62d) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.97d: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.00e) [concrete] +// CHECK:STDOUT: %Optional.d06: type = class_type @Optional, @Optional(%OptionalStorage.facet.97d) [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.type.2a3: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.3ac)> [concrete] +// CHECK:STDOUT: %ImplicitAs.type.e9e: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.d06)> [concrete] // CHECK:STDOUT: %OptionalAs.type.3b8: type = facet_type <@OptionalAs, @OptionalAs(%T.220)> [symbolic] // CHECK:STDOUT: %U.042: %OptionalAs.type.3b8 = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%T.220, %U.042) [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.331: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.type.a75: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.62d)> [concrete] +// CHECK:STDOUT: %OptionalAs.type.0c0: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.97d)> [concrete] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.type.774: type = fn_type @T.as_type.as.OptionalAs.impl.Convert, @T.as_type.as.OptionalAs.impl(%T.220) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.5f9: %T.as_type.as.OptionalAs.impl.Convert.type.774 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.impl_witness.e0f: = impl_witness imports.%OptionalAs.impl_witness_table.efa, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.62d) [concrete] -// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.a75 = facet_value %ptr.037, (%OptionalAs.impl_witness.e0f) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.71d: = impl_witness imports.%ImplicitAs.impl_witness_table.cf7, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.afe: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.c29: %U.as_type.as.ImplicitAs.impl.Convert.type.afe = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.52d: %ImplicitAs.type.2a3 = facet_value %ptr.037, (%ImplicitAs.impl_witness.71d) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.c91: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.3ac, %ImplicitAs.facet.52d) [concrete] -// CHECK:STDOUT: %.dd1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.c91, %ImplicitAs.facet.52d [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.c29, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness.55e: = impl_witness imports.%OptionalAs.impl_witness_table.2e9, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.97d) [concrete] +// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.0c0 = facet_value %ptr.037, (%OptionalAs.impl_witness.55e) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.3df: = impl_witness imports.%ImplicitAs.impl_witness_table.bb5, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.261: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.d50: %U.as_type.as.ImplicitAs.impl.Convert.type.261 = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.494: %ImplicitAs.type.e9e = facet_value %ptr.037, (%ImplicitAs.impl_witness.3df) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.088: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.d06, %ImplicitAs.facet.494) [concrete] +// CHECK:STDOUT: %.343: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.088, %ImplicitAs.facet.494 [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.d50, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc9_11.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.4: %Destroy.Op.type.1d8f74.4 = struct_value () [concrete] // CHECK:STDOUT: %S.cpp_destructor.type: type = fn_type @S.cpp_destructor [concrete] @@ -1427,22 +1427,22 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.0fc = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc9_13.1: type = splice_block %Optional [concrete = constants.%Optional.3ac] { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %.loc9_13.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.62d) [concrete = constants.%Optional.3ac] +// CHECK:STDOUT: %.loc9_13.1: type = splice_block %Optional [concrete = constants.%Optional.d06] { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %.loc9_13.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.97d) [concrete = constants.%Optional.d06] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.eb9: @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert.type (%U.as_type.as.ImplicitAs.impl.Convert.type.ad5) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert (constants.%U.as_type.as.ImplicitAs.impl.Convert.331)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.cf7 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb5 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] // CHECK:STDOUT: %Core.import_ref.017d8: @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert.type (%T.as_type.as.OptionalAs.impl.Convert.type.774) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert (constants.%T.as_type.as.OptionalAs.impl.Convert.5f9)] -// CHECK:STDOUT: %OptionalAs.impl_witness_table.efa = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness_table.2e9 = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1465,15 +1465,15 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %s.ref: ref %S = name_ref s, %s // CHECK:STDOUT: %addr: %ptr.037 = addr_of %s.ref -// CHECK:STDOUT: %impl.elem0: %.dd1 = impl_witness_access constants.%ImplicitAs.impl_witness.71d, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.c29] +// CHECK:STDOUT: %impl.elem0: %.343 = impl_witness_access constants.%ImplicitAs.impl_witness.3df, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.d50] // CHECK:STDOUT: %bound_method.loc9_11.1: = bound_method %addr, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.62d, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.97d, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_11.2: = bound_method %addr, %specific_fn -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.3ac = call %bound_method.loc9_11.2(%addr) -// CHECK:STDOUT: %.loc9_11.1: init %Optional.3ac = converted %addr, %U.as_type.as.ImplicitAs.impl.Convert.call -// CHECK:STDOUT: %.loc9_11.2: ref %Optional.3ac = temporary_storage -// CHECK:STDOUT: %.loc9_11.3: ref %Optional.3ac = temporary %.loc9_11.2, %.loc9_11.1 -// CHECK:STDOUT: %.loc9_11.4: %Optional.3ac = acquire_value %.loc9_11.3 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.d06 = call %bound_method.loc9_11.2(%addr) +// CHECK:STDOUT: %.loc9_11.1: init %Optional.d06 = converted %addr, %U.as_type.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.loc9_11.2: ref %Optional.d06 = temporary_storage +// CHECK:STDOUT: %.loc9_11.3: ref %Optional.d06 = temporary %.loc9_11.2, %.loc9_11.1 +// CHECK:STDOUT: %.loc9_11.4: %Optional.d06 = acquire_value %.loc9_11.3 // CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc9_11.4) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.loc9_11.3, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call: init %empty_tuple.type = call %Destroy.Op.bound(%.loc9_11.3) @@ -1492,7 +1492,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc9_11.3(%self.param: ref %Optional.3ac) { +// CHECK:STDOUT: fn @Destroy.Op.loc9_11.3(%self.param: ref %Optional.d06) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1524,13 +1524,13 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.5b4: %Destroy.type = facet_value %ptr.037, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.9f2: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5b4) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.958: = impl_witness imports.%OptionalStorage.impl_witness_table.162, @ptr.as.OptionalStorage.impl(%S) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.00e: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%S) [concrete] // CHECK:STDOUT: %.08a: type = maybe_unformed_type %ptr.037 [concrete] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.958) [concrete] -// CHECK:STDOUT: %Optional.803: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] -// CHECK:STDOUT: %Optional.None.type.4ad: type = fn_type @Optional.None, @Optional(%OptionalStorage.facet) [concrete] -// CHECK:STDOUT: %Optional.None.9ac: %Optional.None.type.4ad = struct_value () [concrete] -// CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %Optional.None.9ac, @Optional.None(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.00e) [concrete] +// CHECK:STDOUT: %Optional.d06: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.None.type.428: type = fn_type @Optional.None, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.None.0dc: %Optional.None.type.428 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %Optional.None.0dc, @Optional.None(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc8_38.3 [concrete] @@ -1559,15 +1559,15 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.162 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.307, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.307, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc8_39.1: type = splice_block %Optional [concrete = constants.%Optional.803] { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.958) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %.loc8_39.1: type = splice_block %Optional [concrete = constants.%Optional.d06] { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc8_39.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.803] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.d06] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1583,16 +1583,16 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc8_25: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %S.ref: type = name_ref S, imports.%S.decl [concrete = constants.%S] // CHECK:STDOUT: %ptr: type = ptr_type %S.ref [concrete = constants.%ptr.037] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.958) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc8_31: %OptionalStorage.type = converted %ptr, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.803] -// CHECK:STDOUT: %.loc8_32: %Optional.None.type.4ad = specific_constant imports.%Core.import_ref.e9f, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.None.9ac] -// CHECK:STDOUT: %None.ref: %Optional.None.type.4ad = name_ref None, %.loc8_32 [concrete = constants.%Optional.None.9ac] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.d06] +// CHECK:STDOUT: %.loc8_32: %Optional.None.type.428 = specific_constant imports.%Core.import_ref.e9f, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.None.0dc] +// CHECK:STDOUT: %None.ref: %Optional.None.type.428 = name_ref None, %.loc8_32 [concrete = constants.%Optional.None.0dc] // CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %None.ref, @Optional.None(constants.%OptionalStorage.facet) [concrete = constants.%Optional.None.specific_fn] -// CHECK:STDOUT: %Optional.None.call: init %Optional.803 = call %Optional.None.specific_fn() -// CHECK:STDOUT: %.loc8_38.1: ref %Optional.803 = temporary_storage -// CHECK:STDOUT: %.loc8_38.2: ref %Optional.803 = temporary %.loc8_38.1, %Optional.None.call -// CHECK:STDOUT: %.loc8_38.3: %Optional.803 = acquire_value %.loc8_38.2 +// CHECK:STDOUT: %Optional.None.call: init %Optional.d06 = call %Optional.None.specific_fn() +// CHECK:STDOUT: %.loc8_38.1: ref %Optional.d06 = temporary_storage +// CHECK:STDOUT: %.loc8_38.2: ref %Optional.d06 = temporary %.loc8_38.1, %Optional.None.call +// CHECK:STDOUT: %.loc8_38.3: %Optional.d06 = acquire_value %.loc8_38.2 // CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc8_38.3) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.loc8_38.2, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call: init %empty_tuple.type = call %Destroy.Op.bound(%.loc8_38.2) @@ -1609,7 +1609,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc8_38.3(%self.param: ref %Optional.803) { +// CHECK:STDOUT: fn @Destroy.Op.loc8_38.3(%self.param: ref %Optional.d06) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1647,13 +1647,13 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.5b4: %Destroy.type = facet_value %ptr.037, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.9f2: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5b4) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.284: = impl_witness imports.%OptionalStorage.impl_witness_table.0fc, @ptr.as.OptionalStorage.impl(%S) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.00e: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%S) [concrete] // CHECK:STDOUT: %.08a0: type = maybe_unformed_type %ptr.037 [concrete] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.284) [concrete] -// CHECK:STDOUT: %Optional.3ac: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] -// CHECK:STDOUT: %Optional.Some.type.088: type = fn_type @Optional.Some, @Optional(%OptionalStorage.facet) [concrete] -// CHECK:STDOUT: %Optional.Some.b77: %Optional.Some.type.088 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Some.specific_fn: = specific_function %Optional.Some.b77, @Optional.Some(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.00e) [concrete] +// CHECK:STDOUT: %Optional.d06: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.Some.type.874: type = fn_type @Optional.Some, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.Some.44b: %Optional.Some.type.874 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Some.specific_fn: = specific_function %Optional.Some.44b, @Optional.Some(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc9_40.3 [concrete] @@ -1684,15 +1684,15 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.0fc = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc9_41.1: type = splice_block %Optional [concrete = constants.%Optional.3ac] { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %.loc9_41.1: type = splice_block %Optional [concrete = constants.%Optional.d06] { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc9_41.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.3ac] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.d06] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1722,22 +1722,22 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc9_25: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %S.ref.loc9: type = name_ref S, imports.%S.decl [concrete = constants.%S] // CHECK:STDOUT: %ptr: type = ptr_type %S.ref.loc9 [concrete = constants.%ptr.037] -// CHECK:STDOUT: %OptionalStorage.facet.loc9_31: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %OptionalStorage.facet.loc9_31: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc9_31: %OptionalStorage.type = converted %ptr, %OptionalStorage.facet.loc9_31 [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.3ac] -// CHECK:STDOUT: %.loc9_32: %Optional.Some.type.088 = specific_constant imports.%Core.import_ref.48e, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.Some.b77] -// CHECK:STDOUT: %Some.ref: %Optional.Some.type.088 = name_ref Some, %.loc9_32 [concrete = constants.%Optional.Some.b77] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.d06] +// CHECK:STDOUT: %.loc9_32: %Optional.Some.type.874 = specific_constant imports.%Core.import_ref.48e, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.Some.44b] +// CHECK:STDOUT: %Some.ref: %Optional.Some.type.874 = name_ref Some, %.loc9_32 [concrete = constants.%Optional.Some.44b] // CHECK:STDOUT: %s.ref: ref %S = name_ref s, %s // CHECK:STDOUT: %addr: %ptr.037 = addr_of %s.ref -// CHECK:STDOUT: %OptionalStorage.facet.loc9_40.1: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %OptionalStorage.facet.loc9_40.1: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc9_40.1: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet.loc9_40.1 [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %OptionalStorage.facet.loc9_40.2: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %OptionalStorage.facet.loc9_40.2: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc9_40.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet.loc9_40.2 [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %Optional.Some.specific_fn: = specific_function %Some.ref, @Optional.Some(constants.%OptionalStorage.facet) [concrete = constants.%Optional.Some.specific_fn] -// CHECK:STDOUT: %Optional.Some.call: init %Optional.3ac = call %Optional.Some.specific_fn(%addr) -// CHECK:STDOUT: %.loc9_40.3: ref %Optional.3ac = temporary_storage -// CHECK:STDOUT: %.loc9_40.4: ref %Optional.3ac = temporary %.loc9_40.3, %Optional.Some.call -// CHECK:STDOUT: %.loc9_40.5: %Optional.3ac = acquire_value %.loc9_40.4 +// CHECK:STDOUT: %Optional.Some.call: init %Optional.d06 = call %Optional.Some.specific_fn(%addr) +// CHECK:STDOUT: %.loc9_40.3: ref %Optional.d06 = temporary_storage +// CHECK:STDOUT: %.loc9_40.4: ref %Optional.d06 = temporary %.loc9_40.3, %Optional.Some.call +// CHECK:STDOUT: %.loc9_40.5: %Optional.d06 = acquire_value %.loc9_40.4 // CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc9_40.5) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.loc9_40.4, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call: init %empty_tuple.type = call %Destroy.Op.bound(%.loc9_40.4) @@ -1756,7 +1756,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc9_40.3(%self.param: ref %Optional.3ac) { +// CHECK:STDOUT: fn @Destroy.Op.loc9_40.3(%self.param: ref %Optional.d06) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1783,10 +1783,10 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.5b4: %Destroy.type = facet_value %ptr.037, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.9f2: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5b4) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.4b0: = impl_witness imports.%OptionalStorage.impl_witness_table.b5f, @ptr.as.OptionalStorage.impl(%S) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.00e: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%S) [concrete] // CHECK:STDOUT: %.08a: type = maybe_unformed_type %ptr.037 [concrete] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.4b0) [concrete] -// CHECK:STDOUT: %Optional.1f8: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.00e) [concrete] +// CHECK:STDOUT: %Optional.d06: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %get.type: type = fn_type @get [concrete] // CHECK:STDOUT: %get: %get.type = struct_value () [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] @@ -1809,23 +1809,23 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.b5f = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %get.decl: %get.type = fn_decl @get [concrete = constants.%get] { // CHECK:STDOUT: // CHECK:STDOUT: } { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.4b0) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc8: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.1f8] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.d06] // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc8_20.1: type = splice_block %Optional [concrete = constants.%Optional.1f8] { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.4b0) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %.loc8_20.1: type = splice_block %Optional [concrete = constants.%Optional.d06] { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc8_20.2: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.1f8] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.d06] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1837,10 +1837,10 @@ fn F() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %Cpp.ref.loc8_11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %get.ref: %get.cpp_overload_set.type = name_ref get, imports.%get.cpp_overload_set.value [concrete = constants.%get.cpp_overload_set.value] -// CHECK:STDOUT: %get.call: init %Optional.1f8 = call imports.%get.decl() -// CHECK:STDOUT: %.loc8_19.1: ref %Optional.1f8 = temporary_storage -// CHECK:STDOUT: %.loc8_19.2: ref %Optional.1f8 = temporary %.loc8_19.1, %get.call -// CHECK:STDOUT: %.loc8_19.3: %Optional.1f8 = acquire_value %.loc8_19.2 +// CHECK:STDOUT: %get.call: init %Optional.d06 = call imports.%get.decl() +// CHECK:STDOUT: %.loc8_19.1: ref %Optional.d06 = temporary_storage +// CHECK:STDOUT: %.loc8_19.2: ref %Optional.d06 = temporary %.loc8_19.1, %get.call +// CHECK:STDOUT: %.loc8_19.3: %Optional.d06 = acquire_value %.loc8_19.2 // CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc8_19.3) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.loc8_19.2, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call: init %empty_tuple.type = call %Destroy.Op.bound(%.loc8_19.2) @@ -1857,7 +1857,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc8_19.3(%self.param: ref %Optional.1f8) { +// CHECK:STDOUT: fn @Destroy.Op.loc8_19.3(%self.param: ref %Optional.d06) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1967,35 +1967,35 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.5b4: %Destroy.type = facet_value %ptr.037, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.9f2: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.5b4) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.284: = impl_witness imports.%OptionalStorage.impl_witness_table.0fc, @ptr.as.OptionalStorage.impl(%S) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.00e: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%S) [concrete] // CHECK:STDOUT: %.08a0: type = maybe_unformed_type %ptr.037 [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.62d: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.284) [concrete] -// CHECK:STDOUT: %Optional.3ac: type = class_type @Optional, @Optional(%OptionalStorage.facet.62d) [concrete] -// CHECK:STDOUT: %pattern_type.550: type = pattern_type %Optional.3ac [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.97d: %OptionalStorage.type = facet_value %ptr.037, (%OptionalStorage.impl_witness.00e) [concrete] +// CHECK:STDOUT: %Optional.d06: type = class_type @Optional, @Optional(%OptionalStorage.facet.97d) [concrete] +// CHECK:STDOUT: %pattern_type.399: type = pattern_type %Optional.d06 [concrete] // CHECK:STDOUT: %Direct.type: type = fn_type @Direct [concrete] // CHECK:STDOUT: %Direct: %Direct.type = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ff: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.type.2a3: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.3ac)> [concrete] +// CHECK:STDOUT: %ImplicitAs.type.e9e: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.d06)> [concrete] // CHECK:STDOUT: %OptionalAs.type.3b8: type = facet_type <@OptionalAs, @OptionalAs(%T.220)> [symbolic] // CHECK:STDOUT: %U.042: %OptionalAs.type.3b8 = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%T.220, %U.042) [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.331: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.type.a75: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.62d)> [concrete] +// CHECK:STDOUT: %OptionalAs.type.0c0: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.97d)> [concrete] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.type.774: type = fn_type @T.as_type.as.OptionalAs.impl.Convert, @T.as_type.as.OptionalAs.impl(%T.220) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.5f9: %T.as_type.as.OptionalAs.impl.Convert.type.774 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.impl_witness.e0f: = impl_witness imports.%OptionalAs.impl_witness_table.efa, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.62d) [concrete] -// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.a75 = facet_value %ptr.037, (%OptionalAs.impl_witness.e0f) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.71d: = impl_witness imports.%ImplicitAs.impl_witness_table.cf7, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.afe: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.c29: %U.as_type.as.ImplicitAs.impl.Convert.type.afe = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.52d: %ImplicitAs.type.2a3 = facet_value %ptr.037, (%ImplicitAs.impl_witness.71d) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.c91: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.3ac, %ImplicitAs.facet.52d) [concrete] -// CHECK:STDOUT: %.dd1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.c91, %ImplicitAs.facet.52d [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.c29, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.62d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness.55e: = impl_witness imports.%OptionalAs.impl_witness_table.2e9, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.97d) [concrete] +// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.0c0 = facet_value %ptr.037, (%OptionalAs.impl_witness.55e) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.3df: = impl_witness imports.%ImplicitAs.impl_witness_table.bb5, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.261: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.d50: %U.as_type.as.ImplicitAs.impl.Convert.type.261 = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.494: %ImplicitAs.type.e9e = facet_value %ptr.037, (%ImplicitAs.impl_witness.3df) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.088: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.d06, %ImplicitAs.facet.494) [concrete] +// CHECK:STDOUT: %.343: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.088, %ImplicitAs.facet.494 [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.d50, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.97d, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc11_14.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.4: %Destroy.Op.type.1d8f74.4 = struct_value () [concrete] -// CHECK:STDOUT: %a.patt: %pattern_type.550 = value_binding_pattern a [concrete] +// CHECK:STDOUT: %a.patt: %pattern_type.399 = value_binding_pattern a [concrete] // CHECK:STDOUT: %Indirect.cpp_overload_set.type: type = cpp_overload_set_type @Indirect.cpp_overload_set [concrete] // CHECK:STDOUT: %Indirect.cpp_overload_set.value: %Indirect.cpp_overload_set.type = cpp_overload_set_value @Indirect.cpp_overload_set [concrete] // CHECK:STDOUT: %Indirect__carbon_thunk.type: type = fn_type @Indirect__carbon_thunk [concrete] @@ -2028,34 +2028,34 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.0fc = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Direct.decl: %Direct.type = fn_decl @Direct [concrete = constants.%Direct] { // CHECK:STDOUT: // CHECK:STDOUT: } { -// CHECK:STDOUT: %OptionalStorage.facet.loc11_16.1: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %.loc11_16.1: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet.loc11_16.1 [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %Optional.loc11_16.1: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.62d) [concrete = constants.%Optional.3ac] +// CHECK:STDOUT: %OptionalStorage.facet.loc11_16.1: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %.loc11_16.1: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet.loc11_16.1 [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %Optional.loc11_16.1: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.97d) [concrete = constants.%Optional.d06] // CHECK:STDOUT: -// CHECK:STDOUT: %.loc11_16.2: type = splice_block %Optional.loc11_16.2 [concrete = constants.%Optional.3ac] { -// CHECK:STDOUT: %OptionalStorage.facet.loc11_16.2: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %.loc11_16.3: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet.loc11_16.2 [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %Optional.loc11_16.2: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.62d) [concrete = constants.%Optional.3ac] +// CHECK:STDOUT: %.loc11_16.2: type = splice_block %Optional.loc11_16.2 [concrete = constants.%Optional.d06] { +// CHECK:STDOUT: %OptionalStorage.facet.loc11_16.2: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %.loc11_16.3: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet.loc11_16.2 [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %Optional.loc11_16.2: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.97d) [concrete = constants.%Optional.d06] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.eb9: @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert.type (%U.as_type.as.ImplicitAs.impl.Convert.type.ad5) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert (constants.%U.as_type.as.ImplicitAs.impl.Convert.331)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.cf7 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb5 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] // CHECK:STDOUT: %Core.import_ref.017d8: @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert.type (%T.as_type.as.OptionalAs.impl.Convert.type.774) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert (constants.%T.as_type.as.OptionalAs.impl.Convert.5f9)] -// CHECK:STDOUT: %OptionalAs.impl_witness_table.efa = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness_table.2e9 = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Indirect.cpp_overload_set.value: %Indirect.cpp_overload_set.type = cpp_overload_set_value @Indirect.cpp_overload_set [concrete = constants.%Indirect.cpp_overload_set.value] // CHECK:STDOUT: %Indirect__carbon_thunk.decl: %Indirect__carbon_thunk.type = fn_decl @Indirect__carbon_thunk [concrete = constants.%Indirect__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %.loc13: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.62d) [concrete = constants.%Optional.3ac] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.037, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %.loc13: %OptionalStorage.type = converted constants.%ptr.037, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.97d) [concrete = constants.%Optional.d06] // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -2080,16 +2080,16 @@ fn F() { // CHECK:STDOUT: %Direct.ref: %Direct.cpp_overload_set.type = name_ref Direct, imports.%Direct.cpp_overload_set.value [concrete = constants.%Direct.cpp_overload_set.value] // CHECK:STDOUT: %s.ref: ref %S = name_ref s, %s // CHECK:STDOUT: %addr.loc11: %ptr.037 = addr_of %s.ref -// CHECK:STDOUT: %impl.elem0: %.dd1 = impl_witness_access constants.%ImplicitAs.impl_witness.71d, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.c29] +// CHECK:STDOUT: %impl.elem0: %.343 = impl_witness_access constants.%ImplicitAs.impl_witness.3df, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.d50] // CHECK:STDOUT: %bound_method.loc11_14.1: = bound_method %addr.loc11, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.62d, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.97d, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_14.2: = bound_method %addr.loc11, %specific_fn -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.3ac = call %bound_method.loc11_14.2(%addr.loc11) -// CHECK:STDOUT: %.loc11_14.1: init %Optional.3ac = converted %addr.loc11, %U.as_type.as.ImplicitAs.impl.Convert.call -// CHECK:STDOUT: %.loc11_14.2: ref %Optional.3ac = temporary_storage -// CHECK:STDOUT: %.loc11_14.3: ref %Optional.3ac = temporary %.loc11_14.2, %.loc11_14.1 -// CHECK:STDOUT: %.loc11_14.4: %Optional.3ac = acquire_value %.loc11_14.3 -// CHECK:STDOUT: %Direct.call: init %Optional.3ac = call imports.%Direct.decl(%.loc11_14.4) +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.d06 = call %bound_method.loc11_14.2(%addr.loc11) +// CHECK:STDOUT: %.loc11_14.1: init %Optional.d06 = converted %addr.loc11, %U.as_type.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.loc11_14.2: ref %Optional.d06 = temporary_storage +// CHECK:STDOUT: %.loc11_14.3: ref %Optional.d06 = temporary %.loc11_14.2, %.loc11_14.1 +// CHECK:STDOUT: %.loc11_14.4: %Optional.d06 = acquire_value %.loc11_14.3 +// CHECK:STDOUT: %Direct.call: init %Optional.d06 = call imports.%Direct.decl(%.loc11_14.4) // CHECK:STDOUT: %Destroy.Op.bound.loc11: = bound_method %.loc11_14.3, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call.loc11: init %empty_tuple.type = call %Destroy.Op.bound.loc11(%.loc11_14.3) // CHECK:STDOUT: %Cpp.ref.loc13_41: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] @@ -2104,23 +2104,23 @@ fn F() { // CHECK:STDOUT: %.loc13_57.3: %S = acquire_value %.loc13_57.2 [concrete = constants.%S.val] // CHECK:STDOUT: %.loc13_57.4: ref %S = value_as_ref %.loc13_57.3 // CHECK:STDOUT: %addr.loc13: %ptr.037 = addr_of %.loc13_57.4 -// CHECK:STDOUT: %Indirect__carbon_thunk.call: init %Optional.3ac = call imports.%Indirect__carbon_thunk.decl(%addr.loc13) -// CHECK:STDOUT: %.loc13_65.1: ref %Optional.3ac = temporary_storage -// CHECK:STDOUT: %.loc13_65.2: ref %Optional.3ac = temporary %.loc13_65.1, %Indirect__carbon_thunk.call -// CHECK:STDOUT: %.loc13_65.3: %Optional.3ac = acquire_value %.loc13_65.2 -// CHECK:STDOUT: %.loc13_37.1: type = splice_block %Optional [concrete = constants.%Optional.3ac] { +// CHECK:STDOUT: %Indirect__carbon_thunk.call: init %Optional.d06 = call imports.%Indirect__carbon_thunk.decl(%addr.loc13) +// CHECK:STDOUT: %.loc13_65.1: ref %Optional.d06 = temporary_storage +// CHECK:STDOUT: %.loc13_65.2: ref %Optional.d06 = temporary %.loc13_65.1, %Indirect__carbon_thunk.call +// CHECK:STDOUT: %.loc13_65.3: %Optional.d06 = acquire_value %.loc13_65.2 +// CHECK:STDOUT: %.loc13_37.1: type = splice_block %Optional [concrete = constants.%Optional.d06] { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Optional.ref: %Optional.type = name_ref Optional, imports.%Core.Optional [concrete = constants.%Optional.generic] // CHECK:STDOUT: %Cpp.ref.loc13_31: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %S.ref.loc13_34: type = name_ref S, imports.%S.decl [concrete = constants.%S] // CHECK:STDOUT: %ptr: type = ptr_type %S.ref.loc13_34 [concrete = constants.%ptr.037] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.284) [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %.loc13_37.2: %OptionalStorage.type = converted %ptr, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.62d] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.62d) [concrete = constants.%Optional.3ac] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.00e) [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %.loc13_37.2: %OptionalStorage.type = converted %ptr, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.97d] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.97d) [concrete = constants.%Optional.d06] // CHECK:STDOUT: } -// CHECK:STDOUT: %a: %Optional.3ac = wrapper_binding a, %.loc13_65.3 +// CHECK:STDOUT: %a: %Optional.d06 = wrapper_binding a, %.loc13_65.3 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %a.patt: %pattern_type.550 = value_binding_pattern a [concrete = constants.%a.patt] +// CHECK:STDOUT: %a.patt: %pattern_type.399 = value_binding_pattern a [concrete = constants.%a.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %Destroy.Op.bound.loc13: = bound_method %.loc13_65.2, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call.loc13: init %empty_tuple.type = call %Destroy.Op.bound.loc13(%.loc13_65.2) @@ -2139,7 +2139,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc11_14.3(%self.param: ref %Optional.3ac) { +// CHECK:STDOUT: fn @Destroy.Op.loc11_14.3(%self.param: ref %Optional.d06) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/function/import/qualified_param.carbon b/toolchain/check/testdata/interop/cpp/function/import/qualified_param.carbon index 19470127db03..8c6634d88c31 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/qualified_param.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/qualified_param.carbon @@ -48,12 +48,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -90,7 +90,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %S.decl: type = class_decl @S [concrete = constants.%S] {} {} // CHECK:STDOUT: %TakesConstS.cpp_overload_set.value: %TakesConstS.cpp_overload_set.type = cpp_overload_set_value @TakesConstS.cpp_overload_set [concrete = constants.%TakesConstS.cpp_overload_set.value] // CHECK:STDOUT: %TakesConstS__carbon_thunk.decl: %TakesConstS__carbon_thunk.type = fn_decl @TakesConstS__carbon_thunk [concrete = constants.%TakesConstS__carbon_thunk] { @@ -105,7 +105,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %TakesConstInt.ref: %TakesConstInt.cpp_overload_set.type = name_ref TakesConstInt, imports.%TakesConstInt.cpp_overload_set.value [concrete = constants.%TakesConstInt.cpp_overload_set.value] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_21.1: = bound_method %int_42, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_21.2: = bound_method %int_42, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/function/import/reference.carbon b/toolchain/check/testdata/interop/cpp/function/import/reference.carbon index 6a7717e68589..5d9a50365e04 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/reference.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/reference.carbon @@ -559,8 +559,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %S.Op: %S.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.1: = custom_witness (%S.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.f3a: %Default.type = facet_value %S, (%custom_witness.9b40fb.1) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.eff: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.f3a) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.176: %DefaultOrUnformed.type = facet_value %S, (%DefaultOrUnformed.impl_witness.eff) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6da: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.f3a) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.dce: %DefaultOrUnformed.type = facet_value %S, (%DefaultOrUnformed.impl_witness.6da) [concrete] // CHECK:STDOUT: %s.patt: %pattern_type.0f5 = value_binding_pattern s [concrete] // CHECK:STDOUT: %TakesLValue.cpp_overload_set.type: type = cpp_overload_set_type @TakesLValue.cpp_overload_set [concrete] // CHECK:STDOUT: %TakesLValue.cpp_overload_set.value: %TakesLValue.cpp_overload_set.type = cpp_overload_set_value @TakesLValue.cpp_overload_set [concrete] @@ -573,8 +573,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %T.Op: %T.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.2: = custom_witness (%T.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.d67: %Default.type = facet_value %T.ed0, (%custom_witness.9b40fb.2) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.537: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.d67) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.e0e: %DefaultOrUnformed.type = facet_value %T.ed0, (%DefaultOrUnformed.impl_witness.537) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.8f2: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.d67) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.0be: %DefaultOrUnformed.type = facet_value %T.ed0, (%DefaultOrUnformed.impl_witness.8f2) [concrete] // CHECK:STDOUT: %u.patt: %pattern_type.0f5 = ref_binding_pattern u [concrete] // CHECK:STDOUT: %u.var_patt: %pattern_type.0f5 = var_pattern %u.patt [concrete] // CHECK:STDOUT: %S.cpp_destructor.type: type = fn_type @S.cpp_destructor [concrete] @@ -592,7 +592,7 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: } // CHECK:STDOUT: %S.decl: type = class_decl @S [concrete = constants.%S] {} {} // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %TakesLValue.cpp_overload_set.value: %TakesLValue.cpp_overload_set.type = cpp_overload_set_value @TakesLValue.cpp_overload_set [concrete = constants.%TakesLValue.cpp_overload_set.value] // CHECK:STDOUT: %T.decl: type = class_decl @T [concrete = constants.%T.ed0] {} {} // CHECK:STDOUT: } @@ -600,8 +600,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %v.var: ref %S = var_storage %v.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.eff) [concrete = constants.%DefaultOrUnformed.facet.176] -// CHECK:STDOUT: %.loc8_15.1: %DefaultOrUnformed.type = converted constants.%S, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.176] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.6da) [concrete = constants.%DefaultOrUnformed.facet.dce] +// CHECK:STDOUT: %.loc8_15.1: %DefaultOrUnformed.type = converted constants.%S, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.dce] // CHECK:STDOUT: %as_type.loc8: type = facet_access_type %.loc8_15.1 [concrete = constants.%S] // CHECK:STDOUT: %.loc8_15.2: type = converted %.loc8_15.1, %as_type.loc8 [concrete = constants.%S] // CHECK:STDOUT: @@ -639,8 +639,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %.loc28_21.1: %const = as_compatible %s.ref.loc28 // CHECK:STDOUT: %.loc28_21.2: %const = converted %s.ref.loc28, %.loc28_21.1 // CHECK:STDOUT: %t.var: ref %T.ed0 = var_storage %t.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc30: %DefaultOrUnformed.type = facet_value constants.%T.ed0, (constants.%DefaultOrUnformed.impl_witness.537) [concrete = constants.%DefaultOrUnformed.facet.e0e] -// CHECK:STDOUT: %.loc30_15.1: %DefaultOrUnformed.type = converted constants.%T.ed0, %DefaultOrUnformed.facet.loc30 [concrete = constants.%DefaultOrUnformed.facet.e0e] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc30: %DefaultOrUnformed.type = facet_value constants.%T.ed0, (constants.%DefaultOrUnformed.impl_witness.8f2) [concrete = constants.%DefaultOrUnformed.facet.0be] +// CHECK:STDOUT: %.loc30_15.1: %DefaultOrUnformed.type = converted constants.%T.ed0, %DefaultOrUnformed.facet.loc30 [concrete = constants.%DefaultOrUnformed.facet.0be] // CHECK:STDOUT: %as_type.loc30: type = facet_access_type %.loc30_15.1 [concrete = constants.%T.ed0] // CHECK:STDOUT: %.loc30_15.2: type = converted %.loc30_15.1, %as_type.loc30 [concrete = constants.%T.ed0] // CHECK:STDOUT: @@ -660,8 +660,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %TakesLValue.ref.loc39: %TakesLValue.cpp_overload_set.type = name_ref TakesLValue, imports.%TakesLValue.cpp_overload_set.value [concrete = constants.%TakesLValue.cpp_overload_set.value] // CHECK:STDOUT: %t.ref: ref %T.ed0 = name_ref t, %t // CHECK:STDOUT: %u.var: ref %S = var_storage %u.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc41: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.eff) [concrete = constants.%DefaultOrUnformed.facet.176] -// CHECK:STDOUT: %.loc41_15.1: %DefaultOrUnformed.type = converted constants.%S, %DefaultOrUnformed.facet.loc41 [concrete = constants.%DefaultOrUnformed.facet.176] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc41: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.6da) [concrete = constants.%DefaultOrUnformed.facet.dce] +// CHECK:STDOUT: %.loc41_15.1: %DefaultOrUnformed.type = converted constants.%S, %DefaultOrUnformed.facet.loc41 [concrete = constants.%DefaultOrUnformed.facet.dce] // CHECK:STDOUT: %as_type.loc41: type = facet_access_type %.loc41_15.1 [concrete = constants.%S] // CHECK:STDOUT: %.loc41_15.2: type = converted %.loc41_15.1, %as_type.loc41 [concrete = constants.%S] // CHECK:STDOUT: @@ -758,8 +758,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %S.Op: %S.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.1: = custom_witness (%S.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.f3a: %Default.type = facet_value %S, (%custom_witness.9b40fb.1) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.eff: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.f3a) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.176: %DefaultOrUnformed.type = facet_value %S, (%DefaultOrUnformed.impl_witness.eff) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6da: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.f3a) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.dce: %DefaultOrUnformed.type = facet_value %S, (%DefaultOrUnformed.impl_witness.6da) [concrete] // CHECK:STDOUT: %TakesRValue.cpp_overload_set.type: type = cpp_overload_set_type @TakesRValue.cpp_overload_set [concrete] // CHECK:STDOUT: %TakesRValue.cpp_overload_set.value: %TakesRValue.cpp_overload_set.type = cpp_overload_set_value @TakesRValue.cpp_overload_set [concrete] // CHECK:STDOUT: %T.ed0: type = class_type @T [concrete] @@ -770,8 +770,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %T.Op: %T.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.2: = custom_witness (%T.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.d67: %Default.type = facet_value %T.ed0, (%custom_witness.9b40fb.2) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.537: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.d67) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.e0e: %DefaultOrUnformed.type = facet_value %T.ed0, (%DefaultOrUnformed.impl_witness.537) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.8f2: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.d67) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.0be: %DefaultOrUnformed.type = facet_value %T.ed0, (%DefaultOrUnformed.impl_witness.8f2) [concrete] // CHECK:STDOUT: %empty_struct.a40: %empty_struct_type = struct_value () [concrete] // CHECK:STDOUT: %S.val: %S = struct_value () [concrete] // CHECK:STDOUT: %const: type = const_type %S [concrete] @@ -791,7 +791,7 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: } // CHECK:STDOUT: %S.decl: type = class_decl @S [concrete = constants.%S] {} {} // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %TakesRValue.cpp_overload_set.value: %TakesRValue.cpp_overload_set.type = cpp_overload_set_value @TakesRValue.cpp_overload_set [concrete = constants.%TakesRValue.cpp_overload_set.value] // CHECK:STDOUT: %T.decl: type = class_decl @T [concrete = constants.%T.ed0] {} {} // CHECK:STDOUT: } @@ -799,8 +799,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %s.var: ref %S = var_storage %s.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.eff) [concrete = constants.%DefaultOrUnformed.facet.176] -// CHECK:STDOUT: %.loc8_15.1: %DefaultOrUnformed.type = converted constants.%S, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.176] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.6da) [concrete = constants.%DefaultOrUnformed.facet.dce] +// CHECK:STDOUT: %.loc8_15.1: %DefaultOrUnformed.type = converted constants.%S, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.dce] // CHECK:STDOUT: %as_type.loc8: type = facet_access_type %.loc8_15.1 [concrete = constants.%S] // CHECK:STDOUT: %.loc8_15.2: type = converted %.loc8_15.1, %as_type.loc8 [concrete = constants.%S] // CHECK:STDOUT: @@ -820,8 +820,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %TakesRValue.ref.loc17: %TakesRValue.cpp_overload_set.type = name_ref TakesRValue, imports.%TakesRValue.cpp_overload_set.value [concrete = constants.%TakesRValue.cpp_overload_set.value] // CHECK:STDOUT: %s.ref: ref %S = name_ref s, %s // CHECK:STDOUT: %t.var: ref %T.ed0 = var_storage %t.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc19: %DefaultOrUnformed.type = facet_value constants.%T.ed0, (constants.%DefaultOrUnformed.impl_witness.537) [concrete = constants.%DefaultOrUnformed.facet.e0e] -// CHECK:STDOUT: %.loc19_15.1: %DefaultOrUnformed.type = converted constants.%T.ed0, %DefaultOrUnformed.facet.loc19 [concrete = constants.%DefaultOrUnformed.facet.e0e] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc19: %DefaultOrUnformed.type = facet_value constants.%T.ed0, (constants.%DefaultOrUnformed.impl_witness.8f2) [concrete = constants.%DefaultOrUnformed.facet.0be] +// CHECK:STDOUT: %.loc19_15.1: %DefaultOrUnformed.type = converted constants.%T.ed0, %DefaultOrUnformed.facet.loc19 [concrete = constants.%DefaultOrUnformed.facet.0be] // CHECK:STDOUT: %as_type.loc19: type = facet_access_type %.loc19_15.1 [concrete = constants.%T.ed0] // CHECK:STDOUT: %.loc19_15.2: type = converted %.loc19_15.1, %as_type.loc19 [concrete = constants.%T.ed0] // CHECK:STDOUT: @@ -1089,8 +1089,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %S.Op: %S.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.1: = custom_witness (%S.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.f3a: %Default.type = facet_value %S, (%custom_witness.9b40fb.1) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.eff: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.f3a) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.176: %DefaultOrUnformed.type = facet_value %S, (%DefaultOrUnformed.impl_witness.eff) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6da: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.f3a) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.dce: %DefaultOrUnformed.type = facet_value %S, (%DefaultOrUnformed.impl_witness.6da) [concrete] // CHECK:STDOUT: %TakesConstRValue.cpp_overload_set.type: type = cpp_overload_set_type @TakesConstRValue.cpp_overload_set [concrete] // CHECK:STDOUT: %TakesConstRValue.cpp_overload_set.value: %TakesConstRValue.cpp_overload_set.type = cpp_overload_set_value @TakesConstRValue.cpp_overload_set [concrete] // CHECK:STDOUT: %T.ed0: type = class_type @T [concrete] @@ -1101,8 +1101,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %T.Op: %T.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.2: = custom_witness (%T.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.d67: %Default.type = facet_value %T.ed0, (%custom_witness.9b40fb.2) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.537: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.d67) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.e0e: %DefaultOrUnformed.type = facet_value %T.ed0, (%DefaultOrUnformed.impl_witness.537) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.8f2: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.d67) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.0be: %DefaultOrUnformed.type = facet_value %T.ed0, (%DefaultOrUnformed.impl_witness.8f2) [concrete] // CHECK:STDOUT: %T.cpp_destructor.type: type = fn_type @T.cpp_destructor [concrete] // CHECK:STDOUT: %T.cpp_destructor: %T.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: %S.cpp_destructor.type: type = fn_type @S.cpp_destructor [concrete] @@ -1118,7 +1118,7 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: } // CHECK:STDOUT: %S.decl: type = class_decl @S [concrete = constants.%S] {} {} // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %TakesConstRValue.cpp_overload_set.value: %TakesConstRValue.cpp_overload_set.type = cpp_overload_set_value @TakesConstRValue.cpp_overload_set [concrete = constants.%TakesConstRValue.cpp_overload_set.value] // CHECK:STDOUT: %T.decl: type = class_decl @T [concrete = constants.%T.ed0] {} {} // CHECK:STDOUT: } @@ -1126,8 +1126,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %s.var: ref %S = var_storage %s.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.eff) [concrete = constants.%DefaultOrUnformed.facet.176] -// CHECK:STDOUT: %.loc8_15.1: %DefaultOrUnformed.type = converted constants.%S, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.176] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.6da) [concrete = constants.%DefaultOrUnformed.facet.dce] +// CHECK:STDOUT: %.loc8_15.1: %DefaultOrUnformed.type = converted constants.%S, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.dce] // CHECK:STDOUT: %as_type.loc8: type = facet_access_type %.loc8_15.1 [concrete = constants.%S] // CHECK:STDOUT: %.loc8_15.2: type = converted %.loc8_15.1, %as_type.loc8 [concrete = constants.%S] // CHECK:STDOUT: @@ -1147,8 +1147,8 @@ fn PassConstRef(ref x: const X) { // CHECK:STDOUT: %TakesConstRValue.ref.loc17: %TakesConstRValue.cpp_overload_set.type = name_ref TakesConstRValue, imports.%TakesConstRValue.cpp_overload_set.value [concrete = constants.%TakesConstRValue.cpp_overload_set.value] // CHECK:STDOUT: %s.ref: ref %S = name_ref s, %s // CHECK:STDOUT: %t.var: ref %T.ed0 = var_storage %t.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc19: %DefaultOrUnformed.type = facet_value constants.%T.ed0, (constants.%DefaultOrUnformed.impl_witness.537) [concrete = constants.%DefaultOrUnformed.facet.e0e] -// CHECK:STDOUT: %.loc19_15.1: %DefaultOrUnformed.type = converted constants.%T.ed0, %DefaultOrUnformed.facet.loc19 [concrete = constants.%DefaultOrUnformed.facet.e0e] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc19: %DefaultOrUnformed.type = facet_value constants.%T.ed0, (constants.%DefaultOrUnformed.impl_witness.8f2) [concrete = constants.%DefaultOrUnformed.facet.0be] +// CHECK:STDOUT: %.loc19_15.1: %DefaultOrUnformed.type = converted constants.%T.ed0, %DefaultOrUnformed.facet.loc19 [concrete = constants.%DefaultOrUnformed.facet.0be] // CHECK:STDOUT: %as_type.loc19: type = facet_access_type %.loc19_15.1 [concrete = constants.%T.ed0] // CHECK:STDOUT: %.loc19_15.2: type = converted %.loc19_15.1, %as_type.loc19 [concrete = constants.%T.ed0] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/function/import/struct.carbon b/toolchain/check/testdata/interop/cpp/function/import/struct.carbon index f3b1a5a03318..a9d1a4d24b04 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/struct.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/struct.carbon @@ -662,8 +662,8 @@ fn F() { // CHECK:STDOUT: %S.Op: %S.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.85f: = custom_witness (%S.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.fc7: %Default.type = facet_value %S, (%custom_witness.85f) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.a26: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.fc7) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %S, (%DefaultOrUnformed.impl_witness.a26) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.c8f: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.fc7) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %S, (%DefaultOrUnformed.impl_witness.c8f) [concrete] // CHECK:STDOUT: %S.cpp_destructor.type: type = fn_type @S.cpp_destructor [concrete] // CHECK:STDOUT: %S.cpp_destructor: %S.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -686,7 +686,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%s.param: %S) { @@ -698,7 +698,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr.237 = addr_of %.loc8 // CHECK:STDOUT: %foo__carbon_thunk.call: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr) // CHECK:STDOUT: %x.var: ref %S = var_storage %x.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.a26) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%S, (constants.%DefaultOrUnformed.impl_witness.c8f) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc10_24.1: %DefaultOrUnformed.type = converted constants.%S, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc10_24.1 [concrete = constants.%S] // CHECK:STDOUT: %.loc10_24.2: type = converted %.loc10_24.1, %as_type [concrete = constants.%S] @@ -791,8 +791,8 @@ fn F() { // CHECK:STDOUT: %O.Op: %O.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%O.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.240: %Default.type = facet_value %O, (%custom_witness.9b4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.3bc: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.240) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %O, (%DefaultOrUnformed.impl_witness.3bc) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6b8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.240) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %O, (%DefaultOrUnformed.impl_witness.6b8) [concrete] // CHECK:STDOUT: %O.cpp_destructor.type: type = fn_type @O.cpp_destructor [concrete] // CHECK:STDOUT: %O.cpp_destructor: %O.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -811,7 +811,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%s.param: %S) { @@ -823,7 +823,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr.ad4 = addr_of %.loc8 // CHECK:STDOUT: %foo__carbon_thunk.call: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr) // CHECK:STDOUT: %x.var: ref %O = var_storage %x.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%O, (constants.%DefaultOrUnformed.impl_witness.3bc) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%O, (constants.%DefaultOrUnformed.impl_witness.6b8) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc9_22.1: %DefaultOrUnformed.type = converted constants.%O, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc9_22.1 [concrete = constants.%O] // CHECK:STDOUT: %.loc9_22.2: type = converted %.loc9_22.1, %as_type [concrete = constants.%O] diff --git a/toolchain/check/testdata/interop/cpp/function/import/union.carbon b/toolchain/check/testdata/interop/cpp/function/import/union.carbon index 99d6e5f00d77..8f9c6e5279a6 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/union.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/union.carbon @@ -587,8 +587,8 @@ fn F() { // CHECK:STDOUT: %U.Op: %U.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.85f: = custom_witness (%U.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.fb3: %Default.type = facet_value %U, (%custom_witness.85f) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.147: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.fb3) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %U, (%DefaultOrUnformed.impl_witness.147) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.5cc: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.fb3) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %U, (%DefaultOrUnformed.impl_witness.5cc) [concrete] // CHECK:STDOUT: %U.cpp_destructor.type: type = fn_type @U.cpp_destructor [concrete] // CHECK:STDOUT: %U.cpp_destructor: %U.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -611,7 +611,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%u.param: %U) { @@ -623,7 +623,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr.d0c = addr_of %.loc8 // CHECK:STDOUT: %foo__carbon_thunk.call: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr) // CHECK:STDOUT: %x.var: ref %U = var_storage %x.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%U, (constants.%DefaultOrUnformed.impl_witness.147) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%U, (constants.%DefaultOrUnformed.impl_witness.5cc) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc10_24.1: %DefaultOrUnformed.type = converted constants.%U, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc10_24.1 [concrete = constants.%U] // CHECK:STDOUT: %.loc10_24.2: type = converted %.loc10_24.1, %as_type [concrete = constants.%U] @@ -716,8 +716,8 @@ fn F() { // CHECK:STDOUT: %O.Op: %O.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%O.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.240: %Default.type = facet_value %O, (%custom_witness.9b4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.3bc: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.240) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %O, (%DefaultOrUnformed.impl_witness.3bc) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6b8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.240) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %O, (%DefaultOrUnformed.impl_witness.6b8) [concrete] // CHECK:STDOUT: %O.cpp_destructor.type: type = fn_type @O.cpp_destructor [concrete] // CHECK:STDOUT: %O.cpp_destructor: %O.cpp_destructor.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -736,7 +736,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%u.param: %U) { @@ -748,7 +748,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr.fea = addr_of %.loc8 // CHECK:STDOUT: %foo__carbon_thunk.call: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr) // CHECK:STDOUT: %x.var: ref %O = var_storage %x.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%O, (constants.%DefaultOrUnformed.impl_witness.3bc) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%O, (constants.%DefaultOrUnformed.impl_witness.6b8) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc9_22.1: %DefaultOrUnformed.type = converted constants.%O, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc9_22.1 [concrete = constants.%O] // CHECK:STDOUT: %.loc9_22.2: type = converted %.loc9_22.1, %as_type [concrete = constants.%O] diff --git a/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon b/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon index 479ddc7987f7..3e7e64c109d4 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/variadic.carbon @@ -54,12 +54,12 @@ fn Call3() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -90,7 +90,7 @@ fn Call3() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %foo.decl.6431a3.2: %foo.type.6d9caa.2 = fn_decl @foo.2 [concrete = constants.%foo.627376.2] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -108,7 +108,7 @@ fn Call3() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_11.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_11.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method.953] @@ -125,14 +125,14 @@ fn Call3() { // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc14_11: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc14_11: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_11.1: = bound_method %int_1, %impl.elem0.loc14_11 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc14_11: = specific_function %impl.elem0.loc14_11, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_11.2: = bound_method %int_1, %specific_fn.loc14_11 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc14_11: init %i32 = call %bound_method.loc14_11.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc14_11.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc14_11 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc14_11.2: %i32 = converted %int_1, %.loc14_11.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc14_14: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc14_14: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_14.1: = bound_method %int_2, %impl.elem0.loc14_14 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc14_14: = specific_function %impl.elem0.loc14_14, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_14.2: = bound_method %int_2, %specific_fn.loc14_14 [concrete = constants.%bound_method.3cb] @@ -150,21 +150,21 @@ fn Call3() { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc20_11: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20_11: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_11.1: = bound_method %int_1, %impl.elem0.loc20_11 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc20_11: = specific_function %impl.elem0.loc20_11, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_11.2: = bound_method %int_1, %specific_fn.loc20_11 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20_11: init %i32 = call %bound_method.loc20_11.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc20_11.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20_11 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc20_11.2: %i32 = converted %int_1, %.loc20_11.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc20_14: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20_14: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_14.1: = bound_method %int_2, %impl.elem0.loc20_14 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc20_14: = specific_function %impl.elem0.loc20_14, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_14.2: = bound_method %int_2, %specific_fn.loc20_14 [concrete = constants.%bound_method.3cb] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20_14: init %i32 = call %bound_method.loc20_14.2(%int_2) [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc20_14.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20_14 [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc20_14.2: %i32 = converted %int_2, %.loc20_14.1 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc20_17: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20_17: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_17.1: = bound_method %int_3, %impl.elem0.loc20_17 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc20_17: = specific_function %impl.elem0.loc20_17, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_17.2: = bound_method %int_3, %specific_fn.loc20_17 [concrete = constants.%bound_method.763] diff --git a/toolchain/check/testdata/interop/cpp/function/import/void_pointer.carbon b/toolchain/check/testdata/interop/cpp/function/import/void_pointer.carbon index 20b2a3fff18c..64b6a6c1d927 100644 --- a/toolchain/check/testdata/interop/cpp/function/import/void_pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/function/import/void_pointer.carbon @@ -216,29 +216,29 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.49e: %Destroy.type = facet_value %ptr.00a, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.399: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.49e) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.459: = impl_witness imports.%OptionalStorage.impl_witness_table.0fc, @ptr.as.OptionalStorage.impl(%Cpp.void) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.d51: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%Cpp.void) [concrete] // CHECK:STDOUT: %.a7d: type = maybe_unformed_type %ptr.00a [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.2a6: %OptionalStorage.type = facet_value %ptr.00a, (%OptionalStorage.impl_witness.459) [concrete] -// CHECK:STDOUT: %Optional.7eb: type = class_type @Optional, @Optional(%OptionalStorage.facet.2a6) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.427: %OptionalStorage.type = facet_value %ptr.00a, (%OptionalStorage.impl_witness.d51) [concrete] +// CHECK:STDOUT: %Optional.14b: type = class_type @Optional, @Optional(%OptionalStorage.facet.427) [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.type.265: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.7eb)> [concrete] +// CHECK:STDOUT: %ImplicitAs.type.8e0: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.14b)> [concrete] // CHECK:STDOUT: %OptionalAs.type.3b8: type = facet_type <@OptionalAs, @OptionalAs(%T.220)> [symbolic] // CHECK:STDOUT: %U.042: %OptionalAs.type.3b8 = symbolic_binding U, 1 [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%T.220, %U.042) [symbolic] // CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.331: %U.as_type.as.ImplicitAs.impl.Convert.type.ad5 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.type.1b3: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.2a6)> [concrete] +// CHECK:STDOUT: %OptionalAs.type.e67: type = facet_type <@OptionalAs, @OptionalAs(%OptionalStorage.facet.427)> [concrete] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.type.774: type = fn_type @T.as_type.as.OptionalAs.impl.Convert, @T.as_type.as.OptionalAs.impl(%T.220) [symbolic] // CHECK:STDOUT: %T.as_type.as.OptionalAs.impl.Convert.5f9: %T.as_type.as.OptionalAs.impl.Convert.type.774 = struct_value () [symbolic] -// CHECK:STDOUT: %OptionalAs.impl_witness.9be: = impl_witness imports.%OptionalAs.impl_witness_table.efa, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.2a6) [concrete] -// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.1b3 = facet_value %ptr.00a, (%OptionalAs.impl_witness.9be) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.d92: = impl_witness imports.%ImplicitAs.impl_witness_table.cf7, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.2a6, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.9aa: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.2a6, %OptionalAs.facet) [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.b96: %U.as_type.as.ImplicitAs.impl.Convert.type.9aa = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.549: %ImplicitAs.type.265 = facet_value %ptr.00a, (%ImplicitAs.impl_witness.d92) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.c9b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.7eb, %ImplicitAs.facet.549) [concrete] -// CHECK:STDOUT: %.75d: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.c9b, %ImplicitAs.facet.549 [concrete] -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.b96, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.2a6, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness.440: = impl_witness imports.%OptionalAs.impl_witness_table.2e9, @T.as_type.as.OptionalAs.impl(%OptionalStorage.facet.427) [concrete] +// CHECK:STDOUT: %OptionalAs.facet: %OptionalAs.type.e67 = facet_value %ptr.00a, (%OptionalAs.impl_witness.440) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.50c: = impl_witness imports.%ImplicitAs.impl_witness_table.bb5, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.427, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.type.6eb: type = fn_type @U.as_type.as.ImplicitAs.impl.Convert.2, @U.as_type.as.ImplicitAs.impl.167(%OptionalStorage.facet.427, %OptionalAs.facet) [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.f63: %U.as_type.as.ImplicitAs.impl.Convert.type.6eb = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.3be: %ImplicitAs.type.8e0 = facet_value %ptr.00a, (%ImplicitAs.impl_witness.50c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.002: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.14b, %ImplicitAs.facet.3be) [concrete] +// CHECK:STDOUT: %.fde: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.002, %ImplicitAs.facet.3be [concrete] +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %U.as_type.as.ImplicitAs.impl.Convert.f63, @U.as_type.as.ImplicitAs.impl.Convert.2(%OptionalStorage.facet.427, %OptionalAs.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc10_11.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.4: %Destroy.Op.type.1d8f74.4 = struct_value () [concrete] // CHECK:STDOUT: } @@ -256,22 +256,22 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.0fc = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.fa7, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc10_16.1: type = splice_block %Optional [concrete = constants.%Optional.7eb] { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.00a, (constants.%OptionalStorage.impl_witness.459) [concrete = constants.%OptionalStorage.facet.2a6] -// CHECK:STDOUT: %.loc10_16.2: %OptionalStorage.type = converted constants.%ptr.00a, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.2a6] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.2a6) [concrete = constants.%Optional.7eb] +// CHECK:STDOUT: %.loc10_16.1: type = splice_block %Optional [concrete = constants.%Optional.14b] { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.00a, (constants.%OptionalStorage.impl_witness.d51) [concrete = constants.%OptionalStorage.facet.427] +// CHECK:STDOUT: %.loc10_16.2: %OptionalStorage.type = converted constants.%ptr.00a, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.427] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.427) [concrete = constants.%Optional.14b] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.eb9: @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert.type (%U.as_type.as.ImplicitAs.impl.Convert.type.ad5) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @U.as_type.as.ImplicitAs.impl.167.%U.as_type.as.ImplicitAs.impl.Convert (constants.%U.as_type.as.ImplicitAs.impl.Convert.331)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.cf7 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb5 = impl_witness_table (%Core.import_ref.eb9), @U.as_type.as.ImplicitAs.impl.167 [concrete] // CHECK:STDOUT: %Core.import_ref.017d8: @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert.type (%T.as_type.as.OptionalAs.impl.Convert.type.774) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OptionalAs.impl.%T.as_type.as.OptionalAs.impl.Convert (constants.%T.as_type.as.OptionalAs.impl.Convert.5f9)] -// CHECK:STDOUT: %OptionalAs.impl_witness_table.efa = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] +// CHECK:STDOUT: %OptionalAs.impl_witness_table.2e9 = impl_witness_table (%Core.import_ref.017d8), @T.as_type.as.OptionalAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%input.param: %ptr.00a) { @@ -279,15 +279,15 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %input.ref: %ptr.00a = name_ref input, %input -// CHECK:STDOUT: %impl.elem0: %.75d = impl_witness_access constants.%ImplicitAs.impl_witness.d92, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.b96] +// CHECK:STDOUT: %impl.elem0: %.fde = impl_witness_access constants.%ImplicitAs.impl_witness.50c, element0 [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.f63] // CHECK:STDOUT: %bound_method.loc10_11.1: = bound_method %input.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.2a6, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @U.as_type.as.ImplicitAs.impl.Convert.2(constants.%OptionalStorage.facet.427, constants.%OptionalAs.facet) [concrete = constants.%U.as_type.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_11.2: = bound_method %input.ref, %specific_fn -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.7eb = call %bound_method.loc10_11.2(%input.ref) -// CHECK:STDOUT: %.loc10_11.1: init %Optional.7eb = converted %input.ref, %U.as_type.as.ImplicitAs.impl.Convert.call -// CHECK:STDOUT: %.loc10_11.2: ref %Optional.7eb = temporary_storage -// CHECK:STDOUT: %.loc10_11.3: ref %Optional.7eb = temporary %.loc10_11.2, %.loc10_11.1 -// CHECK:STDOUT: %.loc10_11.4: %Optional.7eb = acquire_value %.loc10_11.3 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.14b = call %bound_method.loc10_11.2(%input.ref) +// CHECK:STDOUT: %.loc10_11.1: init %Optional.14b = converted %input.ref, %U.as_type.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.loc10_11.2: ref %Optional.14b = temporary_storage +// CHECK:STDOUT: %.loc10_11.3: ref %Optional.14b = temporary %.loc10_11.2, %.loc10_11.1 +// CHECK:STDOUT: %.loc10_11.4: %Optional.14b = acquire_value %.loc10_11.3 // CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc10_11.4) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.loc10_11.3, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call: init %empty_tuple.type = call %Destroy.Op.bound(%.loc10_11.3) @@ -304,7 +304,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_11.3(%self.param: ref %Optional.7eb) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_11.3(%self.param: ref %Optional.14b) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -336,13 +336,13 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.49e: %Destroy.type = facet_value %ptr.00a, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.399: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.49e) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.352: = impl_witness imports.%OptionalStorage.impl_witness_table.162, @ptr.as.OptionalStorage.impl(%Cpp.void) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.d51: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%Cpp.void) [concrete] // CHECK:STDOUT: %.a7d: type = maybe_unformed_type %ptr.00a [concrete] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.00a, (%OptionalStorage.impl_witness.352) [concrete] -// CHECK:STDOUT: %Optional.6f8: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] -// CHECK:STDOUT: %Optional.None.type.d7b: type = fn_type @Optional.None, @Optional(%OptionalStorage.facet) [concrete] -// CHECK:STDOUT: %Optional.None.425: %Optional.None.type.d7b = struct_value () [concrete] -// CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %Optional.None.425, @Optional.None(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.00a, (%OptionalStorage.impl_witness.d51) [concrete] +// CHECK:STDOUT: %Optional.14b: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.None.type.18e: type = fn_type @Optional.None, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.None.aa9: %Optional.None.type.18e = struct_value () [concrete] +// CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %Optional.None.aa9, @Optional.None(%OptionalStorage.facet) [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc10_41.3 [concrete] @@ -378,15 +378,15 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.162 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.307, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.307, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc10_42.1: type = splice_block %Optional [concrete = constants.%Optional.6f8] { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.00a, (constants.%OptionalStorage.impl_witness.352) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %.loc10_42.1: type = splice_block %Optional [concrete = constants.%Optional.14b] { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.00a, (constants.%OptionalStorage.impl_witness.d51) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc10_42.2: %OptionalStorage.type = converted constants.%ptr.00a, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.6f8] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.14b] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } @@ -402,16 +402,16 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc10_25: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %void.ref: type = name_ref void, constants.%Cpp.void [concrete = constants.%Cpp.void] // CHECK:STDOUT: %ptr: type = ptr_type %void.ref [concrete = constants.%ptr.00a] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.352) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.d51) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc10_34: %OptionalStorage.type = converted %ptr, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.6f8] -// CHECK:STDOUT: %.loc10_35: %Optional.None.type.d7b = specific_constant imports.%Core.import_ref.e9f, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.None.425] -// CHECK:STDOUT: %None.ref: %Optional.None.type.d7b = name_ref None, %.loc10_35 [concrete = constants.%Optional.None.425] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.14b] +// CHECK:STDOUT: %.loc10_35: %Optional.None.type.18e = specific_constant imports.%Core.import_ref.e9f, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.None.aa9] +// CHECK:STDOUT: %None.ref: %Optional.None.type.18e = name_ref None, %.loc10_35 [concrete = constants.%Optional.None.aa9] // CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %None.ref, @Optional.None(constants.%OptionalStorage.facet) [concrete = constants.%Optional.None.specific_fn] -// CHECK:STDOUT: %Optional.None.call: init %Optional.6f8 = call %Optional.None.specific_fn() -// CHECK:STDOUT: %.loc10_41.1: ref %Optional.6f8 = temporary_storage -// CHECK:STDOUT: %.loc10_41.2: ref %Optional.6f8 = temporary %.loc10_41.1, %Optional.None.call -// CHECK:STDOUT: %.loc10_41.3: %Optional.6f8 = acquire_value %.loc10_41.2 +// CHECK:STDOUT: %Optional.None.call: init %Optional.14b = call %Optional.None.specific_fn() +// CHECK:STDOUT: %.loc10_41.1: ref %Optional.14b = temporary_storage +// CHECK:STDOUT: %.loc10_41.2: ref %Optional.14b = temporary %.loc10_41.1, %Optional.None.call +// CHECK:STDOUT: %.loc10_41.3: %Optional.14b = acquire_value %.loc10_41.2 // CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc10_41.3) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.loc10_41.2, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call: init %empty_tuple.type = call %Destroy.Op.bound(%.loc10_41.2) @@ -428,7 +428,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_41.3(%self.param: ref %Optional.6f8) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_41.3(%self.param: ref %Optional.14b) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -453,12 +453,12 @@ fn F() { // CHECK:STDOUT: %custom_witness.df9cc1.1: = custom_witness (%Destroy.Op.1a2547.1), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.49e: %Destroy.type = facet_value %ptr.00a, (%custom_witness.df9cc1.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.399: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.49e) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.11f: = impl_witness imports.%OptionalStorage.impl_witness_table.b5f, @ptr.as.OptionalStorage.impl(%Cpp.void) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.d51: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%Cpp.void) [concrete] // CHECK:STDOUT: %.a7d: type = maybe_unformed_type %ptr.00a [concrete] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.00a, (%OptionalStorage.impl_witness.11f) [concrete] -// CHECK:STDOUT: %Optional.8c4: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] -// CHECK:STDOUT: %pattern_type.2da: type = pattern_type %Optional.8c4 [concrete] -// CHECK:STDOUT: %output.patt: %pattern_type.2da = value_binding_pattern output [concrete] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.00a, (%OptionalStorage.impl_witness.d51) [concrete] +// CHECK:STDOUT: %Optional.14b: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %pattern_type.65e: type = pattern_type %Optional.14b [concrete] +// CHECK:STDOUT: %output.patt: %pattern_type.65e = value_binding_pattern output [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] @@ -494,14 +494,14 @@ fn F() { // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.b5f = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.105, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.00a, (constants.%OptionalStorage.impl_witness.11f) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.00a, (constants.%OptionalStorage.impl_witness.d51) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc10: %OptionalStorage.type = converted constants.%ptr.00a, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.8c4] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.14b] // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] @@ -511,23 +511,23 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Cpp.ref.loc10_49: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] -// CHECK:STDOUT: %foo.call: init %Optional.8c4 = call imports.%foo.decl() -// CHECK:STDOUT: %.loc10_57.1: ref %Optional.8c4 = temporary_storage -// CHECK:STDOUT: %.loc10_57.2: ref %Optional.8c4 = temporary %.loc10_57.1, %foo.call -// CHECK:STDOUT: %.loc10_57.3: %Optional.8c4 = acquire_value %.loc10_57.2 -// CHECK:STDOUT: %.loc10_45.1: type = splice_block %Optional [concrete = constants.%Optional.8c4] { +// CHECK:STDOUT: %foo.call: init %Optional.14b = call imports.%foo.decl() +// CHECK:STDOUT: %.loc10_57.1: ref %Optional.14b = temporary_storage +// CHECK:STDOUT: %.loc10_57.2: ref %Optional.14b = temporary %.loc10_57.1, %foo.call +// CHECK:STDOUT: %.loc10_57.3: %Optional.14b = acquire_value %.loc10_57.2 +// CHECK:STDOUT: %.loc10_45.1: type = splice_block %Optional [concrete = constants.%Optional.14b] { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Optional.ref: %Optional.type = name_ref Optional, imports.%Core.Optional [concrete = constants.%Optional.generic] // CHECK:STDOUT: %Cpp.ref.loc10_36: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %void.ref: type = name_ref void, constants.%Cpp.void [concrete = constants.%Cpp.void] // CHECK:STDOUT: %ptr: type = ptr_type %void.ref [concrete = constants.%ptr.00a] -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.11f) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.d51) [concrete = constants.%OptionalStorage.facet] // CHECK:STDOUT: %.loc10_45.2: %OptionalStorage.type = converted %ptr, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.8c4] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.14b] // CHECK:STDOUT: } -// CHECK:STDOUT: %output: %Optional.8c4 = wrapper_binding output, %.loc10_57.3 +// CHECK:STDOUT: %output: %Optional.14b = wrapper_binding output, %.loc10_57.3 // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %output.patt: %pattern_type.2da = value_binding_pattern output [concrete = constants.%output.patt] +// CHECK:STDOUT: %output.patt: %pattern_type.65e = value_binding_pattern output [concrete = constants.%output.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.loc10_57.2, constants.%Destroy.Op.1a2547.4 // CHECK:STDOUT: %Destroy.Op.call: init %empty_tuple.type = call %Destroy.Op.bound(%.loc10_57.2) @@ -544,7 +544,7 @@ fn F() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc10_57.3(%self.param: ref %Optional.8c4) { +// CHECK:STDOUT: fn @Destroy.Op.loc10_57.3(%self.param: ref %Optional.14b) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/impls/copy.carbon b/toolchain/check/testdata/interop/cpp/impls/copy.carbon index 2193fce6c599..09a467f01965 100644 --- a/toolchain/check/testdata/interop/cpp/impls/copy.carbon +++ b/toolchain/check/testdata/interop/cpp/impls/copy.carbon @@ -305,18 +305,18 @@ fn EqualWitnesses(p: Wrap(Cpp.Copyable)*) -> Wrap(Cpp.Copyable)* { // CHECK:STDOUT: %Copy.specific_fn: = specific_function %Copy, @Copy.loc6(%Copy.facet.07e) [concrete] // CHECK:STDOUT: %Wrap.993: type = class_type @Wrap, @Wrap(%Copy.facet.07e) [concrete] // CHECK:STDOUT: %ptr.fa1: type = ptr_type %Wrap.993 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.73a: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%Wrap.993) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.8c2: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%Wrap.993) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.085: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%Wrap.993) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.a0b: %ptr.as.Copy.impl.Op.type.085 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.ba8: %Copy.type.bd0 = facet_value %ptr.fa1, (%Copy.impl_witness.73a) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.b3b: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.ba8) [concrete] -// CHECK:STDOUT: %.a0e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.b3b, %Copy.facet.ba8 [concrete] +// CHECK:STDOUT: %Copy.facet.13d: %Copy.type.bd0 = facet_value %ptr.fa1, (%Copy.impl_witness.8c2) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.c10: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.13d) [concrete] +// CHECK:STDOUT: %.85e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c10, %Copy.facet.13d [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.a0b, @ptr.as.Copy.impl.Op(%Wrap.993) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @DoCopy(%c.param: %Copyable) -> out %return.param: %Copyable { @@ -337,7 +337,7 @@ fn EqualWitnesses(p: Wrap(Cpp.Copyable)*) -> Wrap(Cpp.Copyable)* { // CHECK:STDOUT: fn @EqualWitnesses(%p.param: %ptr.fa1) -> out %return.param: %ptr.fa1 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %ptr.fa1 = name_ref p, %p -// CHECK:STDOUT: %impl.elem0: %.a0e = impl_witness_access constants.%Copy.impl_witness.73a, element0 [concrete = constants.%ptr.as.Copy.impl.Op.a0b] +// CHECK:STDOUT: %impl.elem0: %.85e = impl_witness_access constants.%Copy.impl_witness.8c2, element0 [concrete = constants.%ptr.as.Copy.impl.Op.a0b] // CHECK:STDOUT: %bound_method.loc20_10.1: = bound_method %p.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%Wrap.993) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc20_10.2: = bound_method %p.ref, %specific_fn diff --git a/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon b/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon index 8109fa1d2658..c390906b88ed 100644 --- a/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon +++ b/toolchain/check/testdata/interop/cpp/impls/implicit_as.carbon @@ -1035,12 +1035,12 @@ fn InitFromStruct() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1085,7 +1085,7 @@ fn InitFromStruct() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %ThreeWithDefault.decl: type = class_decl @ThreeWithDefault [concrete = constants.%ThreeWithDefault] {} {} // CHECK:STDOUT: %ThreeWithDefault__carbon_thunk.decl.3a914c.1: %ThreeWithDefault__carbon_thunk.type.0fdb2f.1 = fn_decl @ThreeWithDefault__carbon_thunk.1 [concrete = constants.%ThreeWithDefault__carbon_thunk.d9686c.1] { // CHECK:STDOUT: @@ -1115,14 +1115,14 @@ fn InitFromStruct() { // CHECK:STDOUT: %int_2.loc8: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc8_25.1: %tuple.type.f94 = tuple_literal (%int_1.loc8, %int_2.loc8) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc8_25.2: ref %Two = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc8_21: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_21: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_21.1: = bound_method %int_1.loc8, %impl.elem0.loc8_21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc8_21: = specific_function %impl.elem0.loc8_21, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_21.2: = bound_method %int_1.loc8, %specific_fn.loc8_21 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_21: init %i32 = call %bound_method.loc8_21.2(%int_1.loc8) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_21.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8_21 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc8_21.2: %i32 = converted %int_1.loc8, %.loc8_21.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc8_24: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_24: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_24.1: = bound_method %int_2.loc8, %impl.elem0.loc8_24 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc8_24: = specific_function %impl.elem0.loc8_24, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_24.2: = bound_method %int_2.loc8, %specific_fn.loc8_24 [concrete = constants.%bound_method.3cb] @@ -1147,14 +1147,14 @@ fn InitFromStruct() { // CHECK:STDOUT: %int_2.loc10: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc10_38.1: %tuple.type.f94 = tuple_literal (%int_1.loc10, %int_2.loc10) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc10_38.2: ref %ThreeWithDefault = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc10_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_34.1: = bound_method %int_1.loc10, %impl.elem0.loc10_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc10_34: = specific_function %impl.elem0.loc10_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_34.2: = bound_method %int_1.loc10, %specific_fn.loc10_34 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_34: init %i32 = call %bound_method.loc10_34.2(%int_1.loc10) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_34.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_34 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_34.2: %i32 = converted %int_1.loc10, %.loc10_34.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc10_37: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_37: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_37.1: = bound_method %int_2.loc10, %impl.elem0.loc10_37 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc10_37: = specific_function %impl.elem0.loc10_37, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_37.2: = bound_method %int_2.loc10, %specific_fn.loc10_37 [concrete = constants.%bound_method.3cb] @@ -1180,21 +1180,21 @@ fn InitFromStruct() { // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc12_41.1: %tuple.type.37f = tuple_literal (%int_1.loc12, %int_2.loc12, %int_3) [concrete = constants.%tuple.2d5] // CHECK:STDOUT: %.loc12_41.2: ref %ThreeWithDefault = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc12_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_34.1: = bound_method %int_1.loc12, %impl.elem0.loc12_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc12_34: = specific_function %impl.elem0.loc12_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_34.2: = bound_method %int_1.loc12, %specific_fn.loc12_34 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc12_34: init %i32 = call %bound_method.loc12_34.2(%int_1.loc12) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc12_34.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc12_34 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc12_34.2: %i32 = converted %int_1.loc12, %.loc12_34.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc12_37: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12_37: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_37.1: = bound_method %int_2.loc12, %impl.elem0.loc12_37 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc12_37: = specific_function %impl.elem0.loc12_37, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_37.2: = bound_method %int_2.loc12, %specific_fn.loc12_37 [concrete = constants.%bound_method.3cb] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc12_37: init %i32 = call %bound_method.loc12_37.2(%int_2.loc12) [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc12_37.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc12_37 [concrete = constants.%int_2.295] // CHECK:STDOUT: %.loc12_37.2: %i32 = converted %int_2.loc12, %.loc12_37.1 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc12_40: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12_40: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_40.1: = bound_method %int_3, %impl.elem0.loc12_40 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc12_40: = specific_function %impl.elem0.loc12_40, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_40.2: = bound_method %int_3, %specific_fn.loc12_40 [concrete = constants.%bound_method.763] @@ -1378,12 +1378,12 @@ fn InitFromStruct() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1419,7 +1419,7 @@ fn InitFromStruct() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %NonAggregate__carbon_thunk.decl.356ec9.3: %NonAggregate__carbon_thunk.type.841a40.3 = fn_decl @NonAggregate__carbon_thunk.3 [concrete = constants.%NonAggregate__carbon_thunk.24a208.3] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -1453,7 +1453,7 @@ fn InitFromStruct() { // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc9_32.1: %tuple.type.985 = tuple_literal (%int_1.loc9) [concrete = constants.%tuple.378] // CHECK:STDOUT: %.loc9_32.2: ref %NonAggregate = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc9: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_30.1: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_30.2: = bound_method %int_1.loc9, %specific_fn.loc9 [concrete = constants.%bound_method.953] @@ -1478,14 +1478,14 @@ fn InitFromStruct() { // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc10_34.1: %tuple.type.f94 = tuple_literal (%int_1.loc10, %int_2) [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %.loc10_34.2: ref %NonAggregate = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc10_30: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_30: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_30.1: = bound_method %int_1.loc10, %impl.elem0.loc10_30 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc10_30: = specific_function %impl.elem0.loc10_30, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_30.2: = bound_method %int_1.loc10, %specific_fn.loc10_30 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_30: init %i32 = call %bound_method.loc10_30.2(%int_1.loc10) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_30.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc10_30 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc10_30.2: %i32 = converted %int_1.loc10, %.loc10_30.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc10_33: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_33: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_33.1: = bound_method %int_2, %impl.elem0.loc10_33 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc10_33: = specific_function %impl.elem0.loc10_33, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_33.2: = bound_method %int_2, %specific_fn.loc10_33 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/interop/cpp/macros/macros.carbon b/toolchain/check/testdata/interop/cpp/macros/macros.carbon index 2e2110532589..e5867b9b7cde 100644 --- a/toolchain/check/testdata/interop/cpp/macros/macros.carbon +++ b/toolchain/check/testdata/interop/cpp/macros/macros.carbon @@ -1092,12 +1092,12 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %From.fe9: Core.IntLiteral = symbolic_binding From, 0 [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From.fe9) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.657: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.657) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet.657 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8de: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.8de) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet.8de [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.0c6, %Int.as.ImplicitAs.impl.Convert.69e [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f53: = bound_method %int_1.0c6, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1114,12 +1114,12 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -1140,9 +1140,9 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %X: = namespace [concrete] { // CHECK:STDOUT: .n = %n.var // CHECK:STDOUT: import Cpp//... @@ -1157,7 +1157,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc10_42.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc10_42: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc10_42: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc10_42.1: = bound_method %float, %impl.elem0.loc10_42 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc10_42: = specific_function %impl.elem0.loc10_42, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_42.2: = bound_method %float, %specific_fn.loc10_42 [concrete = constants.%bound_method.3e4] @@ -1174,7 +1174,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %n.ref.loc10: %i32 = name_ref n, constants.%int_1.0c6 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc10_31: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0.loc10_31: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc10_31.1: = bound_method %n.ref.loc10, %impl.elem0.loc10_31 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc10_31: = specific_function %impl.elem0.loc10_31, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_31.2: = bound_method %n.ref.loc10, %specific_fn.loc10_31 [concrete = constants.%bound_method.f53] @@ -1824,23 +1824,23 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %custom_witness.df9cc1.2: = custom_witness (%Destroy.Op.1a2547.2), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.4c4: %Destroy.type = facet_value %ptr.d08, (%custom_witness.df9cc1.2) [concrete] // CHECK:STDOUT: %MaybeUnformed.b84: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.4c4) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.043: = impl_witness imports.%OptionalStorage.impl_witness_table.162, @ptr.as.OptionalStorage.impl(%i32) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.0ce: = impl_witness imports.%OptionalStorage.impl_witness_table.110, @ptr.as.OptionalStorage.impl(%i32) [concrete] // CHECK:STDOUT: %.0f8: type = maybe_unformed_type %ptr.d08 [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.040: %OptionalStorage.type = facet_value %ptr.d08, (%OptionalStorage.impl_witness.043) [concrete] -// CHECK:STDOUT: %Optional.30c: type = class_type @Optional, @Optional(%OptionalStorage.facet.040) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.f91: %OptionalStorage.type = facet_value %ptr.d08, (%OptionalStorage.impl_witness.0ce) [concrete] +// CHECK:STDOUT: %Optional.5b3: type = class_type @Optional, @Optional(%OptionalStorage.facet.f91) [concrete] // CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] // CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.type.64f: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.30c)> [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.dea: type = fn_type @Cpp.nullptr_t.as.ImplicitAs.impl.Convert, @Cpp.nullptr_t.as.ImplicitAs.impl(%T.67d) [symbolic] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.306: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.dea = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.cce: = impl_witness imports.%ImplicitAs.impl_witness_table.f31, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.977: type = fn_type @Cpp.nullptr_t.as.ImplicitAs.impl.Convert, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.b09: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.977 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.64f = facet_value %Cpp.nullptr_t, (%ImplicitAs.impl_witness.cce) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.cfb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.30c, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.551: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.cfb, %ImplicitAs.facet [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.bound: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.b09 [concrete] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.b09, @Cpp.nullptr_t.as.ImplicitAs.impl.Convert(%i32) [concrete] +// CHECK:STDOUT: %ImplicitAs.type.429: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.5b3)> [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.1b3: type = fn_type @Cpp.nullptr_t.as.ImplicitAs.impl.Convert, @Cpp.nullptr_t.as.ImplicitAs.impl(%T.67d) [symbolic] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.208: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.1b3 = struct_value () [symbolic] +// CHECK:STDOUT: %ImplicitAs.impl_witness.64e: = impl_witness imports.%ImplicitAs.impl_witness_table.898, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.6eb: type = fn_type @Cpp.nullptr_t.as.ImplicitAs.impl.Convert, @Cpp.nullptr_t.as.ImplicitAs.impl(%i32) [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.60f: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.6eb = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.429 = facet_value %Cpp.nullptr_t, (%ImplicitAs.impl_witness.64e) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d60: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Optional.5b3, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.a1f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d60, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.bound: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.60f [concrete] +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.60f, @Cpp.nullptr_t.as.ImplicitAs.impl.Convert(%i32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %uninit, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.5: type = fn_type @Destroy.Op.loc11_14.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.5: %Destroy.Op.type.1d8f74.5 = struct_value () [concrete] @@ -1859,21 +1859,21 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %Core.import_ref.a90 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.306 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.3e3 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.162 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.307, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.110 = impl_witness_table (%Core.import_ref.509, %Core.import_ref.307, %Core.import_ref.c9a, %Core.import_ref.a90, %Core.import_ref.306, %Core.import_ref.3e3), @ptr.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { // CHECK:STDOUT: // CHECK:STDOUT: } { // CHECK:STDOUT: -// CHECK:STDOUT: %.loc11_24.1: type = splice_block %Optional [concrete = constants.%Optional.30c] { +// CHECK:STDOUT: %.loc11_24.1: type = splice_block %Optional [concrete = constants.%Optional.5b3] { // CHECK:STDOUT: -// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.d08, (constants.%OptionalStorage.impl_witness.043) [concrete = constants.%OptionalStorage.facet.040] -// CHECK:STDOUT: %.loc11_24.2: %OptionalStorage.type = converted constants.%ptr.d08, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.040] -// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.040) [concrete = constants.%Optional.30c] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.d08, (constants.%OptionalStorage.impl_witness.0ce) [concrete = constants.%OptionalStorage.facet.f91] +// CHECK:STDOUT: %.loc11_24.2: %OptionalStorage.type = converted constants.%ptr.d08, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet.f91] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet.f91) [concrete = constants.%Optional.5b3] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: } -// CHECK:STDOUT: %Core.import_ref.533: @Cpp.nullptr_t.as.ImplicitAs.impl.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type (%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.dea) = import_ref Core//prelude/types/cpp/nullptr, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.nullptr_t.as.ImplicitAs.impl.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert (constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.306)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f31 = impl_witness_table (%Core.import_ref.533), @Cpp.nullptr_t.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.49d: @Cpp.nullptr_t.as.ImplicitAs.impl.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type (%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.type.1b3) = import_ref Core//prelude/types/cpp/nullptr, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.nullptr_t.as.ImplicitAs.impl.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert (constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.208)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.898 = impl_witness_table (%Core.import_ref.49d), @Cpp.nullptr_t.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -1883,15 +1883,15 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %Cpp.ref.loc11_11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %MyNullPtr.ref: %Cpp.nullptr_t = name_ref MyNullPtr, %uninit [concrete = constants.%uninit] -// CHECK:STDOUT: %impl.elem0: %.551 = impl_witness_access constants.%ImplicitAs.impl_witness.cce, element0 [concrete = constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.b09] +// CHECK:STDOUT: %impl.elem0: %.a1f = impl_witness_access constants.%ImplicitAs.impl_witness.64e, element0 [concrete = constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.60f] // CHECK:STDOUT: %bound_method.loc11_14.1: = bound_method %MyNullPtr.ref, %impl.elem0 [concrete = constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Cpp.nullptr_t.as.ImplicitAs.impl.Convert(constants.%i32) [concrete = constants.%Cpp.nullptr_t.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_14.2: = bound_method %MyNullPtr.ref, %specific_fn [concrete = constants.%bound_method] -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call: init %Optional.30c = call %bound_method.loc11_14.2(%MyNullPtr.ref) -// CHECK:STDOUT: %.loc11_14.1: init %Optional.30c = converted %MyNullPtr.ref, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call -// CHECK:STDOUT: %.loc11_14.2: ref %Optional.30c = temporary_storage -// CHECK:STDOUT: %.loc11_14.3: ref %Optional.30c = temporary %.loc11_14.2, %.loc11_14.1 -// CHECK:STDOUT: %.loc11_14.4: %Optional.30c = acquire_value %.loc11_14.3 +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call: init %Optional.5b3 = call %bound_method.loc11_14.2(%MyNullPtr.ref) +// CHECK:STDOUT: %.loc11_14.1: init %Optional.5b3 = converted %MyNullPtr.ref, %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.loc11_14.2: ref %Optional.5b3 = temporary_storage +// CHECK:STDOUT: %.loc11_14.3: ref %Optional.5b3 = temporary %.loc11_14.2, %.loc11_14.1 +// CHECK:STDOUT: %.loc11_14.4: %Optional.5b3 = acquire_value %.loc11_14.3 // CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc11_14.4) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %.loc11_14.3, constants.%Destroy.Op.1a2547.5 // CHECK:STDOUT: %Destroy.Op.call: init %empty_tuple.type = call %Destroy.Op.bound(%.loc11_14.3) @@ -1908,7 +1908,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc11_14.3(%self.param: ref %Optional.30c) { +// CHECK:STDOUT: fn @Destroy.Op.loc11_14.3(%self.param: ref %Optional.5b3) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -2137,12 +2137,12 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -2158,7 +2158,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %v.var_patt: %pattern_type.6b6 = var_pattern %v.patt [concrete = constants.%v.var_patt] // CHECK:STDOUT: %v.var: ref %i32 = var_storage %v.var_patt [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -2167,7 +2167,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: // CHECK:STDOUT: %m.ref: ref %i32 = name_ref m, imports.%v.var [concrete = imports.%v.var] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_9.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_9.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method] @@ -2196,12 +2196,12 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -2217,7 +2217,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %a.var_patt: %pattern_type.3fa = var_pattern %a.patt [concrete = constants.%a.var_patt] // CHECK:STDOUT: %a.var: ref %A = var_storage %a.var_patt [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { @@ -2230,7 +2230,7 @@ let _: C(1) = {} as C(Cpp.COUNT); // CHECK:STDOUT: %.loc17_6.2: ref %i32 = class_element_access %.loc17_6.1, element0 [concrete = constants.%.8f5] // CHECK:STDOUT: %m.ref: ref %i32 = name_ref m, constants.%.8f5 [concrete = constants.%.8f5] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_9.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_9.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/interop/cpp/operators/arithmetic_operators.carbon b/toolchain/check/testdata/interop/cpp/operators/arithmetic_operators.carbon index 10ed4b4d5942..6b34f362e562 100644 --- a/toolchain/check/testdata/interop/cpp/operators/arithmetic_operators.carbon +++ b/toolchain/check/testdata/interop/cpp/operators/arithmetic_operators.carbon @@ -1069,7 +1069,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: %AddAssignWith.assoc_type.8ddaf4.2: type = assoc_entity_type @AddAssignWith.1, @AddAssignWith.1(%U.67d) [symbolic] // CHECK:STDOUT: %assoc0.8c5739.2: %AddAssignWith.assoc_type.8ddaf4.2 = assoc_entity element0, imports.%Core.import_ref.3b2 [symbolic] // CHECK:STDOUT: %require_complete.2a8: = require_complete_type %AddAssignWith.type.2c8890.2 [symbolic] -// CHECK:STDOUT: %assoc0.86d: %AddAssignWith.assoc_type.8ddaf4.1 = assoc_entity element0, imports.%Core.import_ref.87e [symbolic] +// CHECK:STDOUT: %assoc0.86d: %AddAssignWith.assoc_type.8ddaf4.1 = assoc_entity element0, imports.%Core.import_ref.87e4 [symbolic] // CHECK:STDOUT: %AddAssignWith.lookup_impl_witness: = lookup_impl_witness %T.792, @AddAssignWith.1, @AddAssignWith.1(%U.67d) [symbolic] // CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.cd574e.3: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%U.67d, %T.792) [symbolic] // CHECK:STDOUT: %.9b1: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.cd574e.3, %T.792 [symbolic] @@ -1526,7 +1526,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %Core.import_ref.5a18: @AddWith.WithSelf.%AddWith.assoc_type (%AddWith.assoc_type.588) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @AddWith.WithSelf.%assoc1 (constants.%assoc1.57d)] +// CHECK:STDOUT: %Core.import_ref.5a1: @AddWith.WithSelf.%AddWith.assoc_type (%AddWith.assoc_type.588) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @AddWith.WithSelf.%assoc1 (constants.%assoc1.57d)] // CHECK:STDOUT: %Core.import_ref.3cf: @AddWith.WithSelf.%AddWith.WithSelf.Op.type (%AddWith.WithSelf.Op.type.28e) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @AddWith.WithSelf.%AddWith.WithSelf.Op (constants.%AddWith.WithSelf.Op.eab)] // CHECK:STDOUT: %Core.import_ref.91f8: type = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [concrete = %Result.9a4] // CHECK:STDOUT: %Result.9a4: type = assoc_const_decl @Result.1 [concrete] {} @@ -1551,9 +1551,9 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: %Core.import_ref.61a: type = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [concrete = %Result.803] // CHECK:STDOUT: %Result.803: type = assoc_const_decl @Result.5 [concrete] {} // CHECK:STDOUT: %Core.import_ref.33c = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %Core.import_ref.bdd: @AddAssignWith.WithSelf.%AddAssignWith.assoc_type (%AddAssignWith.assoc_type.8ddaf4.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @AddAssignWith.WithSelf.%assoc0 (constants.%assoc0.86d)] +// CHECK:STDOUT: %Core.import_ref.bdd6: @AddAssignWith.WithSelf.%AddAssignWith.assoc_type (%AddAssignWith.assoc_type.8ddaf4.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @AddAssignWith.WithSelf.%assoc0 (constants.%assoc0.86d)] // CHECK:STDOUT: %Core.import_ref.3b2: @AddAssignWith.WithSelf.%AddAssignWith.WithSelf.Op.type (%AddAssignWith.WithSelf.Op.type.cd574e.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @AddAssignWith.WithSelf.%AddAssignWith.WithSelf.Op (constants.%AddAssignWith.WithSelf.Op.106889.1)] -// CHECK:STDOUT: %Core.import_ref.87e = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %Core.import_ref.87e4 = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.509: @SubAssignWith.WithSelf.%SubAssignWith.assoc_type (%SubAssignWith.assoc_type.6e3877.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @SubAssignWith.WithSelf.%assoc0 (constants.%assoc0.b8e)] // CHECK:STDOUT: %Core.import_ref.8f2: @SubAssignWith.WithSelf.%SubAssignWith.WithSelf.Op.type (%SubAssignWith.WithSelf.Op.type.42f7cc.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @SubAssignWith.WithSelf.%SubAssignWith.WithSelf.Op (constants.%SubAssignWith.WithSelf.Op.25af21.1)] // CHECK:STDOUT: %Core.import_ref.e7f = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, unloaded @@ -1563,7 +1563,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: %Core.import_ref.988: @DivAssignWith.WithSelf.%DivAssignWith.assoc_type (%DivAssignWith.assoc_type.bb68ec.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @DivAssignWith.WithSelf.%assoc0 (constants.%assoc0.de1)] // CHECK:STDOUT: %Core.import_ref.a5d: @DivAssignWith.WithSelf.%DivAssignWith.WithSelf.Op.type (%DivAssignWith.WithSelf.Op.type.ff5775.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @DivAssignWith.WithSelf.%DivAssignWith.WithSelf.Op (constants.%DivAssignWith.WithSelf.Op.91e0ff.1)] // CHECK:STDOUT: %Core.import_ref.df2 = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %Core.import_ref.3ff: @ModAssignWith.WithSelf.%ModAssignWith.assoc_type (%ModAssignWith.assoc_type.bc79ec.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @ModAssignWith.WithSelf.%assoc0 (constants.%assoc0.0f3)] +// CHECK:STDOUT: %Core.import_ref.3ffc: @ModAssignWith.WithSelf.%ModAssignWith.assoc_type (%ModAssignWith.assoc_type.bc79ec.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @ModAssignWith.WithSelf.%assoc0 (constants.%assoc0.0f3)] // CHECK:STDOUT: %Core.import_ref.cf6: @ModAssignWith.WithSelf.%ModAssignWith.WithSelf.Op.type (%ModAssignWith.WithSelf.Op.type.ec4109.1) = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, loaded [symbolic = @ModAssignWith.WithSelf.%ModAssignWith.WithSelf.Op (constants.%ModAssignWith.WithSelf.Op.ac45fc.1)] // CHECK:STDOUT: %Core.import_ref.d29 = import_ref Core//prelude/operators/arithmetic, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: } @@ -1592,7 +1592,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: %x.ref: @AddWith.loc124.%T.as_type.loc124_29.1 (%T.as_type.6fc) = name_ref x, %x // CHECK:STDOUT: %y.ref: @AddWith.loc124.%U.as_type.loc123_35.1 (%U.as_type.b61) = name_ref y, %y // CHECK:STDOUT: %AddWith.type.loc126: type = facet_type <@AddWith.1, @AddWith.1(constants.%U.as_type.b61)> [symbolic = %AddWith.type.loc123_35.1 (constants.%AddWith.type.9da)] -// CHECK:STDOUT: %.loc126_5.1: @AddWith.loc124.%AddWith.assoc_type (%AddWith.assoc_type.bc8) = specific_constant imports.%Core.import_ref.5a18, @AddWith.WithSelf(constants.%U.as_type.b61, constants.%Self.96a) [symbolic = %assoc1 (constants.%assoc1.13e)] +// CHECK:STDOUT: %.loc126_5.1: @AddWith.loc124.%AddWith.assoc_type (%AddWith.assoc_type.bc8) = specific_constant imports.%Core.import_ref.5a1, @AddWith.WithSelf(constants.%U.as_type.b61, constants.%Self.96a) [symbolic = %assoc1 (constants.%assoc1.13e)] // CHECK:STDOUT: %Op.ref: @AddWith.loc124.%AddWith.assoc_type (%AddWith.assoc_type.bc8) = name_ref Op, %.loc126_5.1 [symbolic = %assoc1 (constants.%assoc1.13e)] // CHECK:STDOUT: %impl.elem1.loc126_5.1: @AddWith.loc124.%.loc126_5.6 (%.a30) = impl_witness_access constants.%AddWith.lookup_impl_witness.2b1, element1 [symbolic = %impl.elem1.loc126_5.2 (constants.%impl.elem1.b05)] // CHECK:STDOUT: %bound_method.loc126_5.1: = bound_method %x.ref, %impl.elem1.loc126_5.1 @@ -1807,7 +1807,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: %x.ref: ref @AddAssignWith.loc225.%T.as_type.loc225_60.1 (%T.as_type.50c) = name_ref x, %x // CHECK:STDOUT: %y.ref: @AddAssignWith.loc225.%U.loc225_19.1 (%U.67d) = name_ref y, %y // CHECK:STDOUT: %AddAssignWith.type.loc227: type = facet_type <@AddAssignWith.1, @AddAssignWith.1(constants.%U.67d)> [symbolic = %AddAssignWith.type.loc225_50.1 (constants.%AddAssignWith.type.2c8890.2)] -// CHECK:STDOUT: %.loc227_5.1: @AddAssignWith.loc225.%AddAssignWith.assoc_type (%AddAssignWith.assoc_type.8ddaf4.2) = specific_constant imports.%Core.import_ref.bdd, @AddAssignWith.WithSelf(constants.%U.67d, constants.%Self.792732.1) [symbolic = %assoc0 (constants.%assoc0.8c5739.2)] +// CHECK:STDOUT: %.loc227_5.1: @AddAssignWith.loc225.%AddAssignWith.assoc_type (%AddAssignWith.assoc_type.8ddaf4.2) = specific_constant imports.%Core.import_ref.bdd6, @AddAssignWith.WithSelf(constants.%U.67d, constants.%Self.792732.1) [symbolic = %assoc0 (constants.%assoc0.8c5739.2)] // CHECK:STDOUT: %Op.ref: @AddAssignWith.loc225.%AddAssignWith.assoc_type (%AddAssignWith.assoc_type.8ddaf4.2) = name_ref Op, %.loc227_5.1 [symbolic = %assoc0 (constants.%assoc0.8c5739.2)] // CHECK:STDOUT: %impl.elem0.loc227_5.1: @AddAssignWith.loc225.%.loc227_5.2 (%.9b1) = impl_witness_access constants.%AddAssignWith.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc227_5.2 (constants.%impl.elem0.985)] // CHECK:STDOUT: %bound_method.loc227_5.1: = bound_method %x.ref, %impl.elem0.loc227_5.1 @@ -1927,7 +1927,7 @@ fn TestUnaryOperators(a: Cpp.Int16, b: Cpp.Int32) { // CHECK:STDOUT: %x.ref: ref @ModAssignWith.loc249.%T.as_type.loc249_60.1 (%T.as_type.ce6) = name_ref x, %x // CHECK:STDOUT: %y.ref: @ModAssignWith.loc249.%U.loc249_19.1 (%U.67d) = name_ref y, %y // CHECK:STDOUT: %ModAssignWith.type.loc251: type = facet_type <@ModAssignWith.1, @ModAssignWith.1(constants.%U.67d)> [symbolic = %ModAssignWith.type.loc249_50.1 (constants.%ModAssignWith.type.778d68.2)] -// CHECK:STDOUT: %.loc251_5.1: @ModAssignWith.loc249.%ModAssignWith.assoc_type (%ModAssignWith.assoc_type.bc79ec.2) = specific_constant imports.%Core.import_ref.3ff, @ModAssignWith.WithSelf(constants.%U.67d, constants.%Self.bca00b.1) [symbolic = %assoc0 (constants.%assoc0.8c0719.2)] +// CHECK:STDOUT: %.loc251_5.1: @ModAssignWith.loc249.%ModAssignWith.assoc_type (%ModAssignWith.assoc_type.bc79ec.2) = specific_constant imports.%Core.import_ref.3ffc, @ModAssignWith.WithSelf(constants.%U.67d, constants.%Self.bca00b.1) [symbolic = %assoc0 (constants.%assoc0.8c0719.2)] // CHECK:STDOUT: %Op.ref: @ModAssignWith.loc249.%ModAssignWith.assoc_type (%ModAssignWith.assoc_type.bc79ec.2) = name_ref Op, %.loc251_5.1 [symbolic = %assoc0 (constants.%assoc0.8c0719.2)] // CHECK:STDOUT: %impl.elem0.loc251_5.1: @ModAssignWith.loc249.%.loc251_5.2 (%.965) = impl_witness_access constants.%ModAssignWith.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc251_5.2 (constants.%impl.elem0.ec7)] // CHECK:STDOUT: %bound_method.loc251_5.1: = bound_method %x.ref, %impl.elem0.loc251_5.1 diff --git a/toolchain/check/testdata/interop/cpp/operators/operators.carbon b/toolchain/check/testdata/interop/cpp/operators/operators.carbon index e478711c578c..c660b3ea6e9e 100644 --- a/toolchain/check/testdata/interop/cpp/operators/operators.carbon +++ b/toolchain/check/testdata/interop/cpp/operators/operators.carbon @@ -1213,12 +1213,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.763: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1343,7 +1343,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %operator_GreaterGreater__carbon_thunk.decl: %operator_GreaterGreater__carbon_thunk.type = fn_decl @operator_GreaterGreater__carbon_thunk [concrete = constants.%operator_GreaterGreater__carbon_thunk] { // CHECK:STDOUT: // CHECK:STDOUT: } { @@ -1659,7 +1659,7 @@ fn F() { // CHECK:STDOUT: %int_3.loc22: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc22_37.1: ref %C = temporary_storage // CHECK:STDOUT: %.loc22_34.1: %C = acquire_value %c1.ref.loc22 -// CHECK:STDOUT: %impl.elem0.loc22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_40.1: = bound_method %int_3.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem0.loc22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_40.2: = bound_method %int_3.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.763] @@ -1685,7 +1685,7 @@ fn F() { // CHECK:STDOUT: %int_5.loc23: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] // CHECK:STDOUT: %.loc23_38.1: ref %C = temporary_storage // CHECK:STDOUT: %.loc23_35.1: %C = acquire_value %c1.ref.loc23 -// CHECK:STDOUT: %impl.elem0.loc23: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc23: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc23_41.1: = bound_method %int_5.loc23, %impl.elem0.loc23 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_41.2: = bound_method %int_5.loc23, %specific_fn.loc23 [concrete = constants.%bound_method.c9d] @@ -1757,7 +1757,7 @@ fn F() { // CHECK:STDOUT: %operator_CaretEqual__carbon_thunk.call: ref %C = call imports.%operator_CaretEqual__carbon_thunk.decl(%c1.ref.loc35, %addr.loc35) // CHECK:STDOUT: %c1.ref.loc36: ref %C = name_ref c1, %c1 // CHECK:STDOUT: %int_3.loc36: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc36: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc36: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc36_10.1: = bound_method %int_3.loc36, %impl.elem0.loc36 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc36: = specific_function %impl.elem0.loc36, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc36_10.2: = bound_method %int_3.loc36, %specific_fn.loc36 [concrete = constants.%bound_method.763] @@ -1767,7 +1767,7 @@ fn F() { // CHECK:STDOUT: %cpp_operator.call.loc36: ref %C = call imports.%cpp_operator.decl.5ce91d.19(%c1.ref.loc36, %.loc36_10.2) // CHECK:STDOUT: %c1.ref.loc37: ref %C = name_ref c1, %c1 // CHECK:STDOUT: %int_5.loc37: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0.loc37: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc37: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc37_10.1: = bound_method %int_5.loc37, %impl.elem0.loc37 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn.loc37: = specific_function %impl.elem0.loc37, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc37_10.2: = bound_method %int_5.loc37, %specific_fn.loc37 [concrete = constants.%bound_method.c9d] @@ -1891,7 +1891,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %c1.ref.loc48: ref %C = name_ref c1, %c1 // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] -// CHECK:STDOUT: %impl.elem0.loc48: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc48: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc48_30.1: = bound_method %int_42, %impl.elem0.loc48 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.bf3] // CHECK:STDOUT: %specific_fn.loc48: = specific_function %impl.elem0.loc48, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc48_30.2: = bound_method %int_42, %specific_fn.loc48 [concrete = constants.%bound_method.098] diff --git a/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon b/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon index 648d2f9097b2..179eff531510 100644 --- a/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon +++ b/toolchain/check/testdata/interop/cpp/primitive_types/arithmetic.carbon @@ -123,12 +123,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.f25(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.148: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_8) [concrete] +// CHECK:STDOUT: %As.impl_witness.f99: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_8) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.42c: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.f25(%int_8) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.870: %Core.IntLiteral.as.As.impl.Convert.type.42c = struct_value () [concrete] -// CHECK:STDOUT: %As.facet.679: %As.type.daf = facet_value Core.IntLiteral, (%As.impl_witness.148) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d60: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i8, %As.facet.679) [concrete] -// CHECK:STDOUT: %.35a: type = fn_type_with_self_type %As.WithSelf.Convert.type.d60, %As.facet.679 [concrete] +// CHECK:STDOUT: %As.facet.e13: %As.type.daf = facet_value Core.IntLiteral, (%As.impl_witness.f99) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.0fe: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i8, %As.facet.e13) [concrete] +// CHECK:STDOUT: %.c97: type = fn_type_with_self_type %As.WithSelf.Convert.type.0fe, %As.facet.e13 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.555: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.870 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.cf0: = specific_function %Core.IntLiteral.as.As.impl.Convert.870, @Core.IntLiteral.as.As.impl.Convert.1(%int_8) [concrete] // CHECK:STDOUT: %bound_method.a39: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.cf0 [concrete] @@ -139,12 +139,12 @@ fn F() { // CHECK:STDOUT: %pattern_type.203: type = pattern_type %i16 [concrete] // CHECK:STDOUT: %cpp_short.patt: %pattern_type.203 = value_binding_pattern cpp_short [concrete] // CHECK:STDOUT: %As.type.6f1: type = facet_type <@As, @As(%i16)> [concrete] -// CHECK:STDOUT: %As.impl_witness.820: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.0df: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.4b7: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.f25(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.70c: %Core.IntLiteral.as.As.impl.Convert.type.4b7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet.bdf: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.820) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d73: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet.bdf) [concrete] -// CHECK:STDOUT: %.6b5: type = fn_type_with_self_type %As.WithSelf.Convert.type.d73, %As.facet.bdf [concrete] +// CHECK:STDOUT: %As.facet.8d1: %As.type.6f1 = facet_value Core.IntLiteral, (%As.impl_witness.0df) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.4ac: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i16, %As.facet.8d1) [concrete] +// CHECK:STDOUT: %.45d: type = fn_type_with_self_type %As.WithSelf.Convert.type.4ac, %As.facet.8d1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.544: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.70c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.07a: = specific_function %Core.IntLiteral.as.As.impl.Convert.70c, @Core.IntLiteral.as.As.impl.Convert.1(%int_16) [concrete] // CHECK:STDOUT: %bound_method.a0f: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.07a [concrete] @@ -155,12 +155,12 @@ fn F() { // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %cpp_int.patt: %pattern_type.6b6 = value_binding_pattern cpp_int [concrete] // CHECK:STDOUT: %As.type.155: type = facet_type <@As, @As(%i32)> [concrete] -// CHECK:STDOUT: %As.impl_witness.03e: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.e7f: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.e79: type = fn_type @Core.IntLiteral.as.As.impl.Convert.1, @Core.IntLiteral.as.As.impl.f25(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.8a4: %Core.IntLiteral.as.As.impl.Convert.type.e79 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet.f96: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.03e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8ea: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet.f96) [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %As.WithSelf.Convert.type.8ea, %As.facet.f96 [concrete] +// CHECK:STDOUT: %As.facet.bda: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.e7f) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.d02: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet.bda) [concrete] +// CHECK:STDOUT: %.453: type = fn_type_with_self_type %As.WithSelf.Convert.type.d02, %As.facet.bda [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.3a0: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.8a4 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.923: = specific_function %Core.IntLiteral.as.As.impl.Convert.8a4, @Core.IntLiteral.as.As.impl.Convert.1(%int_32) [concrete] // CHECK:STDOUT: %bound_method.18b: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.923 [concrete] @@ -172,12 +172,12 @@ fn F() { // CHECK:STDOUT: %As.type.97b: type = facet_type <@As, @As(%u8)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.fb3: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.e51(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.f86: %Core.IntLiteral.as.As.impl.Convert.type.fb3 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.119: = impl_witness imports.%As.impl_witness_table.8fa, @Core.IntLiteral.as.As.impl.e51(%int_8) [concrete] +// CHECK:STDOUT: %As.impl_witness.861: = impl_witness imports.%As.impl_witness_table.637, @Core.IntLiteral.as.As.impl.e51(%int_8) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.73c: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.e51(%int_8) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.2f0: %Core.IntLiteral.as.As.impl.Convert.type.73c = struct_value () [concrete] -// CHECK:STDOUT: %As.facet.95f: %As.type.97b = facet_value Core.IntLiteral, (%As.impl_witness.119) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.841: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u8, %As.facet.95f) [concrete] -// CHECK:STDOUT: %.ec5: type = fn_type_with_self_type %As.WithSelf.Convert.type.841, %As.facet.95f [concrete] +// CHECK:STDOUT: %As.facet.d9c: %As.type.97b = facet_value Core.IntLiteral, (%As.impl_witness.861) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.6cd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u8, %As.facet.d9c) [concrete] +// CHECK:STDOUT: %.58c: type = fn_type_with_self_type %As.WithSelf.Convert.type.6cd, %As.facet.d9c [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.7d9: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.2f0 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.cbf: = specific_function %Core.IntLiteral.as.As.impl.Convert.2f0, @Core.IntLiteral.as.As.impl.Convert.2(%int_8) [concrete] // CHECK:STDOUT: %bound_method.43e: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.cbf [concrete] @@ -187,12 +187,12 @@ fn F() { // CHECK:STDOUT: %pattern_type.17c: type = pattern_type %u16 [concrete] // CHECK:STDOUT: %cpp_unsigned_short.patt: %pattern_type.17c = value_binding_pattern cpp_unsigned_short [concrete] // CHECK:STDOUT: %As.type.ac3: type = facet_type <@As, @As(%u16)> [concrete] -// CHECK:STDOUT: %As.impl_witness.542: = impl_witness imports.%As.impl_witness_table.8fa, @Core.IntLiteral.as.As.impl.e51(%int_16) [concrete] +// CHECK:STDOUT: %As.impl_witness.092: = impl_witness imports.%As.impl_witness_table.637, @Core.IntLiteral.as.As.impl.e51(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.fe7: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.e51(%int_16) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.210: %Core.IntLiteral.as.As.impl.Convert.type.fe7 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet.1a0: %As.type.ac3 = facet_value Core.IntLiteral, (%As.impl_witness.542) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.2d8: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u16, %As.facet.1a0) [concrete] -// CHECK:STDOUT: %.477: type = fn_type_with_self_type %As.WithSelf.Convert.type.2d8, %As.facet.1a0 [concrete] +// CHECK:STDOUT: %As.facet.d30: %As.type.ac3 = facet_value Core.IntLiteral, (%As.impl_witness.092) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.ce3: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u16, %As.facet.d30) [concrete] +// CHECK:STDOUT: %.973: type = fn_type_with_self_type %As.WithSelf.Convert.type.ce3, %As.facet.d30 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.4c1: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.210 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.7a1: = specific_function %Core.IntLiteral.as.As.impl.Convert.210, @Core.IntLiteral.as.As.impl.Convert.2(%int_16) [concrete] // CHECK:STDOUT: %bound_method.afc: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.7a1 [concrete] @@ -202,12 +202,12 @@ fn F() { // CHECK:STDOUT: %pattern_type.668: type = pattern_type %u32 [concrete] // CHECK:STDOUT: %cpp_unsigned_int.patt: %pattern_type.668 = value_binding_pattern cpp_unsigned_int [concrete] // CHECK:STDOUT: %As.type.8bf: type = facet_type <@As, @As(%u32)> [concrete] -// CHECK:STDOUT: %As.impl_witness.384: = impl_witness imports.%As.impl_witness_table.8fa, @Core.IntLiteral.as.As.impl.e51(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.57a: = impl_witness imports.%As.impl_witness_table.637, @Core.IntLiteral.as.As.impl.e51(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.afd: type = fn_type @Core.IntLiteral.as.As.impl.Convert.2, @Core.IntLiteral.as.As.impl.e51(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.776: %Core.IntLiteral.as.As.impl.Convert.type.afd = struct_value () [concrete] -// CHECK:STDOUT: %As.facet.b9a: %As.type.8bf = facet_value Core.IntLiteral, (%As.impl_witness.384) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.adb: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u32, %As.facet.b9a) [concrete] -// CHECK:STDOUT: %.74e: type = fn_type_with_self_type %As.WithSelf.Convert.type.adb, %As.facet.b9a [concrete] +// CHECK:STDOUT: %As.facet.4a1: %As.type.8bf = facet_value Core.IntLiteral, (%As.impl_witness.57a) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.e67: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u32, %As.facet.4a1) [concrete] +// CHECK:STDOUT: %.7ed: type = fn_type_with_self_type %As.WithSelf.Convert.type.e67, %As.facet.4a1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.344: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.776 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn.cb8: = specific_function %Core.IntLiteral.as.As.impl.Convert.776, @Core.IntLiteral.as.As.impl.Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e7: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn.cb8 [concrete] @@ -220,12 +220,12 @@ fn F() { // CHECK:STDOUT: %As.type.093: type = facet_type <@As, @As(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.69a: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.829: %Core.FloatLiteral.as.As.impl.Convert.type.69a = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.406: = impl_witness imports.%As.impl_witness_table.aa3, @Core.FloatLiteral.as.As.impl(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.f4c: = impl_witness imports.%As.impl_witness_table.065, @Core.FloatLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.230: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.49e: %Core.FloatLiteral.as.As.impl.Convert.type.230 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet.161: %As.type.093 = facet_value Core.FloatLiteral, (%As.impl_witness.406) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.0fd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f32.c73, %As.facet.161) [concrete] -// CHECK:STDOUT: %.b4a: type = fn_type_with_self_type %As.WithSelf.Convert.type.0fd, %As.facet.161 [concrete] +// CHECK:STDOUT: %As.facet.c7b: %As.type.093 = facet_value Core.FloatLiteral, (%As.impl_witness.f4c) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.7e0: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f32.c73, %As.facet.c7b) [concrete] +// CHECK:STDOUT: %.32f: type = fn_type_with_self_type %As.WithSelf.Convert.type.7e0, %As.facet.c7b [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound.004: = bound_method %float.6daae3.1, %Core.FloatLiteral.as.As.impl.Convert.49e [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn.569: = specific_function %Core.FloatLiteral.as.As.impl.Convert.49e, @Core.FloatLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.f72: = bound_method %float.6daae3.1, %Core.FloatLiteral.as.As.impl.Convert.specific_fn.569 [concrete] @@ -237,12 +237,12 @@ fn F() { // CHECK:STDOUT: %cpp_double.patt: %pattern_type.fb7 = value_binding_pattern cpp_double [concrete] // CHECK:STDOUT: %float.6daae3.2: Core.FloatLiteral = float_literal_value 10e-1 [concrete] // CHECK:STDOUT: %As.type.0e0: type = facet_type <@As, @As(%f64.dc1)> [concrete] -// CHECK:STDOUT: %As.impl_witness.115: = impl_witness imports.%As.impl_witness_table.aa3, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.355: = impl_witness imports.%As.impl_witness_table.065, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.0cf: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.20d: %Core.FloatLiteral.as.As.impl.Convert.type.0cf = struct_value () [concrete] -// CHECK:STDOUT: %As.facet.24e: %As.type.0e0 = facet_value Core.FloatLiteral, (%As.impl_witness.115) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.4d9: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.dc1, %As.facet.24e) [concrete] -// CHECK:STDOUT: %.e52: type = fn_type_with_self_type %As.WithSelf.Convert.type.4d9, %As.facet.24e [concrete] +// CHECK:STDOUT: %As.facet.3b7: %As.type.0e0 = facet_value Core.FloatLiteral, (%As.impl_witness.355) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.a43: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.dc1, %As.facet.3b7) [concrete] +// CHECK:STDOUT: %.a08: type = fn_type_with_self_type %As.WithSelf.Convert.type.a43, %As.facet.3b7 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound.197: = bound_method %float.6daae3.2, %Core.FloatLiteral.as.As.impl.Convert.20d [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn.417: = specific_function %Core.FloatLiteral.as.As.impl.Convert.20d, @Core.FloatLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.08b: = bound_method %float.6daae3.2, %Core.FloatLiteral.as.As.impl.Convert.specific_fn.417 [concrete] @@ -263,18 +263,18 @@ fn F() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] // CHECK:STDOUT: %Core.import_ref.59a: @Core.IntLiteral.as.As.impl.e51.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.fb3) = import_ref Core//prelude/parts/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.e51.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.f86)] -// CHECK:STDOUT: %As.impl_witness_table.8fa = impl_witness_table (%Core.import_ref.59a), @Core.IntLiteral.as.As.impl.e51 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.637 = impl_witness_table (%Core.import_ref.59a), @Core.IntLiteral.as.As.impl.e51 [concrete] // CHECK:STDOUT: %Core.import_ref.c06: @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert.type (%Core.FloatLiteral.as.As.impl.Convert.type.69a) = import_ref Core//prelude/parts/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert (constants.%Core.FloatLiteral.as.As.impl.Convert.829)] -// CHECK:STDOUT: %As.impl_witness_table.aa3 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.065 = impl_witness_table (%Core.import_ref.c06), @Core.FloatLiteral.as.As.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i8.loc8: type = type_literal constants.%i8 [concrete = constants.%i8] -// CHECK:STDOUT: %impl.elem0.loc8: %.35a = impl_witness_access constants.%As.impl_witness.148, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.870] +// CHECK:STDOUT: %impl.elem0.loc8: %.c97 = impl_witness_access constants.%As.impl_witness.f99, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.870] // CHECK:STDOUT: %bound_method.loc8_45.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.555] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.As.impl.Convert.1(constants.%int_8) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.cf0] // CHECK:STDOUT: %bound_method.loc8_45.2: = bound_method %int_1.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.a39] @@ -298,7 +298,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i16.loc11: type = type_literal constants.%i16 [concrete = constants.%i16] -// CHECK:STDOUT: %impl.elem0.loc11: %.6b5 = impl_witness_access constants.%As.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] +// CHECK:STDOUT: %impl.elem0.loc11: %.45d = impl_witness_access constants.%As.impl_witness.0df, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.70c] // CHECK:STDOUT: %bound_method.loc11_33.1: = bound_method %int_1.loc11, %impl.elem0.loc11 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.544] // CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Core.IntLiteral.as.As.impl.Convert.1(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.07a] // CHECK:STDOUT: %bound_method.loc11_33.2: = bound_method %int_1.loc11, %specific_fn.loc11 [concrete = constants.%bound_method.a0f] @@ -322,7 +322,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0.loc14: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0.loc14: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc14_29.1: = bound_method %int_1.loc14, %impl.elem0.loc14 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.3a0] // CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Core.IntLiteral.as.As.impl.Convert.1(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.923] // CHECK:STDOUT: %bound_method.loc14_29.2: = bound_method %int_1.loc14, %specific_fn.loc14 [concrete = constants.%bound_method.18b] @@ -346,7 +346,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %u8.loc17: type = type_literal constants.%u8 [concrete = constants.%u8] -// CHECK:STDOUT: %impl.elem0.loc17: %.ec5 = impl_witness_access constants.%As.impl_witness.119, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.2f0] +// CHECK:STDOUT: %impl.elem0.loc17: %.58c = impl_witness_access constants.%As.impl_witness.861, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.2f0] // CHECK:STDOUT: %bound_method.loc17_49.1: = bound_method %int_1.loc17, %impl.elem0.loc17 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.7d9] // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Core.IntLiteral.as.As.impl.Convert.2(constants.%int_8) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.cbf] // CHECK:STDOUT: %bound_method.loc17_49.2: = bound_method %int_1.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.43e] @@ -370,7 +370,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %u16.loc20: type = type_literal constants.%u16 [concrete = constants.%u16] -// CHECK:STDOUT: %impl.elem0.loc20: %.477 = impl_witness_access constants.%As.impl_witness.542, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.210] +// CHECK:STDOUT: %impl.elem0.loc20: %.973 = impl_witness_access constants.%As.impl_witness.092, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.210] // CHECK:STDOUT: %bound_method.loc20_51.1: = bound_method %int_1.loc20, %impl.elem0.loc20 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.4c1] // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Core.IntLiteral.as.As.impl.Convert.2(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.7a1] // CHECK:STDOUT: %bound_method.loc20_51.2: = bound_method %int_1.loc20, %specific_fn.loc20 [concrete = constants.%bound_method.afc] @@ -394,7 +394,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc23: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %u32.loc23: type = type_literal constants.%u32 [concrete = constants.%u32] -// CHECK:STDOUT: %impl.elem0.loc23: %.74e = impl_witness_access constants.%As.impl_witness.384, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.776] +// CHECK:STDOUT: %impl.elem0.loc23: %.7ed = impl_witness_access constants.%As.impl_witness.57a, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.776] // CHECK:STDOUT: %bound_method.loc23_47.1: = bound_method %int_1.loc23, %impl.elem0.loc23 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.344] // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Core.IntLiteral.as.As.impl.Convert.2(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.cb8] // CHECK:STDOUT: %bound_method.loc23_47.2: = bound_method %int_1.loc23, %specific_fn.loc23 [concrete = constants.%bound_method.6e7] @@ -418,7 +418,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %float.loc26: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6daae3.1] // CHECK:STDOUT: %f32.loc26: type = type_literal constants.%f32.c73 [concrete = constants.%f32.c73] -// CHECK:STDOUT: %impl.elem0.loc26: %.b4a = impl_witness_access constants.%As.impl_witness.406, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.49e] +// CHECK:STDOUT: %impl.elem0.loc26: %.32f = impl_witness_access constants.%As.impl_witness.f4c, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.49e] // CHECK:STDOUT: %bound_method.loc26_35.1: = bound_method %float.loc26, %impl.elem0.loc26 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound.004] // CHECK:STDOUT: %specific_fn.loc26: = specific_function %impl.elem0.loc26, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn.569] // CHECK:STDOUT: %bound_method.loc26_35.2: = bound_method %float.loc26, %specific_fn.loc26 [concrete = constants.%bound_method.f72] @@ -442,7 +442,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %float.loc29: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6daae3.2] // CHECK:STDOUT: %f64.loc29: type = type_literal constants.%f64.dc1 [concrete = constants.%f64.dc1] -// CHECK:STDOUT: %impl.elem0.loc29: %.e52 = impl_witness_access constants.%As.impl_witness.115, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.20d] +// CHECK:STDOUT: %impl.elem0.loc29: %.a08 = impl_witness_access constants.%As.impl_witness.355, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.20d] // CHECK:STDOUT: %bound_method.loc29_37.1: = bound_method %float.loc29, %impl.elem0.loc29 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound.197] // CHECK:STDOUT: %specific_fn.loc29: = specific_function %impl.elem0.loc29, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn.417] // CHECK:STDOUT: %bound_method.loc29_37.2: = bound_method %float.loc29, %specific_fn.loc29 [concrete = constants.%bound_method.08b] @@ -477,12 +477,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.69a: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.829: %Core.FloatLiteral.as.As.impl.Convert.type.69a = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.115: = impl_witness imports.%As.impl_witness_table, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.355: = impl_witness imports.%As.impl_witness_table, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.0cf: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.20d: %Core.FloatLiteral.as.As.impl.Convert.type.0cf = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.0e0 = facet_value Core.FloatLiteral, (%As.impl_witness.115) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.4d9: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.dc1, %As.facet) [concrete] -// CHECK:STDOUT: %.e52: type = fn_type_with_self_type %As.WithSelf.Convert.type.4d9, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.0e0 = facet_value Core.FloatLiteral, (%As.impl_witness.355) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.a43: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%f64.dc1, %As.facet) [concrete] +// CHECK:STDOUT: %.a08: type = fn_type_with_self_type %As.WithSelf.Convert.type.a43, %As.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.As.impl.Convert.20d [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.20d, @Core.FloatLiteral.as.As.impl.Convert(%int_64) [concrete] @@ -500,7 +500,7 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %f64.loc15: type = type_literal constants.%f64.dc1 [concrete = constants.%f64.dc1] -// CHECK:STDOUT: %impl.elem0: %.e52 = impl_witness_access constants.%As.impl_witness.115, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.20d] +// CHECK:STDOUT: %impl.elem0: %.a08 = impl_witness_access constants.%As.impl_witness.355, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.20d] // CHECK:STDOUT: %bound_method.loc15_47.1: = bound_method %float, %impl.elem0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_47.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] @@ -538,8 +538,8 @@ fn F() { // CHECK:STDOUT: %unsigned_int.Op: %unsigned_int.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%unsigned_int.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.d96: %Default.type = facet_value %unsigned_int, (%custom_witness.9b4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.a47: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.d96) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %unsigned_int, (%DefaultOrUnformed.impl_witness.a47) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.900: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.d96) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %unsigned_int, (%DefaultOrUnformed.impl_witness.900) [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.668: type = pattern_type %u32 [concrete] @@ -559,7 +559,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %unsigned_int.decl: type = class_decl @unsigned_int [concrete = constants.%unsigned_int] {} {} // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %unsigned_int.foo.cpp_overload_set.value: %unsigned_int.foo.cpp_overload_set.type = cpp_overload_set_value @unsigned_int.foo.cpp_overload_set [concrete = constants.%unsigned_int.foo.cpp_overload_set.value] // CHECK:STDOUT: %unsigned_int.foo.decl: %unsigned_int.foo.type = fn_decl @unsigned_int.foo [concrete = constants.%unsigned_int.foo] { // CHECK:STDOUT: @@ -571,7 +571,7 @@ fn F() { // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %unsigned_int.var: ref %unsigned_int = var_storage %unsigned_int.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%unsigned_int, (constants.%DefaultOrUnformed.impl_witness.a47) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%unsigned_int, (constants.%DefaultOrUnformed.impl_witness.900) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc12_38.1: %DefaultOrUnformed.type = converted constants.%unsigned_int, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc12_38.1 [concrete = constants.%unsigned_int] // CHECK:STDOUT: %.loc12_38.2: type = converted %.loc12_38.1, %as_type [concrete = constants.%unsigned_int] diff --git a/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.darwin.carbon b/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.darwin.carbon index 07dfd39e2fa1..c2ea3025d9fb 100644 --- a/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.darwin.carbon +++ b/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.darwin.carbon @@ -638,35 +638,35 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %ImplicitAs.type.221: type = facet_type <@ImplicitAs, @ImplicitAs(%i64)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.210: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet.210 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b83: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet.b83 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] // CHECK:STDOUT: %int_1.33f: %Cpp.long = int_value 1 [concrete] // CHECK:STDOUT: %pattern_type.f57: type = pattern_type %i64 [concrete] // CHECK:STDOUT: %carbon_long.patt: %pattern_type.f57 = value_binding_pattern carbon_long [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table.a3a [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.c71: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.294: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.9e1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.294, %ImplicitAs.facet.c71 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.329: = impl_witness imports.%ImplicitAs.impl_witness_table.00c [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8fd: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.329) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d9b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.bf5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d9b, %ImplicitAs.facet.8fd [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.1: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.1: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.1 = struct_value () [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %As.type.c37: type = facet_type <@As, @As(%Cpp.long)> [concrete] -// CHECK:STDOUT: %As.impl_witness.e4e: = impl_witness imports.%As.impl_witness_table.e98 [concrete] -// CHECK:STDOUT: %As.facet: %As.type.c37 = facet_value Core.IntLiteral, (%As.impl_witness.e4e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.518: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.long, %As.facet) [concrete] -// CHECK:STDOUT: %.f4b: type = fn_type_with_self_type %As.WithSelf.Convert.type.518, %As.facet [concrete] +// CHECK:STDOUT: %As.impl_witness.fff: = impl_witness imports.%As.impl_witness_table.bee [concrete] +// CHECK:STDOUT: %As.facet: %As.type.c37 = facet_value Core.IntLiteral, (%As.impl_witness.fff) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.f09: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.long, %As.facet) [concrete] +// CHECK:STDOUT: %.acd: type = fn_type_with_self_type %As.WithSelf.Convert.type.f09, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.79f: = impl_witness imports.%ImplicitAs.impl_witness_table.851 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.d18: %ImplicitAs.type.7cb = facet_value %Cpp.long, (%ImplicitAs.impl_witness.79f) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.29c: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.d18) [concrete] -// CHECK:STDOUT: %.1e3: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.29c, %ImplicitAs.facet.d18 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.250: = impl_witness imports.%ImplicitAs.impl_witness_table.a7f [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.dab: %ImplicitAs.type.7cb = facet_value %Cpp.long, (%ImplicitAs.impl_witness.250) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.dab) [concrete] +// CHECK:STDOUT: %.a67: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c0, %ImplicitAs.facet.dab [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.2: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.33f, %Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2 [concrete] @@ -682,12 +682,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -703,21 +703,21 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.2: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.1 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.1] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a3a = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.00c = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.3: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] -// CHECK:STDOUT: %As.impl_witness_table.e98 = impl_witness_table (%Core.import_ref.06c923.3), @Core.IntLiteral.as.As.impl.ed4 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.bee = impl_witness_table (%Core.import_ref.06c923.3), @Core.IntLiteral.as.As.impl.ed4 [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.4: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.2 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.851 = impl_witness_table (%Core.import_ref.06c923.4), @Cpp.long.as.ImplicitAs.impl.b7c [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a7f = impl_witness_table (%Core.import_ref.06c923.4), @Cpp.long.as.ImplicitAs.impl.b7c [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc8: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc8_28.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.33f] @@ -731,7 +731,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %cpp_long.patt: %pattern_type.ada = value_binding_pattern cpp_long [concrete = constants.%cpp_long.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_long.ref: %Cpp.long = name_ref cpp_long, %cpp_long -// CHECK:STDOUT: %impl.elem0.loc9: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.1] +// CHECK:STDOUT: %impl.elem0.loc9: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.1] // CHECK:STDOUT: %bound_method.loc9: = bound_method %cpp_long.ref, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc9: init %i64 = call %bound_method.loc9(%cpp_long.ref) // CHECK:STDOUT: %.loc9_33.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc9 @@ -744,7 +744,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc11_50.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc11_50: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc11_50: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc11_50.1: = bound_method %float, %impl.elem0.loc11_50 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc11_50, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_50.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] @@ -761,12 +761,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %long.ref.loc11: type = name_ref long, constants.%Cpp.long [concrete = constants.%Cpp.long] -// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.f4b = impl_witness_access constants.%As.impl_witness.e4e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.acd = impl_witness_access constants.%As.impl_witness.fff, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %Cpp.long = call %bound_method.loc11_30.1(%int_1.loc11) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc11_30.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc11_30.2: %Cpp.long = converted %int_1.loc11, %.loc11_30.1 [concrete = constants.%int_1.33f] -// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.1e3 = impl_witness_access constants.%ImplicitAs.impl_witness.79f, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2] +// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.a67 = impl_witness_access constants.%ImplicitAs.impl_witness.250, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2] // CHECK:STDOUT: %bound_method.loc11_30.2: = bound_method %.loc11_30.2, %impl.elem0.loc11_30.2 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc11: init Core.IntLiteral = call %bound_method.loc11_30.2(%.loc11_30.2) [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc11_30.3: Core.IntLiteral = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc11 [concrete = constants.%int_1.5b8] @@ -810,35 +810,35 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %ImplicitAs.type.14f: type = facet_type <@ImplicitAs, @ImplicitAs(%u64)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.747: = impl_witness imports.%ImplicitAs.impl_witness_table.54e [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.dbc: %ImplicitAs.type.7da = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.747) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.57a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet.dbc) [concrete] -// CHECK:STDOUT: %.869: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.57a, %ImplicitAs.facet.dbc [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a75: = impl_witness imports.%ImplicitAs.impl_witness_table.bb8 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.75d: %ImplicitAs.type.7da = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a75) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.92f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet.75d) [concrete] +// CHECK:STDOUT: %.39a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.92f, %ImplicitAs.facet.75d [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] // CHECK:STDOUT: %int_1.9e8: %Cpp.unsigned_long = int_value 1 [concrete] // CHECK:STDOUT: %pattern_type.b35: type = pattern_type %u64 [concrete] // CHECK:STDOUT: %carbon_unsigned_long.patt: %pattern_type.b35 = value_binding_pattern carbon_unsigned_long [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.885: = impl_witness imports.%ImplicitAs.impl_witness_table.2eb [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.728: %ImplicitAs.type.14f = facet_value %Cpp.unsigned_long, (%ImplicitAs.impl_witness.885) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.798: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.728) [concrete] -// CHECK:STDOUT: %.0ae: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.798, %ImplicitAs.facet.728 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.6a2: = impl_witness imports.%ImplicitAs.impl_witness_table.5eb [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.daf: %ImplicitAs.type.14f = facet_value %Cpp.unsigned_long, (%ImplicitAs.impl_witness.6a2) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.db8: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.daf) [concrete] +// CHECK:STDOUT: %.250: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.db8, %ImplicitAs.facet.daf [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type.ae6f4c.1: type = fn_type @Cpp.unsigned_long.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.3cefb0.1: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type.ae6f4c.1 = struct_value () [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %As.type.68f: type = facet_type <@As, @As(%Cpp.unsigned_long)> [concrete] -// CHECK:STDOUT: %As.impl_witness.a83: = impl_witness imports.%As.impl_witness_table.fcb [concrete] -// CHECK:STDOUT: %As.facet: %As.type.68f = facet_value Core.IntLiteral, (%As.impl_witness.a83) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d43: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.unsigned_long, %As.facet) [concrete] -// CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %As.WithSelf.Convert.type.d43, %As.facet [concrete] +// CHECK:STDOUT: %As.impl_witness.940: = impl_witness imports.%As.impl_witness_table.d4e [concrete] +// CHECK:STDOUT: %As.facet: %As.type.68f = facet_value Core.IntLiteral, (%As.impl_witness.940) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.ef7: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.unsigned_long, %As.facet) [concrete] +// CHECK:STDOUT: %.20a: type = fn_type_with_self_type %As.WithSelf.Convert.type.ef7, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.f9e: = impl_witness imports.%ImplicitAs.impl_witness_table.d48 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.020: %ImplicitAs.type.7cb = facet_value %Cpp.unsigned_long, (%ImplicitAs.impl_witness.f9e) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a35: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.020) [concrete] -// CHECK:STDOUT: %.1d2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a35, %ImplicitAs.facet.020 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.34b: = impl_witness imports.%ImplicitAs.impl_witness_table.090 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.263: %ImplicitAs.type.7cb = facet_value %Cpp.unsigned_long, (%ImplicitAs.impl_witness.34b) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.eb5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.263) [concrete] +// CHECK:STDOUT: %.7d5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.eb5, %ImplicitAs.facet.263 [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type.ae6f4c.2: type = fn_type @Cpp.unsigned_long.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.3cefb0.2: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type.ae6f4c.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.9e8, %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.3cefb0.2 [concrete] @@ -854,12 +854,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -875,21 +875,21 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.54e = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.a49 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb8 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.a49 [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.2: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type.ae6f4c.1 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.3cefb0.1] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.2eb = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.unsigned_long.as.ImplicitAs.impl.c4b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5eb = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.unsigned_long.as.ImplicitAs.impl.c4b [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.3: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] -// CHECK:STDOUT: %As.impl_witness_table.fcb = impl_witness_table (%Core.import_ref.06c923.3), @Core.IntLiteral.as.As.impl.60e [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d4e = impl_witness_table (%Core.import_ref.06c923.3), @Core.IntLiteral.as.As.impl.60e [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.4: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type.ae6f4c.2 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.3cefb0.2] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d48 = impl_witness_table (%Core.import_ref.06c923.4), @Cpp.unsigned_long.as.ImplicitAs.impl.8de [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.090 = impl_witness_table (%Core.import_ref.06c923.4), @Cpp.unsigned_long.as.ImplicitAs.impl.8de [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.869 = impl_witness_access constants.%ImplicitAs.impl_witness.747, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc8: %.39a = impl_witness_access constants.%ImplicitAs.impl_witness.a75, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.unsigned_long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.9e8] // CHECK:STDOUT: %.loc8_46.1: %Cpp.unsigned_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.9e8] @@ -903,7 +903,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %cpp_unsigned_long.patt: %pattern_type.172 = value_binding_pattern cpp_unsigned_long [concrete = constants.%cpp_unsigned_long.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_long.ref: %Cpp.unsigned_long = name_ref cpp_unsigned_long, %cpp_unsigned_long -// CHECK:STDOUT: %impl.elem0.loc9: %.0ae = impl_witness_access constants.%ImplicitAs.impl_witness.885, element0 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.3cefb0.1] +// CHECK:STDOUT: %impl.elem0.loc9: %.250 = impl_witness_access constants.%ImplicitAs.impl_witness.6a2, element0 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.3cefb0.1] // CHECK:STDOUT: %bound_method.loc9: = bound_method %cpp_unsigned_long.ref, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.call.loc9: init %u64 = call %bound_method.loc9(%cpp_unsigned_long.ref) // CHECK:STDOUT: %.loc9_42.1: %u64 = value_of_initializer %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.call.loc9 @@ -916,7 +916,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc11_59.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc11_59: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc11_59: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc11_59.1: = bound_method %float, %impl.elem0.loc11_59 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc11_59, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_59.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] @@ -933,12 +933,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %unsigned_long.ref.loc11: type = name_ref unsigned_long, constants.%Cpp.unsigned_long [concrete = constants.%Cpp.unsigned_long] -// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.0ea = impl_witness_access constants.%As.impl_witness.a83, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.20a = impl_witness_access constants.%As.impl_witness.940, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %Cpp.unsigned_long = call %bound_method.loc11_30.1(%int_1.loc11) [concrete = constants.%int_1.9e8] // CHECK:STDOUT: %.loc11_30.1: %Cpp.unsigned_long = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.9e8] // CHECK:STDOUT: %.loc11_30.2: %Cpp.unsigned_long = converted %int_1.loc11, %.loc11_30.1 [concrete = constants.%int_1.9e8] -// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.1d2 = impl_witness_access constants.%ImplicitAs.impl_witness.f9e, element0 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.3cefb0.2] +// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.7d5 = impl_witness_access constants.%ImplicitAs.impl_witness.34b, element0 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.3cefb0.2] // CHECK:STDOUT: %bound_method.loc11_30.2: = bound_method %.loc11_30.2, %impl.elem0.loc11_30.2 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.call.loc11: init Core.IntLiteral = call %bound_method.loc11_30.2(%.loc11_30.2) [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc11_30.3: Core.IntLiteral = value_of_initializer %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.call.loc11 [concrete = constants.%int_1.5b8] @@ -985,12 +985,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From.fe9) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.091: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.227: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.6e8: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.091) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a04: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.6e8) [concrete] -// CHECK:STDOUT: %.f34: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a04, %ImplicitAs.facet.6e8 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.235: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.227) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.da7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.235) [concrete] +// CHECK:STDOUT: %.03f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.da7, %ImplicitAs.facet.235 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.89f: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.c5e: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1008,10 +1008,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %cpp_long.patt: %pattern_type.ada = value_binding_pattern cpp_long [concrete] // CHECK:STDOUT: %ImplicitAs.type.340: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.210: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet.210 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b83: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet.b83 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -1028,21 +1028,21 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %As.type.998: type = facet_type <@As, @As(%i64)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.2e1: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.0fe: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.1a1: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.3d9: %Core.IntLiteral.as.As.impl.Convert.type.1a1 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.998 = facet_value Core.IntLiteral, (%As.impl_witness.2e1) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.2b4: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i64, %As.facet) [concrete] -// CHECK:STDOUT: %.01b: type = fn_type_with_self_type %As.WithSelf.Convert.type.2b4, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.998 = facet_value Core.IntLiteral, (%As.impl_witness.0fe) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.7f7: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i64, %As.facet) [concrete] +// CHECK:STDOUT: %.8fd: type = fn_type_with_self_type %As.WithSelf.Convert.type.7f7, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.3d9 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.3d9, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.991: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a75: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d20: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.ad9: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.be5: %Int.as.ImplicitAs.impl.Convert.type.ad9 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.cee: %ImplicitAs.type.7cb = facet_value %i64, (%ImplicitAs.impl_witness.a75) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.004: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.cee) [concrete] -// CHECK:STDOUT: %.779: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.004, %ImplicitAs.facet.cee [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b6d: %ImplicitAs.type.7cb = facet_value %i64, (%ImplicitAs.impl_witness.d20) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.95a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.b6d) [concrete] +// CHECK:STDOUT: %.f05: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.95a, %ImplicitAs.facet.b6d [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.d98, %Int.as.ImplicitAs.impl.Convert.be5 [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.be5, @Int.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.e21: = bound_method %int_1.d98, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1058,12 +1058,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1087,9 +1087,9 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %LongLongResult.decl: type = class_decl @LongLongResult [concrete = constants.%LongLongResult] {} {} // CHECK:STDOUT: %PassLongLong.cpp_overload_set.value: %PassLongLong.cpp_overload_set.type = cpp_overload_set_value @PassLongLong.cpp_overload_set [concrete = constants.%PassLongLong.cpp_overload_set.value] // CHECK:STDOUT: %PassLongLong__carbon_thunk.decl.204cd1.1: %PassLongLong__carbon_thunk.type.4c6a2a.1 = fn_decl @PassLongLong__carbon_thunk.1 [concrete = constants.%PassLongLong__carbon_thunk.8eb04c.1] { @@ -1098,7 +1098,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %LongResult.decl: type = class_decl @LongResult [concrete = constants.%LongResult] {} {} // CHECK:STDOUT: %PassLongLong__carbon_thunk.decl.204cd1.2: %PassLongLong__carbon_thunk.type.4c6a2a.2 = fn_decl @PassLongLong__carbon_thunk.2 [concrete = constants.%PassLongLong__carbon_thunk.8eb04c.2] { // CHECK:STDOUT: @@ -1106,15 +1106,15 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc15: %.f34 = impl_witness_access constants.%ImplicitAs.impl_witness.091, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] +// CHECK:STDOUT: %impl.elem0.loc15: %.03f = impl_witness_access constants.%ImplicitAs.impl_witness.227, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] // CHECK:STDOUT: %bound_method.loc15_38.1: = bound_method %int_1.loc15, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.89f] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_38.2: = bound_method %int_1.loc15, %specific_fn.loc15 [concrete = constants.%bound_method.c5e] @@ -1148,7 +1148,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %cpp_long_long_result.patt: %pattern_type.357 = value_binding_pattern cpp_long_long_result [concrete = constants.%cpp_long_long_result.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc18: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc18: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc18: = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long = call %bound_method.loc18(%int_1.loc18) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc18_28.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_1.33f] @@ -1204,7 +1204,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc24_55.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc24_55: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc24_55: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc24_55.1: = bound_method %float, %impl.elem0.loc24_55 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc24_55: = specific_function %impl.elem0.loc24_55, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_55.2: = bound_method %float, %specific_fn.loc24_55 [concrete = constants.%bound_method.3e4] @@ -1221,14 +1221,14 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc24: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %long_long.ref.loc24: type = name_ref long_long, %i64.2 [concrete = constants.%i64] -// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.01b = impl_witness_access constants.%As.impl_witness.2e1, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.3d9] +// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.8fd = impl_witness_access constants.%As.impl_witness.0fe, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.3d9] // CHECK:STDOUT: %bound_method.loc24_30.1: = bound_method %int_1.loc24, %impl.elem0.loc24_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc24_30.1: = specific_function %impl.elem0.loc24_30.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_30.2: = bound_method %int_1.loc24, %specific_fn.loc24_30.1 [concrete = constants.%bound_method.991] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i64 = call %bound_method.loc24_30.2(%int_1.loc24) [concrete = constants.%int_1.d98] // CHECK:STDOUT: %.loc24_30.1: %i64 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.d98] // CHECK:STDOUT: %.loc24_30.2: %i64 = converted %int_1.loc24, %.loc24_30.1 [concrete = constants.%int_1.d98] -// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.779 = impl_witness_access constants.%ImplicitAs.impl_witness.a75, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.be5] +// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.f05 = impl_witness_access constants.%ImplicitAs.impl_witness.d20, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.be5] // CHECK:STDOUT: %bound_method.loc24_30.3: = bound_method %.loc24_30.2, %impl.elem0.loc24_30.2 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc24_30.2: = specific_function %impl.elem0.loc24_30.2, @Int.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_30.4: = bound_method %.loc24_30.2, %specific_fn.loc24_30.2 [concrete = constants.%bound_method.e21] @@ -1279,20 +1279,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.340: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_1.33f: %Cpp.long = int_value 1 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.ada = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.ada = var_pattern %b.patt [concrete] -// CHECK:STDOUT: %Copy.impl_witness.418: = impl_witness imports.%Copy.impl_witness_table.30d [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long, (%Copy.impl_witness.418) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.165: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a14: type = fn_type_with_self_type %Copy.WithSelf.Op.type.165, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.78e: = impl_witness imports.%Copy.impl_witness_table.842 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long, (%Copy.impl_witness.78e) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.881: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.6f73: type = fn_type_with_self_type %Copy.WithSelf.Op.type.881, %Copy.facet [concrete] // CHECK:STDOUT: %Cpp.long.as.Copy.impl.Op.type: type = fn_type @Cpp.long.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long.as.Copy.impl.Op: %Cpp.long.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] @@ -1305,16 +1305,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %Core.import_ref.9c3: %Cpp.long.as.Copy.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.30d = impl_witness_table (%Core.import_ref.9c3), @Cpp.long.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.842 = impl_witness_table (%Core.import_ref.9c3), @Cpp.long.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CopyLongLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.long = call %bound_method.loc8(%int_1) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc8_3: init %Cpp.long = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.33f] @@ -1331,7 +1331,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %b.var: ref %Cpp.long = var_storage %b.var_patt // CHECK:STDOUT: %a.ref: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %.loc9_28: %Cpp.long = acquire_value %a.ref -// CHECK:STDOUT: %impl.elem0.loc9: %.a14 = impl_witness_access constants.%Copy.impl_witness.418, element0 [concrete = constants.%Cpp.long.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.6f73 = impl_witness_access constants.%Copy.impl_witness.78e, element0 [concrete = constants.%Cpp.long.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %.loc9_28, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.long.as.Copy.impl.Op.call: init %Cpp.long = call %bound_method.loc9(%.loc9_28) // CHECK:STDOUT: assign %b.var, %Cpp.long.as.Copy.impl.Op.call @@ -1371,43 +1371,43 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.patt: %pattern_type.ada = value_binding_pattern a [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.340: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_1.33f: %Cpp.long = int_value 1 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.ada = value_binding_pattern b [concrete] // CHECK:STDOUT: %EqWith.type.3ed: type = facet_type <@EqWith, @EqWith(%Cpp.long)> [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.6db: = impl_witness imports.%EqWith.impl_witness_table.cf3 [concrete] -// CHECK:STDOUT: %EqWith.facet.95b: %EqWith.type.3ed = facet_value %Cpp.long, (%EqWith.impl_witness.6db) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.1bc: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.95b) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.6a3: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.95b) [concrete] -// CHECK:STDOUT: %.0e6: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.1bc, %EqWith.facet.95b [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.6bf: = impl_witness imports.%EqWith.impl_witness_table.e52 [concrete] +// CHECK:STDOUT: %EqWith.facet.7ae: %EqWith.type.3ed = facet_value %Cpp.long, (%EqWith.impl_witness.6bf) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.5c9: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.7ae) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.8a6: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.7ae) [concrete] +// CHECK:STDOUT: %.0fad: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.5c9, %EqWith.facet.7ae [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.78c: type = fn_type @Cpp.long.as.EqWith.impl.Equal.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.1ca: %Cpp.long.as.EqWith.impl.Equal.type.78c = struct_value () [concrete] -// CHECK:STDOUT: %.f1b: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.6a3, %EqWith.facet.95b [concrete] +// CHECK:STDOUT: %.308: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.8a6, %EqWith.facet.7ae [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.8e5: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.a6a: %Cpp.long.as.EqWith.impl.NotEqual.type.8e5 = struct_value () [concrete] // CHECK:STDOUT: %OrderedWith.type.484: type = facet_type <@OrderedWith, @OrderedWith(%Cpp.long)> [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.3c9: = impl_witness imports.%OrderedWith.impl_witness_table.47f [concrete] -// CHECK:STDOUT: %OrderedWith.facet.960: %OrderedWith.type.484 = facet_value %Cpp.long, (%OrderedWith.impl_witness.3c9) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.b6e: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.960) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.4a2: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.960) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.899: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.960) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.28b: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.960) [concrete] -// CHECK:STDOUT: %.56d: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.899, %OrderedWith.facet.960 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.494: = impl_witness imports.%OrderedWith.impl_witness_table.ce3 [concrete] +// CHECK:STDOUT: %OrderedWith.facet.560: %OrderedWith.type.484 = facet_value %Cpp.long, (%OrderedWith.impl_witness.494) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.0f9: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.560) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.2ff: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.560) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.d5c: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.560) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.9ae: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.560) [concrete] +// CHECK:STDOUT: %.347: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.d5c, %OrderedWith.facet.560 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.725: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.7c8: %Cpp.long.as.OrderedWith.impl.Greater.type.725 = struct_value () [concrete] -// CHECK:STDOUT: %.f43: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.b6e, %OrderedWith.facet.960 [concrete] +// CHECK:STDOUT: %.35c: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.0f9, %OrderedWith.facet.560 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.335: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.606: %Cpp.long.as.OrderedWith.impl.Less.type.335 = struct_value () [concrete] -// CHECK:STDOUT: %.ac2: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.28b, %OrderedWith.facet.960 [concrete] +// CHECK:STDOUT: %.aac: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.9ae, %OrderedWith.facet.560 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.2d9: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.a09: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.2d9 = struct_value () [concrete] -// CHECK:STDOUT: %.d14: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.4a2, %OrderedWith.facet.960 [concrete] +// CHECK:STDOUT: %.e3c: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.2ff, %OrderedWith.facet.560 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.42c: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0c8: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.42c = struct_value () [concrete] // CHECK:STDOUT: } @@ -1418,21 +1418,21 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %Core.import_ref.a87: %Cpp.long.as.EqWith.impl.Equal.type.78c = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.1ca] -// CHECK:STDOUT: %Core.import_ref.adc9b: %Cpp.long.as.EqWith.impl.NotEqual.type.8e5 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.a6a] -// CHECK:STDOUT: %EqWith.impl_witness_table.cf3 = impl_witness_table (%Core.import_ref.a87, %Core.import_ref.adc9b), @Cpp.long.as.EqWith.impl.f72 [concrete] +// CHECK:STDOUT: %Core.import_ref.adc9: %Cpp.long.as.EqWith.impl.NotEqual.type.8e5 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.a6a] +// CHECK:STDOUT: %EqWith.impl_witness_table.e52 = impl_witness_table (%Core.import_ref.a87, %Core.import_ref.adc9), @Cpp.long.as.EqWith.impl.f72 [concrete] // CHECK:STDOUT: %Core.import_ref.0e8: %Cpp.long.as.OrderedWith.impl.Less.type.335 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.606] // CHECK:STDOUT: %Core.import_ref.757ec: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.42c = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0c8] // CHECK:STDOUT: %Core.import_ref.c32c: %Cpp.long.as.OrderedWith.impl.Greater.type.725 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.7c8] // CHECK:STDOUT: %Core.import_ref.381: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.2d9 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.a09] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.47f = impl_witness_table (%Core.import_ref.0e8, %Core.import_ref.757ec, %Core.import_ref.c32c, %Core.import_ref.381), @Cpp.long.as.OrderedWith.impl.f51 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.ce3 = impl_witness_table (%Core.import_ref.0e8, %Core.import_ref.757ec, %Core.import_ref.c32c, %Core.import_ref.381), @Cpp.long.as.OrderedWith.impl.f51 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @ComparisonsHomogeneousLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc8_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.33f] @@ -1446,7 +1446,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.patt: %pattern_type.ada = value_binding_pattern a [concrete = constants.%a.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc9_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.33f] @@ -1461,32 +1461,32 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc10: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc10: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10: %.0e6 = impl_witness_access constants.%EqWith.impl_witness.6db, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.1ca] +// CHECK:STDOUT: %impl.elem0.loc10: %.0fad = impl_witness_access constants.%EqWith.impl_witness.6bf, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.1ca] // CHECK:STDOUT: %bound_method.loc10: = bound_method %a.ref.loc10, %impl.elem0.loc10 // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.call: init bool = call %bound_method.loc10(%a.ref.loc10, %b.ref.loc10) // CHECK:STDOUT: %a.ref.loc11: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc11: %.f1b = impl_witness_access constants.%EqWith.impl_witness.6db, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.a6a] +// CHECK:STDOUT: %impl.elem1.loc11: %.308 = impl_witness_access constants.%EqWith.impl_witness.6bf, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.a6a] // CHECK:STDOUT: %bound_method.loc11: = bound_method %a.ref.loc11, %impl.elem1.loc11 // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.call: init bool = call %bound_method.loc11(%a.ref.loc11, %b.ref.loc11) // CHECK:STDOUT: %a.ref.loc12: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem2: %.56d = impl_witness_access constants.%OrderedWith.impl_witness.3c9, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.7c8] +// CHECK:STDOUT: %impl.elem2: %.347 = impl_witness_access constants.%OrderedWith.impl_witness.494, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.7c8] // CHECK:STDOUT: %bound_method.loc12: = bound_method %a.ref.loc12, %impl.elem2 // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.call: init bool = call %bound_method.loc12(%a.ref.loc12, %b.ref.loc12) // CHECK:STDOUT: %a.ref.loc13: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13: %.f43 = impl_witness_access constants.%OrderedWith.impl_witness.3c9, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.606] +// CHECK:STDOUT: %impl.elem0.loc13: %.35c = impl_witness_access constants.%OrderedWith.impl_witness.494, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.606] // CHECK:STDOUT: %bound_method.loc13: = bound_method %a.ref.loc13, %impl.elem0.loc13 // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.call: init bool = call %bound_method.loc13(%a.ref.loc13, %b.ref.loc13) // CHECK:STDOUT: %a.ref.loc14: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem3: %.ac2 = impl_witness_access constants.%OrderedWith.impl_witness.3c9, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.a09] +// CHECK:STDOUT: %impl.elem3: %.aac = impl_witness_access constants.%OrderedWith.impl_witness.494, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.a09] // CHECK:STDOUT: %bound_method.loc14: = bound_method %a.ref.loc14, %impl.elem3 // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.call: init bool = call %bound_method.loc14(%a.ref.loc14, %b.ref.loc14) // CHECK:STDOUT: %a.ref.loc15: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc15: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc15: %.d14 = impl_witness_access constants.%OrderedWith.impl_witness.3c9, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0c8] +// CHECK:STDOUT: %impl.elem1.loc15: %.e3c = impl_witness_access constants.%OrderedWith.impl_witness.494, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0c8] // CHECK:STDOUT: %bound_method.loc15: = bound_method %a.ref.loc15, %impl.elem1.loc15 // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.call: init bool = call %bound_method.loc15(%a.ref.loc15, %b.ref.loc15) // CHECK:STDOUT: @@ -1505,10 +1505,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %pattern_type.ada: type = pattern_type %Cpp.long [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.ada = value_binding_pattern a [concrete] // CHECK:STDOUT: %ImplicitAs.type.340: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.210: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet.210 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b83: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet.b83 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -1534,30 +1534,30 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.8af025.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.8, @T.as_type.as.EqWith.impl.956(%N, %T.4e6) [symbolic] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.c477d6.2: %T.as_type.as.EqWith.impl.Equal.type.8af025.2 = struct_value () [symbolic] // CHECK:STDOUT: %EqWith.type.aee: type = facet_type <@EqWith, @EqWith(Core.IntLiteral)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table.a3a [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.c71: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.53b: = impl_witness imports.%EqWith.impl_witness_table.561, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.9269d3.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.8, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.c936a0.1: %T.as_type.as.EqWith.impl.Equal.type.9269d3.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.8585e2.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.8, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.44eea9.1: %T.as_type.as.EqWith.impl.NotEqual.type.8585e2.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.9269d3.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.7, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.c936a0.2: %T.as_type.as.EqWith.impl.Equal.type.9269d3.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.8585e2.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.7, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.44eea9.2: %T.as_type.as.EqWith.impl.NotEqual.type.8585e2.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.768: %EqWith.type.d67 = facet_value %Cpp.long, (%EqWith.impl_witness.53b) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.80c: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i64, %EqWith.facet.768) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.1dd: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i64, %EqWith.facet.768) [concrete] -// CHECK:STDOUT: %.da9: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.80c, %EqWith.facet.768 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.cba536.1: = specific_function %T.as_type.as.EqWith.impl.Equal.c936a0.2, @T.as_type.as.EqWith.impl.Equal.7(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.cba536.2: = specific_function %T.as_type.as.EqWith.impl.Equal.c936a0.1, @T.as_type.as.EqWith.impl.Equal.8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.294: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.9e1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.294, %ImplicitAs.facet.c71 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.329: = impl_witness imports.%ImplicitAs.impl_witness_table.00c [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8fd: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.329) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.7f6: = impl_witness imports.%EqWith.impl_witness_table.532, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.95d2b6.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.8, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.fe430d.1: %T.as_type.as.EqWith.impl.Equal.type.95d2b6.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.b86dbe.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.8, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.153fea.1: %T.as_type.as.EqWith.impl.NotEqual.type.b86dbe.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.95d2b6.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.7, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.fe430d.2: %T.as_type.as.EqWith.impl.Equal.type.95d2b6.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.b86dbe.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.7, @T.as_type.as.EqWith.impl.956(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.153fea.2: %T.as_type.as.EqWith.impl.NotEqual.type.b86dbe.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.b26: %EqWith.type.d67 = facet_value %Cpp.long, (%EqWith.impl_witness.7f6) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.d9b: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i64, %EqWith.facet.b26) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.047: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i64, %EqWith.facet.b26) [concrete] +// CHECK:STDOUT: %.1a9: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.d9b, %EqWith.facet.b26 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.d11d38.1: = specific_function %T.as_type.as.EqWith.impl.Equal.fe430d.2, @T.as_type.as.EqWith.impl.Equal.7(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.d11d38.2: = specific_function %T.as_type.as.EqWith.impl.Equal.fe430d.1, @T.as_type.as.EqWith.impl.Equal.8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d9b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.bf5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d9b, %ImplicitAs.facet.8fd [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert: %Cpp.long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %.b06: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.1dd, %EqWith.facet.768 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.228325.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.44eea9.2, @T.as_type.as.EqWith.impl.NotEqual.7(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.228325.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.44eea9.1, @T.as_type.as.EqWith.impl.NotEqual.8(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %.572: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.047, %EqWith.facet.b26 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.d36720.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.153fea.2, @T.as_type.as.EqWith.impl.NotEqual.7(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.d36720.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.153fea.1, @T.as_type.as.EqWith.impl.NotEqual.8(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %OrderedWith.type.af1: type = facet_type <@OrderedWith, @OrderedWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.4dd52d.1: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.d2f(%T.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.8ca727.1: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.4dd52d.1 = struct_value () [symbolic] @@ -1592,92 +1592,92 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.354913.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.8, @T.as_type.as.OrderedWith.impl.7a0(%N, %T.4e6) [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.0ec126.2: %T.as_type.as.OrderedWith.impl.Less.type.354913.2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.type.975: type = facet_type <@OrderedWith, @OrderedWith(Core.IntLiteral)> [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.ee7: = impl_witness imports.%OrderedWith.impl_witness_table.13e, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.de033b.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.8, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.8f6b78.1: %T.as_type.as.OrderedWith.impl.Less.type.de033b.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.75d39c.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.8, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.d36d70.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.75d39c.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.11de18.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.8, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.017256.1: %T.as_type.as.OrderedWith.impl.Greater.type.11de18.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1eda94.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6f44e0.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1eda94.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.de033b.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.7, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.8f6b78.2: %T.as_type.as.OrderedWith.impl.Less.type.de033b.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.75d39c.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.7, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.d36d70.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.75d39c.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.11de18.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.7, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.017256.2: %T.as_type.as.OrderedWith.impl.Greater.type.11de18.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1eda94.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6f44e0.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1eda94.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.226: %OrderedWith.type.af1 = facet_value %Cpp.long, (%OrderedWith.impl_witness.ee7) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.643: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.226) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.025: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.226) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.7b6: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.226) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.436: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.226) [concrete] -// CHECK:STDOUT: %.ffd: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.7b6, %OrderedWith.facet.226 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.17599d.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.017256.2, @T.as_type.as.OrderedWith.impl.Greater.7(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.17599d.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.017256.1, @T.as_type.as.OrderedWith.impl.Greater.8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.da4: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.643, %OrderedWith.facet.226 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.b43576.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.8f6b78.2, @T.as_type.as.OrderedWith.impl.Less.7(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.b43576.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.8f6b78.1, @T.as_type.as.OrderedWith.impl.Less.8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.496: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.436, %OrderedWith.facet.226 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.0e8d3e.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6f44e0.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.0e8d3e.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6f44e0.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.fcb: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.025, %OrderedWith.facet.226 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.30cbb1.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.d36d70.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.7(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.30cbb1.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.d36d70.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.dcc: = impl_witness imports.%EqWith.impl_witness_table.dd7, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.76e71d.1: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.3b50c9.1: %Cpp.long.as.EqWith.impl.Equal.type.76e71d.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.9fc84a.1: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.2, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.92f9dd.1: %Cpp.long.as.EqWith.impl.NotEqual.type.9fc84a.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.76e71d.2: type = fn_type @Cpp.long.as.EqWith.impl.Equal.1, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.3b50c9.2: %Cpp.long.as.EqWith.impl.Equal.type.76e71d.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.9fc84a.2: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.1, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.92f9dd.2: %Cpp.long.as.EqWith.impl.NotEqual.type.9fc84a.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.f85: %EqWith.type.aee = facet_value %Cpp.long, (%EqWith.impl_witness.dcc) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.c8f: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.f85) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.c7b: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.f85) [concrete] -// CHECK:STDOUT: %.fe7: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.c8f, %EqWith.facet.f85 [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.f7b79e.1: = specific_function %Cpp.long.as.EqWith.impl.Equal.3b50c9.2, @Cpp.long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.f7b79e.2: = specific_function %Cpp.long.as.EqWith.impl.Equal.3b50c9.1, @Cpp.long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.f7c: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.c7b, %EqWith.facet.f85 [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.18e5a1.1: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.92f9dd.2, @Cpp.long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.18e5a1.2: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.92f9dd.1, @Cpp.long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.d99: = impl_witness imports.%OrderedWith.impl_witness_table.afd, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.e8e281.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.e47846.1: %Cpp.long.as.OrderedWith.impl.Less.type.e8e281.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.07caf1.1: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1d76f6.1: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.07caf1.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.803079.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.2, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.f69e67.1: %Cpp.long.as.OrderedWith.impl.Greater.type.803079.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.6a2e90.1: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.6badd7.1: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.6a2e90.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.e8e281.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.1, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.e47846.2: %Cpp.long.as.OrderedWith.impl.Less.type.e8e281.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.07caf1.2: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1d76f6.2: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.07caf1.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.803079.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.1, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.f69e67.2: %Cpp.long.as.OrderedWith.impl.Greater.type.803079.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.6a2e90.2: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.6badd7.2: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.6a2e90.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.908: %OrderedWith.type.975 = facet_value %Cpp.long, (%OrderedWith.impl_witness.d99) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.c5e: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.908) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.735: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.908) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.e87: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.908) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.951: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.908) [concrete] -// CHECK:STDOUT: %.7b2: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.e87, %OrderedWith.facet.908 [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.28a30d.1: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.f69e67.2, @Cpp.long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.28a30d.2: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.f69e67.1, @Cpp.long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.831: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.c5e, %OrderedWith.facet.908 [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.837d2f.1: = specific_function %Cpp.long.as.OrderedWith.impl.Less.e47846.2, @Cpp.long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.837d2f.2: = specific_function %Cpp.long.as.OrderedWith.impl.Less.e47846.1, @Cpp.long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.9b8: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.951, %OrderedWith.facet.908 [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.caf66c.1: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.6badd7.2, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.caf66c.2: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.6badd7.1, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.1b8: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.735, %OrderedWith.facet.908 [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.cd0cbc.1: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1d76f6.2, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.cd0cbc.2: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1d76f6.1, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.210) [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.33b: = impl_witness imports.%OrderedWith.impl_witness_table.611, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.4623c2.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.8, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.a0b825.1: %T.as_type.as.OrderedWith.impl.Less.type.4623c2.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.0724c3.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.8, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.7f2178.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.0724c3.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.6ce44a.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.8, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bc951b.1: %T.as_type.as.OrderedWith.impl.Greater.type.6ce44a.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e00828.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.9ecc78.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e00828.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.4623c2.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.7, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.a0b825.2: %T.as_type.as.OrderedWith.impl.Less.type.4623c2.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.0724c3.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.7, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.7f2178.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.0724c3.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.6ce44a.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.7, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bc951b.2: %T.as_type.as.OrderedWith.impl.Greater.type.6ce44a.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e00828.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7, @T.as_type.as.OrderedWith.impl.7a0(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.9ecc78.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e00828.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.8d5: %OrderedWith.type.af1 = facet_value %Cpp.long, (%OrderedWith.impl_witness.33b) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.ddd: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.8d5) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.6ca: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.8d5) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.1ad: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.8d5) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.c83: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.8d5) [concrete] +// CHECK:STDOUT: %.2b1: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.1ad, %OrderedWith.facet.8d5 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.34cb46.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.bc951b.2, @T.as_type.as.OrderedWith.impl.Greater.7(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.34cb46.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.bc951b.1, @T.as_type.as.OrderedWith.impl.Greater.8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.ecf: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.ddd, %OrderedWith.facet.8d5 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.1a2875.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.a0b825.2, @T.as_type.as.OrderedWith.impl.Less.7(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.1a2875.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.a0b825.1, @T.as_type.as.OrderedWith.impl.Less.8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.ba4: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.c83, %OrderedWith.facet.8d5 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8a0b54.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.9ecc78.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8a0b54.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.9ecc78.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.5a2: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.6ca, %OrderedWith.facet.8d5 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.f2c6c3.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.7f2178.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.7(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.f2c6c3.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.7f2178.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.325: = impl_witness imports.%EqWith.impl_witness_table.999, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.b2352a.1: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.781868.1: %Cpp.long.as.EqWith.impl.Equal.type.b2352a.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.e86037.1: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.2, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.044138.1: %Cpp.long.as.EqWith.impl.NotEqual.type.e86037.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.b2352a.2: type = fn_type @Cpp.long.as.EqWith.impl.Equal.1, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.781868.2: %Cpp.long.as.EqWith.impl.Equal.type.b2352a.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.e86037.2: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.1, @Cpp.long.as.EqWith.impl.e2d(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.044138.2: %Cpp.long.as.EqWith.impl.NotEqual.type.e86037.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.613: %EqWith.type.aee = facet_value %Cpp.long, (%EqWith.impl_witness.325) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.b35: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.613) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.855: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.613) [concrete] +// CHECK:STDOUT: %.77e: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.b35, %EqWith.facet.613 [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.49298f.1: = specific_function %Cpp.long.as.EqWith.impl.Equal.781868.2, @Cpp.long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.49298f.2: = specific_function %Cpp.long.as.EqWith.impl.Equal.781868.1, @Cpp.long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.c25: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.855, %EqWith.facet.613 [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.5594f5.1: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.044138.2, @Cpp.long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.5594f5.2: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.044138.1, @Cpp.long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.f8a: = impl_witness imports.%OrderedWith.impl_witness_table.8db, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.18f643.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.95dc3a.1: %Cpp.long.as.OrderedWith.impl.Less.type.18f643.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3f6f6d.1: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1384c0.1: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3f6f6d.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.41c64a.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.2, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.a84228.1: %Cpp.long.as.OrderedWith.impl.Greater.type.41c64a.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.985513.1: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.82f8f7.1: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.985513.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.18f643.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.1, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.95dc3a.2: %Cpp.long.as.OrderedWith.impl.Less.type.18f643.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3f6f6d.2: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1384c0.2: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3f6f6d.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.41c64a.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.1, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.a84228.2: %Cpp.long.as.OrderedWith.impl.Greater.type.41c64a.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.985513.2: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.d2f(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.82f8f7.2: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.985513.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.1e8: %OrderedWith.type.975 = facet_value %Cpp.long, (%OrderedWith.impl_witness.f8a) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.6d3: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.1e8) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.b0c: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.1e8) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.4c8: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.1e8) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.e73: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.1e8) [concrete] +// CHECK:STDOUT: %.688: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.4c8, %OrderedWith.facet.1e8 [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.3b735e.1: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.a84228.2, @Cpp.long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.3b735e.2: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.a84228.1, @Cpp.long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.f54: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.6d3, %OrderedWith.facet.1e8 [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.3eadcf.1: = specific_function %Cpp.long.as.OrderedWith.impl.Less.95dc3a.2, @Cpp.long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.3eadcf.2: = specific_function %Cpp.long.as.OrderedWith.impl.Less.95dc3a.1, @Cpp.long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.a87: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.e73, %OrderedWith.facet.1e8 [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.0cf43e.1: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.82f8f7.2, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.0cf43e.2: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.82f8f7.1, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.903: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.b0c, %OrderedWith.facet.1e8 [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.2ca634.1: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1384c0.2, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.2ca634.2: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1384c0.1, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.b83) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1686,33 +1686,33 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] -// CHECK:STDOUT: %Core.import_ref.1af: @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.Equal.type.2 (%Cpp.long.as.EqWith.impl.Equal.type.6a18eb.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.Equal.2 (constants.%Cpp.long.as.EqWith.impl.Equal.ee5c37.1)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %Core.import_ref.1afe: @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.Equal.type.2 (%Cpp.long.as.EqWith.impl.Equal.type.6a18eb.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.Equal.2 (constants.%Cpp.long.as.EqWith.impl.Equal.ee5c37.1)] // CHECK:STDOUT: %Core.import_ref.5b6: @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.NotEqual.type.2 (%Cpp.long.as.EqWith.impl.NotEqual.type.477445.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.NotEqual.2 (constants.%Cpp.long.as.EqWith.impl.NotEqual.367ca8.1)] -// CHECK:STDOUT: %EqWith.impl_witness_table.dd7 = impl_witness_table (%Core.import_ref.1af, %Core.import_ref.5b6), @Cpp.long.as.EqWith.impl.e2d [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table.999 = impl_witness_table (%Core.import_ref.1afe, %Core.import_ref.5b6), @Cpp.long.as.EqWith.impl.e2d [concrete] // CHECK:STDOUT: %Core.Equal.94f: @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.Equal.type.1 (%Cpp.long.as.EqWith.impl.Equal.type.6a18eb.2) = import_ref Core//prelude/types/cpp/int, Equal, loaded [symbolic = @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.Equal.1 (constants.%Cpp.long.as.EqWith.impl.Equal.ee5c37.2)] // CHECK:STDOUT: %Core.NotEqual.3eb: @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.NotEqual.type.1 (%Cpp.long.as.EqWith.impl.NotEqual.type.477445.2) = import_ref Core//prelude/types/cpp/int, NotEqual, loaded [symbolic = @Cpp.long.as.EqWith.impl.e2d.%Cpp.long.as.EqWith.impl.NotEqual.1 (constants.%Cpp.long.as.EqWith.impl.NotEqual.367ca8.2)] // CHECK:STDOUT: %Core.import_ref.a9a: @T.as_type.as.EqWith.impl.956.%T.as_type.as.EqWith.impl.Equal.type.2 (%T.as_type.as.EqWith.impl.Equal.type.8af025.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.EqWith.impl.956.%T.as_type.as.EqWith.impl.Equal.2 (constants.%T.as_type.as.EqWith.impl.Equal.c477d6.1)] // CHECK:STDOUT: %Core.import_ref.76a: @T.as_type.as.EqWith.impl.956.%T.as_type.as.EqWith.impl.NotEqual.type.2 (%T.as_type.as.EqWith.impl.NotEqual.type.6de1da.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.EqWith.impl.956.%T.as_type.as.EqWith.impl.NotEqual.2 (constants.%T.as_type.as.EqWith.impl.NotEqual.501deb.1)] -// CHECK:STDOUT: %EqWith.impl_witness_table.561 = impl_witness_table (%Core.import_ref.a9a, %Core.import_ref.76a), @T.as_type.as.EqWith.impl.956 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table.532 = impl_witness_table (%Core.import_ref.a9a, %Core.import_ref.76a), @T.as_type.as.EqWith.impl.956 [concrete] // CHECK:STDOUT: %Core.Equal.970: @T.as_type.as.EqWith.impl.956.%T.as_type.as.EqWith.impl.Equal.type.1 (%T.as_type.as.EqWith.impl.Equal.type.8af025.2) = import_ref Core//prelude/types/int, Equal, loaded [symbolic = @T.as_type.as.EqWith.impl.956.%T.as_type.as.EqWith.impl.Equal.1 (constants.%T.as_type.as.EqWith.impl.Equal.c477d6.2)] // CHECK:STDOUT: %Core.NotEqual.228: @T.as_type.as.EqWith.impl.956.%T.as_type.as.EqWith.impl.NotEqual.type.1 (%T.as_type.as.EqWith.impl.NotEqual.type.6de1da.2) = import_ref Core//prelude/types/int, NotEqual, loaded [symbolic = @T.as_type.as.EqWith.impl.956.%T.as_type.as.EqWith.impl.NotEqual.1 (constants.%T.as_type.as.EqWith.impl.NotEqual.501deb.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %Cpp.long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a3a = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.00c = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] // CHECK:STDOUT: %Core.import_ref.49e: @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Less.type.2 (%Cpp.long.as.OrderedWith.impl.Less.type.431fd2.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Less.2 (constants.%Cpp.long.as.OrderedWith.impl.Less.458c1e.1)] // CHECK:STDOUT: %Core.import_ref.5ef: @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.2 (%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.085d31.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0f4c92.1)] -// CHECK:STDOUT: %Core.import_ref.3459: @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Greater.type.2 (%Cpp.long.as.OrderedWith.impl.Greater.type.d7e2b0.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Greater.2 (constants.%Cpp.long.as.OrderedWith.impl.Greater.029602.1)] +// CHECK:STDOUT: %Core.import_ref.345: @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Greater.type.2 (%Cpp.long.as.OrderedWith.impl.Greater.type.d7e2b0.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Greater.2 (constants.%Cpp.long.as.OrderedWith.impl.Greater.029602.1)] // CHECK:STDOUT: %Core.import_ref.ccd: @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.2 (%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.4dd52d.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2 (constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.8ca727.1)] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.afd = impl_witness_table (%Core.import_ref.49e, %Core.import_ref.5ef, %Core.import_ref.3459, %Core.import_ref.ccd), @Cpp.long.as.OrderedWith.impl.d2f [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.8db = impl_witness_table (%Core.import_ref.49e, %Core.import_ref.5ef, %Core.import_ref.345, %Core.import_ref.ccd), @Cpp.long.as.OrderedWith.impl.d2f [concrete] // CHECK:STDOUT: %Core.Less.890: @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Less.type.1 (%Cpp.long.as.OrderedWith.impl.Less.type.431fd2.2) = import_ref Core//prelude/types/cpp/int, Less, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Less.1 (constants.%Cpp.long.as.OrderedWith.impl.Less.458c1e.2)] // CHECK:STDOUT: %Core.LessOrEquivalent.a1b: @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.1 (%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.085d31.2) = import_ref Core//prelude/types/cpp/int, LessOrEquivalent, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1 (constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0f4c92.2)] // CHECK:STDOUT: %Core.Greater.bd4: @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Greater.type.1 (%Cpp.long.as.OrderedWith.impl.Greater.type.d7e2b0.2) = import_ref Core//prelude/types/cpp/int, Greater, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.Greater.1 (constants.%Cpp.long.as.OrderedWith.impl.Greater.029602.2)] // CHECK:STDOUT: %Core.GreaterOrEquivalent.829: @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.1 (%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.4dd52d.2) = import_ref Core//prelude/types/cpp/int, GreaterOrEquivalent, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.d2f.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1 (constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.8ca727.2)] -// CHECK:STDOUT: %Core.import_ref.b96: @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Less.type.2 (%T.as_type.as.OrderedWith.impl.Less.type.354913.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Less.2 (constants.%T.as_type.as.OrderedWith.impl.Less.0ec126.1)] +// CHECK:STDOUT: %Core.import_ref.b967: @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Less.type.2 (%T.as_type.as.OrderedWith.impl.Less.type.354913.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Less.2 (constants.%T.as_type.as.OrderedWith.impl.Less.0ec126.1)] // CHECK:STDOUT: %Core.import_ref.870: @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.9b3e8c.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.b513da.1)] // CHECK:STDOUT: %Core.import_ref.879: @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Greater.type.2 (%T.as_type.as.OrderedWith.impl.Greater.type.341bcf.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Greater.2 (constants.%T.as_type.as.OrderedWith.impl.Greater.249060.1)] // CHECK:STDOUT: %Core.import_ref.9a7: @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e45fd7.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.772097.1)] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.13e = impl_witness_table (%Core.import_ref.b96, %Core.import_ref.870, %Core.import_ref.879, %Core.import_ref.9a7), @T.as_type.as.OrderedWith.impl.7a0 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.611 = impl_witness_table (%Core.import_ref.b967, %Core.import_ref.870, %Core.import_ref.879, %Core.import_ref.9a7), @T.as_type.as.OrderedWith.impl.7a0 [concrete] // CHECK:STDOUT: %Core.Less.ccb: @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Less.type.1 (%T.as_type.as.OrderedWith.impl.Less.type.354913.2) = import_ref Core//prelude/types/int, Less, loaded [symbolic = @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Less.1 (constants.%T.as_type.as.OrderedWith.impl.Less.0ec126.2)] // CHECK:STDOUT: %Core.LessOrEquivalent.cbb: @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1 (%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.9b3e8c.2) = import_ref Core//prelude/types/int, LessOrEquivalent, loaded [symbolic = @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.1 (constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.b513da.2)] // CHECK:STDOUT: %Core.Greater.a52: @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Greater.type.1 (%T.as_type.as.OrderedWith.impl.Greater.type.341bcf.2) = import_ref Core//prelude/types/int, Greater, loaded [symbolic = @T.as_type.as.OrderedWith.impl.7a0.%T.as_type.as.OrderedWith.impl.Greater.1 (constants.%T.as_type.as.OrderedWith.impl.Greater.249060.2)] @@ -1723,7 +1723,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc9_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.33f] @@ -1738,16 +1738,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc10: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc10: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10_5: %.da9 = impl_witness_access constants.%EqWith.impl_witness.53b, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.c936a0.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.1a9 = impl_witness_access constants.%EqWith.impl_witness.7f6, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.fe430d.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %a.ref.loc10, %impl.elem0.loc10_5 -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @T.as_type.as.EqWith.impl.Equal.7(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.cba536.1] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @T.as_type.as.EqWith.impl.Equal.7(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.d11d38.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %a.ref.loc10, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5: %T.as_type.as.EqWith.impl.Equal.type.9269d3.1 = specific_constant imports.%Core.Equal.970, @T.as_type.as.EqWith.impl.956(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.c936a0.1] -// CHECK:STDOUT: %Equal.ref.loc10: %T.as_type.as.EqWith.impl.Equal.type.9269d3.1 = name_ref Equal, %.loc10_5 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.c936a0.1] +// CHECK:STDOUT: %.loc10_5: %T.as_type.as.EqWith.impl.Equal.type.95d2b6.1 = specific_constant imports.%Core.Equal.970, @T.as_type.as.EqWith.impl.956(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.fe430d.1] +// CHECK:STDOUT: %Equal.ref.loc10: %T.as_type.as.EqWith.impl.Equal.type.95d2b6.1 = name_ref Equal, %.loc10_5 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.fe430d.1] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound: = bound_method %a.ref.loc10, %Equal.ref.loc10 -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn: = specific_function %Equal.ref.loc10, @T.as_type.as.EqWith.impl.Equal.8(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.cba536.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn: = specific_function %Equal.ref.loc10, @T.as_type.as.EqWith.impl.Equal.8(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.d11d38.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %a.ref.loc10, %T.as_type.as.EqWith.impl.Equal.specific_fn -// CHECK:STDOUT: %impl.elem0.loc10_3: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_3: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_3: = bound_method %a.ref.loc10, %impl.elem0.loc10_3 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc10: init %i64 = call %bound_method.loc10_3(%a.ref.loc10) // CHECK:STDOUT: %.loc10_3.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc10 @@ -1755,16 +1755,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.call: init bool = call %bound_method.loc10_5.3(%.loc10_3.2, %b.ref.loc10) // CHECK:STDOUT: %a.ref.loc11: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc11: %.b06 = impl_witness_access constants.%EqWith.impl_witness.53b, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.44eea9.2] +// CHECK:STDOUT: %impl.elem1.loc11: %.572 = impl_witness_access constants.%EqWith.impl_witness.7f6, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.153fea.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %a.ref.loc11, %impl.elem1.loc11 -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @T.as_type.as.EqWith.impl.NotEqual.7(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.228325.1] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @T.as_type.as.EqWith.impl.NotEqual.7(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.d36720.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %a.ref.loc11, %specific_fn.loc11 -// CHECK:STDOUT: %.loc11_5: %T.as_type.as.EqWith.impl.NotEqual.type.8585e2.1 = specific_constant imports.%Core.NotEqual.228, @T.as_type.as.EqWith.impl.956(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.44eea9.1] -// CHECK:STDOUT: %NotEqual.ref.loc11: %T.as_type.as.EqWith.impl.NotEqual.type.8585e2.1 = name_ref NotEqual, %.loc11_5 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.44eea9.1] +// CHECK:STDOUT: %.loc11_5: %T.as_type.as.EqWith.impl.NotEqual.type.b86dbe.1 = specific_constant imports.%Core.NotEqual.228, @T.as_type.as.EqWith.impl.956(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.153fea.1] +// CHECK:STDOUT: %NotEqual.ref.loc11: %T.as_type.as.EqWith.impl.NotEqual.type.b86dbe.1 = name_ref NotEqual, %.loc11_5 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.153fea.1] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound: = bound_method %a.ref.loc11, %NotEqual.ref.loc11 -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn: = specific_function %NotEqual.ref.loc11, @T.as_type.as.EqWith.impl.NotEqual.8(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.228325.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn: = specific_function %NotEqual.ref.loc11, @T.as_type.as.EqWith.impl.NotEqual.8(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.d36720.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %a.ref.loc11, %T.as_type.as.EqWith.impl.NotEqual.specific_fn -// CHECK:STDOUT: %impl.elem0.loc11: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_3: = bound_method %a.ref.loc11, %impl.elem0.loc11 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc11: init %i64 = call %bound_method.loc11_3(%a.ref.loc11) // CHECK:STDOUT: %.loc11_3.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc11 @@ -1772,16 +1772,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.call: init bool = call %bound_method.loc11_5.3(%.loc11_3.2, %b.ref.loc11) // CHECK:STDOUT: %a.ref.loc12: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem2.loc12: %.ffd = impl_witness_access constants.%OrderedWith.impl_witness.ee7, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.017256.2] +// CHECK:STDOUT: %impl.elem2.loc12: %.2b1 = impl_witness_access constants.%OrderedWith.impl_witness.33b, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bc951b.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %a.ref.loc12, %impl.elem2.loc12 -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @T.as_type.as.OrderedWith.impl.Greater.7(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.17599d.1] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @T.as_type.as.OrderedWith.impl.Greater.7(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.34cb46.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %a.ref.loc12, %specific_fn.loc12 -// CHECK:STDOUT: %.loc12_5: %T.as_type.as.OrderedWith.impl.Greater.type.11de18.1 = specific_constant imports.%Core.Greater.a52, @T.as_type.as.OrderedWith.impl.7a0(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.017256.1] -// CHECK:STDOUT: %Greater.ref.loc12: %T.as_type.as.OrderedWith.impl.Greater.type.11de18.1 = name_ref Greater, %.loc12_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.017256.1] +// CHECK:STDOUT: %.loc12_5: %T.as_type.as.OrderedWith.impl.Greater.type.6ce44a.1 = specific_constant imports.%Core.Greater.a52, @T.as_type.as.OrderedWith.impl.7a0(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bc951b.1] +// CHECK:STDOUT: %Greater.ref.loc12: %T.as_type.as.OrderedWith.impl.Greater.type.6ce44a.1 = name_ref Greater, %.loc12_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bc951b.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound: = bound_method %a.ref.loc12, %Greater.ref.loc12 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn: = specific_function %Greater.ref.loc12, @T.as_type.as.OrderedWith.impl.Greater.8(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.17599d.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn: = specific_function %Greater.ref.loc12, @T.as_type.as.OrderedWith.impl.Greater.8(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.34cb46.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %a.ref.loc12, %T.as_type.as.OrderedWith.impl.Greater.specific_fn -// CHECK:STDOUT: %impl.elem0.loc12: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc12: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc12_3: = bound_method %a.ref.loc12, %impl.elem0.loc12 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc12: init %i64 = call %bound_method.loc12_3(%a.ref.loc12) // CHECK:STDOUT: %.loc12_3.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc12 @@ -1789,16 +1789,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.call: init bool = call %bound_method.loc12_5.3(%.loc12_3.2, %b.ref.loc12) // CHECK:STDOUT: %a.ref.loc13: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13_5: %.da4 = impl_witness_access constants.%OrderedWith.impl_witness.ee7, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.8f6b78.2] +// CHECK:STDOUT: %impl.elem0.loc13_5: %.ecf = impl_witness_access constants.%OrderedWith.impl_witness.33b, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.a0b825.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %a.ref.loc13, %impl.elem0.loc13_5 -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @T.as_type.as.OrderedWith.impl.Less.7(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.b43576.1] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @T.as_type.as.OrderedWith.impl.Less.7(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.1a2875.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %a.ref.loc13, %specific_fn.loc13 -// CHECK:STDOUT: %.loc13_5: %T.as_type.as.OrderedWith.impl.Less.type.de033b.1 = specific_constant imports.%Core.Less.ccb, @T.as_type.as.OrderedWith.impl.7a0(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.8f6b78.1] -// CHECK:STDOUT: %Less.ref.loc13: %T.as_type.as.OrderedWith.impl.Less.type.de033b.1 = name_ref Less, %.loc13_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.8f6b78.1] +// CHECK:STDOUT: %.loc13_5: %T.as_type.as.OrderedWith.impl.Less.type.4623c2.1 = specific_constant imports.%Core.Less.ccb, @T.as_type.as.OrderedWith.impl.7a0(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.a0b825.1] +// CHECK:STDOUT: %Less.ref.loc13: %T.as_type.as.OrderedWith.impl.Less.type.4623c2.1 = name_ref Less, %.loc13_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.a0b825.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound: = bound_method %a.ref.loc13, %Less.ref.loc13 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn: = specific_function %Less.ref.loc13, @T.as_type.as.OrderedWith.impl.Less.8(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.b43576.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn: = specific_function %Less.ref.loc13, @T.as_type.as.OrderedWith.impl.Less.8(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.1a2875.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %a.ref.loc13, %T.as_type.as.OrderedWith.impl.Less.specific_fn -// CHECK:STDOUT: %impl.elem0.loc13_3: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc13_3: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc13_3: = bound_method %a.ref.loc13, %impl.elem0.loc13_3 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc13: init %i64 = call %bound_method.loc13_3(%a.ref.loc13) // CHECK:STDOUT: %.loc13_3.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc13 @@ -1806,16 +1806,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.call: init bool = call %bound_method.loc13_5.3(%.loc13_3.2, %b.ref.loc13) // CHECK:STDOUT: %a.ref.loc14: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem3.loc14: %.496 = impl_witness_access constants.%OrderedWith.impl_witness.ee7, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6f44e0.2] +// CHECK:STDOUT: %impl.elem3.loc14: %.ba4 = impl_witness_access constants.%OrderedWith.impl_witness.33b, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.9ecc78.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %a.ref.loc14, %impl.elem3.loc14 -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.0e8d3e.1] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8a0b54.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %a.ref.loc14, %specific_fn.loc14 -// CHECK:STDOUT: %.loc14_5: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1eda94.1 = specific_constant imports.%Core.GreaterOrEquivalent.a3d, @T.as_type.as.OrderedWith.impl.7a0(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6f44e0.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1eda94.1 = name_ref GreaterOrEquivalent, %.loc14_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6f44e0.1] +// CHECK:STDOUT: %.loc14_5: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e00828.1 = specific_constant imports.%Core.GreaterOrEquivalent.a3d, @T.as_type.as.OrderedWith.impl.7a0(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.9ecc78.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e00828.1 = name_ref GreaterOrEquivalent, %.loc14_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.9ecc78.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound: = bound_method %a.ref.loc14, %GreaterOrEquivalent.ref.loc14 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn: = specific_function %GreaterOrEquivalent.ref.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.0e8d3e.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn: = specific_function %GreaterOrEquivalent.ref.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8a0b54.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %a.ref.loc14, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn -// CHECK:STDOUT: %impl.elem0.loc14: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc14: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc14_3: = bound_method %a.ref.loc14, %impl.elem0.loc14 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc14: init %i64 = call %bound_method.loc14_3(%a.ref.loc14) // CHECK:STDOUT: %.loc14_3.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc14 @@ -1823,16 +1823,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.call: init bool = call %bound_method.loc14_5.3(%.loc14_3.2, %b.ref.loc14) // CHECK:STDOUT: %a.ref.loc15: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc15: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc15: %.fcb = impl_witness_access constants.%OrderedWith.impl_witness.ee7, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.d36d70.2] +// CHECK:STDOUT: %impl.elem1.loc15: %.5a2 = impl_witness_access constants.%OrderedWith.impl_witness.33b, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.7f2178.2] // CHECK:STDOUT: %bound_method.loc15_5.1: = bound_method %a.ref.loc15, %impl.elem1.loc15 -// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.7(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.30cbb1.1] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.7(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.f2c6c3.1] // CHECK:STDOUT: %bound_method.loc15_5.2: = bound_method %a.ref.loc15, %specific_fn.loc15 -// CHECK:STDOUT: %.loc15_5: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.75d39c.1 = specific_constant imports.%Core.LessOrEquivalent.cbb, @T.as_type.as.OrderedWith.impl.7a0(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.d36d70.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.75d39c.1 = name_ref LessOrEquivalent, %.loc15_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.d36d70.1] +// CHECK:STDOUT: %.loc15_5: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.0724c3.1 = specific_constant imports.%Core.LessOrEquivalent.cbb, @T.as_type.as.OrderedWith.impl.7a0(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.7f2178.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.0724c3.1 = name_ref LessOrEquivalent, %.loc15_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.7f2178.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound: = bound_method %a.ref.loc15, %LessOrEquivalent.ref.loc15 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn: = specific_function %LessOrEquivalent.ref.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.8(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.30cbb1.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn: = specific_function %LessOrEquivalent.ref.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.8(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.f2c6c3.2] // CHECK:STDOUT: %bound_method.loc15_5.3: = bound_method %a.ref.loc15, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn -// CHECK:STDOUT: %impl.elem0.loc15: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc15: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc15_3: = bound_method %a.ref.loc15, %impl.elem0.loc15 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc15: init %i64 = call %bound_method.loc15_3(%a.ref.loc15) // CHECK:STDOUT: %.loc15_3.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc15 @@ -1840,20 +1840,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.call: init bool = call %bound_method.loc15_5.3(%.loc15_3.2, %b.ref.loc15) // CHECK:STDOUT: %a.ref.loc17: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc17_5: %.fe7 = impl_witness_access constants.%EqWith.impl_witness.dcc, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.3b50c9.2] +// CHECK:STDOUT: %impl.elem0.loc17_5: %.77e = impl_witness_access constants.%EqWith.impl_witness.325, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.781868.2] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %a.ref.loc17, %impl.elem0.loc17_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.f7b79e.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.49298f.1] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %a.ref.loc17, %specific_fn.loc17 -// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.EqWith.impl.Equal.type.76e71d.1 = specific_constant imports.%Core.Equal.94f, @Cpp.long.as.EqWith.impl.e2d(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.3b50c9.1] -// CHECK:STDOUT: %Equal.ref.loc17: %Cpp.long.as.EqWith.impl.Equal.type.76e71d.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.3b50c9.1] +// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.EqWith.impl.Equal.type.b2352a.1 = specific_constant imports.%Core.Equal.94f, @Cpp.long.as.EqWith.impl.e2d(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.781868.1] +// CHECK:STDOUT: %Equal.ref.loc17: %Cpp.long.as.EqWith.impl.Equal.type.b2352a.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.781868.1] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.bound: = bound_method %a.ref.loc17, %Equal.ref.loc17 -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn: = specific_function %Equal.ref.loc17, @Cpp.long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.f7b79e.2] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn: = specific_function %Equal.ref.loc17, @Cpp.long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.49298f.2] // CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %a.ref.loc17, %Cpp.long.as.EqWith.impl.Equal.specific_fn -// CHECK:STDOUT: %impl.elem0.loc17_8: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc17_8: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc17_8: = bound_method %int_1.loc17, %impl.elem0.loc17_8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17: init %Cpp.long = call %bound_method.loc17_8(%int_1.loc17) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc17_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_1.33f] @@ -1861,20 +1861,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.call: init bool = call %bound_method.loc17_5.3(%a.ref.loc17, %.loc17_8.2) // CHECK:STDOUT: %a.ref.loc18: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem1.loc18: %.f7c = impl_witness_access constants.%EqWith.impl_witness.dcc, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.92f9dd.2] +// CHECK:STDOUT: %impl.elem1.loc18: %.c25 = impl_witness_access constants.%EqWith.impl_witness.325, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.044138.2] // CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %a.ref.loc18, %impl.elem1.loc18 -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @Cpp.long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.18e5a1.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @Cpp.long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.5594f5.1] // CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %a.ref.loc18, %specific_fn.loc18 -// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.EqWith.impl.NotEqual.type.9fc84a.1 = specific_constant imports.%Core.NotEqual.3eb, @Cpp.long.as.EqWith.impl.e2d(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.92f9dd.1] -// CHECK:STDOUT: %NotEqual.ref.loc18: %Cpp.long.as.EqWith.impl.NotEqual.type.9fc84a.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.92f9dd.1] +// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.EqWith.impl.NotEqual.type.e86037.1 = specific_constant imports.%Core.NotEqual.3eb, @Cpp.long.as.EqWith.impl.e2d(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.044138.1] +// CHECK:STDOUT: %NotEqual.ref.loc18: %Cpp.long.as.EqWith.impl.NotEqual.type.e86037.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.044138.1] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.bound: = bound_method %a.ref.loc18, %NotEqual.ref.loc18 -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn: = specific_function %NotEqual.ref.loc18, @Cpp.long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.18e5a1.2] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn: = specific_function %NotEqual.ref.loc18, @Cpp.long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.5594f5.2] // CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %a.ref.loc18, %Cpp.long.as.EqWith.impl.NotEqual.specific_fn -// CHECK:STDOUT: %impl.elem0.loc18: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc18: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc18_8: = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long = call %bound_method.loc18_8(%int_1.loc18) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc18_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_1.33f] @@ -1882,20 +1882,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.call: init bool = call %bound_method.loc18_5.3(%a.ref.loc18, %.loc18_8.2) // CHECK:STDOUT: %a.ref.loc19: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem2.loc19: %.7b2 = impl_witness_access constants.%OrderedWith.impl_witness.d99, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.f69e67.2] +// CHECK:STDOUT: %impl.elem2.loc19: %.688 = impl_witness_access constants.%OrderedWith.impl_witness.f8a, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.a84228.2] // CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %a.ref.loc19, %impl.elem2.loc19 -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @Cpp.long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.28a30d.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @Cpp.long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.3b735e.1] // CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %a.ref.loc19, %specific_fn.loc19 -// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.OrderedWith.impl.Greater.type.803079.1 = specific_constant imports.%Core.Greater.bd4, @Cpp.long.as.OrderedWith.impl.d2f(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.f69e67.1] -// CHECK:STDOUT: %Greater.ref.loc19: %Cpp.long.as.OrderedWith.impl.Greater.type.803079.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.f69e67.1] +// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.OrderedWith.impl.Greater.type.41c64a.1 = specific_constant imports.%Core.Greater.bd4, @Cpp.long.as.OrderedWith.impl.d2f(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.a84228.1] +// CHECK:STDOUT: %Greater.ref.loc19: %Cpp.long.as.OrderedWith.impl.Greater.type.41c64a.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.a84228.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.bound: = bound_method %a.ref.loc19, %Greater.ref.loc19 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn: = specific_function %Greater.ref.loc19, @Cpp.long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.28a30d.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn: = specific_function %Greater.ref.loc19, @Cpp.long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.3b735e.2] // CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %a.ref.loc19, %Cpp.long.as.OrderedWith.impl.Greater.specific_fn -// CHECK:STDOUT: %impl.elem0.loc19: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc19: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc19_7: = bound_method %int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19: init %Cpp.long = call %bound_method.loc19_7(%int_1.loc19) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc19_7.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19 [concrete = constants.%int_1.33f] @@ -1903,20 +1903,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.call: init bool = call %bound_method.loc19_5.3(%a.ref.loc19, %.loc19_7.2) // CHECK:STDOUT: %a.ref.loc20: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc20_5: %.831 = impl_witness_access constants.%OrderedWith.impl_witness.d99, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.e47846.2] +// CHECK:STDOUT: %impl.elem0.loc20_5: %.f54 = impl_witness_access constants.%OrderedWith.impl_witness.f8a, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.95dc3a.2] // CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %a.ref.loc20, %impl.elem0.loc20_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.837d2f.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.3eadcf.1] // CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %a.ref.loc20, %specific_fn.loc20 -// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.OrderedWith.impl.Less.type.e8e281.1 = specific_constant imports.%Core.Less.890, @Cpp.long.as.OrderedWith.impl.d2f(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.e47846.1] -// CHECK:STDOUT: %Less.ref.loc20: %Cpp.long.as.OrderedWith.impl.Less.type.e8e281.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.e47846.1] +// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.OrderedWith.impl.Less.type.18f643.1 = specific_constant imports.%Core.Less.890, @Cpp.long.as.OrderedWith.impl.d2f(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.95dc3a.1] +// CHECK:STDOUT: %Less.ref.loc20: %Cpp.long.as.OrderedWith.impl.Less.type.18f643.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.95dc3a.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.bound: = bound_method %a.ref.loc20, %Less.ref.loc20 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn: = specific_function %Less.ref.loc20, @Cpp.long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.837d2f.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn: = specific_function %Less.ref.loc20, @Cpp.long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.3eadcf.2] // CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %a.ref.loc20, %Cpp.long.as.OrderedWith.impl.Less.specific_fn -// CHECK:STDOUT: %impl.elem0.loc20_7: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc20_7: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc20_7: = bound_method %int_1.loc20, %impl.elem0.loc20_7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20: init %Cpp.long = call %bound_method.loc20_7(%int_1.loc20) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc20_7.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_1.33f] @@ -1924,20 +1924,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.call: init bool = call %bound_method.loc20_5.3(%a.ref.loc20, %.loc20_7.2) // CHECK:STDOUT: %a.ref.loc21: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem3.loc21: %.9b8 = impl_witness_access constants.%OrderedWith.impl_witness.d99, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.6badd7.2] +// CHECK:STDOUT: %impl.elem3.loc21: %.a87 = impl_witness_access constants.%OrderedWith.impl_witness.f8a, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.82f8f7.2] // CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %a.ref.loc21, %impl.elem3.loc21 -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.caf66c.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.0cf43e.1] // CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %a.ref.loc21, %specific_fn.loc21 -// CHECK:STDOUT: %.loc21_5.3: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.6a2e90.1 = specific_constant imports.%Core.GreaterOrEquivalent.829, @Cpp.long.as.OrderedWith.impl.d2f(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.6badd7.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.6a2e90.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.6badd7.1] +// CHECK:STDOUT: %.loc21_5.3: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.985513.1 = specific_constant imports.%Core.GreaterOrEquivalent.829, @Cpp.long.as.OrderedWith.impl.d2f(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.82f8f7.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.985513.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.82f8f7.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.bound: = bound_method %a.ref.loc21, %GreaterOrEquivalent.ref.loc21 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn: = specific_function %GreaterOrEquivalent.ref.loc21, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.caf66c.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn: = specific_function %GreaterOrEquivalent.ref.loc21, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.0cf43e.2] // CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %a.ref.loc21, %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn -// CHECK:STDOUT: %impl.elem0.loc21: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc21: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc21_8: = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21: init %Cpp.long = call %bound_method.loc21_8(%int_1.loc21) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc21_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21 [concrete = constants.%int_1.33f] @@ -1945,20 +1945,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.call: init bool = call %bound_method.loc21_5.3(%a.ref.loc21, %.loc21_8.2) // CHECK:STDOUT: %a.ref.loc22: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem1.loc22: %.1b8 = impl_witness_access constants.%OrderedWith.impl_witness.d99, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1d76f6.2] +// CHECK:STDOUT: %impl.elem1.loc22: %.903 = impl_witness_access constants.%OrderedWith.impl_witness.f8a, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1384c0.2] // CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %a.ref.loc22, %impl.elem1.loc22 -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.cd0cbc.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.2ca634.1] // CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %a.ref.loc22, %specific_fn.loc22 -// CHECK:STDOUT: %.loc22_5.3: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.07caf1.1 = specific_constant imports.%Core.LessOrEquivalent.a1b, @Cpp.long.as.OrderedWith.impl.d2f(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1d76f6.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.07caf1.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1d76f6.1] +// CHECK:STDOUT: %.loc22_5.3: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3f6f6d.1 = specific_constant imports.%Core.LessOrEquivalent.a1b, @Cpp.long.as.OrderedWith.impl.d2f(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1384c0.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3f6f6d.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1384c0.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.bound: = bound_method %a.ref.loc22, %LessOrEquivalent.ref.loc22 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn: = specific_function %LessOrEquivalent.ref.loc22, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.210) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.cd0cbc.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn: = specific_function %LessOrEquivalent.ref.loc22, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.b83) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.2ca634.2] // CHECK:STDOUT: %bound_method.loc22_5.3: = bound_method %a.ref.loc22, %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn -// CHECK:STDOUT: %impl.elem0.loc22: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc22: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc22_8: = bound_method %int_1.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22: init %Cpp.long = call %bound_method.loc22_8(%int_1.loc22) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc22_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22 [concrete = constants.%int_1.33f] @@ -1980,10 +1980,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %pattern_type.ada: type = pattern_type %Cpp.long [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.ada = value_binding_pattern a [concrete] // CHECK:STDOUT: %ImplicitAs.type.340: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.210: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet.210 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b83: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet.b83 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -2008,30 +2008,30 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.c6c584.2: %Int.as.EqWith.impl.NotEqual.type.97ec42.2 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.EqWith.impl.Equal.type.c9381b.2: type = fn_type @Int.as.EqWith.impl.Equal.3, @Int.as.EqWith.impl.2b8(%N, %T.4e6) [symbolic] // CHECK:STDOUT: %Int.as.EqWith.impl.Equal.a4cb34.2: %Int.as.EqWith.impl.Equal.type.c9381b.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table.a3a [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.c71: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.c6b: = impl_witness imports.%EqWith.impl_witness_table.d4a, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.type.5ee80b.1: type = fn_type @Int.as.EqWith.impl.Equal.3, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.6fef86.1: %Int.as.EqWith.impl.Equal.type.5ee80b.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.type.3ca782.1: type = fn_type @Int.as.EqWith.impl.NotEqual.3, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.c74654.1: %Int.as.EqWith.impl.NotEqual.type.3ca782.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.type.5ee80b.2: type = fn_type @Int.as.EqWith.impl.Equal.2, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.6fef86.2: %Int.as.EqWith.impl.Equal.type.5ee80b.2 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.type.3ca782.2: type = fn_type @Int.as.EqWith.impl.NotEqual.2, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.c74654.2: %Int.as.EqWith.impl.NotEqual.type.3ca782.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.685: %EqWith.type.3ed = facet_value %i64, (%EqWith.impl_witness.c6b) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.83c: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.685) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.dc2: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.685) [concrete] -// CHECK:STDOUT: %.b68: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.83c, %EqWith.facet.685 [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.specific_fn.1d8cd8.1: = specific_function %Int.as.EqWith.impl.Equal.6fef86.2, @Int.as.EqWith.impl.Equal.2(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.specific_fn.1d8cd8.2: = specific_function %Int.as.EqWith.impl.Equal.6fef86.1, @Int.as.EqWith.impl.Equal.3(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.294: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.9e1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.294, %ImplicitAs.facet.c71 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.329: = impl_witness imports.%ImplicitAs.impl_witness_table.00c [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8fd: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.329) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.794: = impl_witness imports.%EqWith.impl_witness_table.399, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.type.68d8bb.1: type = fn_type @Int.as.EqWith.impl.Equal.3, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.a1e51d.1: %Int.as.EqWith.impl.Equal.type.68d8bb.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.type.95c6e8.1: type = fn_type @Int.as.EqWith.impl.NotEqual.3, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.8edbc0.1: %Int.as.EqWith.impl.NotEqual.type.95c6e8.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.type.68d8bb.2: type = fn_type @Int.as.EqWith.impl.Equal.2, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.a1e51d.2: %Int.as.EqWith.impl.Equal.type.68d8bb.2 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.type.95c6e8.2: type = fn_type @Int.as.EqWith.impl.NotEqual.2, @Int.as.EqWith.impl.2b8(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.8edbc0.2: %Int.as.EqWith.impl.NotEqual.type.95c6e8.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.60e: %EqWith.type.3ed = facet_value %i64, (%EqWith.impl_witness.794) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.ba0: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.60e) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.75d: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.60e) [concrete] +// CHECK:STDOUT: %.5cb: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.ba0, %EqWith.facet.60e [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.specific_fn.2bc4f6.1: = specific_function %Int.as.EqWith.impl.Equal.a1e51d.2, @Int.as.EqWith.impl.Equal.2(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.specific_fn.2bc4f6.2: = specific_function %Int.as.EqWith.impl.Equal.a1e51d.1, @Int.as.EqWith.impl.Equal.3(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d9b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.bf5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d9b, %ImplicitAs.facet.8fd [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert: %Cpp.long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %.864: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.dc2, %EqWith.facet.685 [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.specific_fn.f14bf7.1: = specific_function %Int.as.EqWith.impl.NotEqual.c74654.2, @Int.as.EqWith.impl.NotEqual.2(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.specific_fn.f14bf7.2: = specific_function %Int.as.EqWith.impl.NotEqual.c74654.1, @Int.as.EqWith.impl.NotEqual.3(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %.cfa: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.75d, %EqWith.facet.60e [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.specific_fn.d6dfe8.1: = specific_function %Int.as.EqWith.impl.NotEqual.8edbc0.2, @Int.as.EqWith.impl.NotEqual.2(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.specific_fn.d6dfe8.2: = specific_function %Int.as.EqWith.impl.NotEqual.8edbc0.1, @Int.as.EqWith.impl.NotEqual.3(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %OrderedWith.type.484: type = facet_type <@OrderedWith, @OrderedWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.985ed6.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.3, @T.as_type.as.OrderedWith.impl.4ed(%T.1ae) [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.17b48a.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.985ed6.1 = struct_value () [symbolic] @@ -2065,116 +2065,116 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.7bb73f.2: %Int.as.OrderedWith.impl.LessOrEquivalent.type.0ff510.2 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.6605e2.2: type = fn_type @Int.as.OrderedWith.impl.Less.3, @Int.as.OrderedWith.impl.f36(%N, %T.4e6) [symbolic] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.59643b.2: %Int.as.OrderedWith.impl.Less.type.6605e2.2 = struct_value () [symbolic] -// CHECK:STDOUT: %OrderedWith.impl_witness.a98: = impl_witness imports.%OrderedWith.impl_witness_table.b1a, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.7135f0.1: type = fn_type @Int.as.OrderedWith.impl.Less.3, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.1c6761.1: %Int.as.OrderedWith.impl.Less.type.7135f0.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.type.07dffd.1: type = fn_type @Int.as.OrderedWith.impl.LessOrEquivalent.3, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.621392.1: %Int.as.OrderedWith.impl.LessOrEquivalent.type.07dffd.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.type.d750f4.1: type = fn_type @Int.as.OrderedWith.impl.Greater.3, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.0ec18c.1: %Int.as.OrderedWith.impl.Greater.type.d750f4.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.5bb690.1: type = fn_type @Int.as.OrderedWith.impl.GreaterOrEquivalent.3, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.ca4fe3.1: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.5bb690.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.7135f0.2: type = fn_type @Int.as.OrderedWith.impl.Less.2, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.1c6761.2: %Int.as.OrderedWith.impl.Less.type.7135f0.2 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.type.07dffd.2: type = fn_type @Int.as.OrderedWith.impl.LessOrEquivalent.2, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.621392.2: %Int.as.OrderedWith.impl.LessOrEquivalent.type.07dffd.2 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.type.d750f4.2: type = fn_type @Int.as.OrderedWith.impl.Greater.2, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.0ec18c.2: %Int.as.OrderedWith.impl.Greater.type.d750f4.2 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.5bb690.2: type = fn_type @Int.as.OrderedWith.impl.GreaterOrEquivalent.2, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.ca4fe3.2: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.5bb690.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.c3a: %OrderedWith.type.484 = facet_value %i64, (%OrderedWith.impl_witness.a98) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.55f: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.c3a) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.d47: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.c3a) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.400: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.c3a) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.a77: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.c3a) [concrete] -// CHECK:STDOUT: %.c7f: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.400, %OrderedWith.facet.c3a [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.specific_fn.980c5e.1: = specific_function %Int.as.OrderedWith.impl.Greater.0ec18c.2, @Int.as.OrderedWith.impl.Greater.2(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.specific_fn.980c5e.2: = specific_function %Int.as.OrderedWith.impl.Greater.0ec18c.1, @Int.as.OrderedWith.impl.Greater.3(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.e4f: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.55f, %OrderedWith.facet.c3a [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.specific_fn.1c1cdd.1: = specific_function %Int.as.OrderedWith.impl.Less.1c6761.2, @Int.as.OrderedWith.impl.Less.2(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.specific_fn.1c1cdd.2: = specific_function %Int.as.OrderedWith.impl.Less.1c6761.1, @Int.as.OrderedWith.impl.Less.3(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.ce8f: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.a77, %OrderedWith.facet.c3a [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.2fed0f.1: = specific_function %Int.as.OrderedWith.impl.GreaterOrEquivalent.ca4fe3.2, @Int.as.OrderedWith.impl.GreaterOrEquivalent.2(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.2fed0f.2: = specific_function %Int.as.OrderedWith.impl.GreaterOrEquivalent.ca4fe3.1, @Int.as.OrderedWith.impl.GreaterOrEquivalent.3(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.2df: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.d47, %OrderedWith.facet.c3a [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3843b4.1: = specific_function %Int.as.OrderedWith.impl.LessOrEquivalent.621392.2, @Int.as.OrderedWith.impl.LessOrEquivalent.2(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3843b4.2: = specific_function %Int.as.OrderedWith.impl.LessOrEquivalent.621392.1, @Int.as.OrderedWith.impl.LessOrEquivalent.3(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.b0f: = impl_witness imports.%EqWith.impl_witness_table.195, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.e098d7.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.4, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.32ee3c.1: %T.as_type.as.EqWith.impl.Equal.type.e098d7.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.2267b3.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.4, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.992176.1: %T.as_type.as.EqWith.impl.NotEqual.type.2267b3.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.e098d7.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.3, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.32ee3c.2: %T.as_type.as.EqWith.impl.Equal.type.e098d7.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.2267b3.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.3, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.992176.2: %T.as_type.as.EqWith.impl.NotEqual.type.2267b3.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.bf7: %EqWith.type.3ed = facet_value Core.IntLiteral, (%EqWith.impl_witness.b0f) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.1e5: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.bf7) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.bd5: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.bf7) [concrete] -// CHECK:STDOUT: %.be4: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.1e5, %EqWith.facet.bf7 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.c484ca.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.32ee3c.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.90c3dc.1: = specific_function %T.as_type.as.EqWith.impl.Equal.32ee3c.2, @T.as_type.as.EqWith.impl.Equal.3(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.573be8.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.90c3dc.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.c484ca.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.32ee3c.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.90c3dc.2: = specific_function %T.as_type.as.EqWith.impl.Equal.32ee3c.1, @T.as_type.as.EqWith.impl.Equal.4(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.573be8.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.90c3dc.2 [concrete] -// CHECK:STDOUT: %.943: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.bd5, %EqWith.facet.bf7 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.744760.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.992176.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.fabde5.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.992176.2, @T.as_type.as.EqWith.impl.NotEqual.3(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.bd39a5.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.fabde5.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.744760.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.992176.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.fabde5.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.992176.1, @T.as_type.as.EqWith.impl.NotEqual.4(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.bd39a5.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.fabde5.2 [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.87d: = impl_witness imports.%OrderedWith.impl_witness_table.f65, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.8fcddd.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.4, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.7fdd0f.1: %T.as_type.as.OrderedWith.impl.Less.type.8fcddd.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.a14e77.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.4, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6eace1.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.a14e77.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.5b267a.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.4, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.a7d138.1: %T.as_type.as.OrderedWith.impl.Greater.type.5b267a.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.b542aa.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8990d1.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.b542aa.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.8fcddd.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.3, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.7fdd0f.2: %T.as_type.as.OrderedWith.impl.Less.type.8fcddd.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.a14e77.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.3, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6eace1.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.a14e77.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.5b267a.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.3, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.a7d138.2: %T.as_type.as.OrderedWith.impl.Greater.type.5b267a.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.b542aa.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.3, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8990d1.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.b542aa.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.001: %OrderedWith.type.484 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.87d) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.637: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.001) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.3fb: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.001) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.992: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.001) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.9de: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.001) [concrete] -// CHECK:STDOUT: %.4ce: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.992, %OrderedWith.facet.001 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.c08816.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.a7d138.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.a03db4.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.a7d138.2, @T.as_type.as.OrderedWith.impl.Greater.3(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.a6774b.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.a03db4.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.c08816.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.a7d138.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.a03db4.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.a7d138.1, @T.as_type.as.OrderedWith.impl.Greater.4(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.a6774b.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.a03db4.2 [concrete] -// CHECK:STDOUT: %.90a: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.637, %OrderedWith.facet.001 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.df13e5.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.7fdd0f.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.7a5c67.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.7fdd0f.2, @T.as_type.as.OrderedWith.impl.Less.3(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.65c00c.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.7a5c67.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.df13e5.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.7fdd0f.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.7a5c67.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.7fdd0f.1, @T.as_type.as.OrderedWith.impl.Less.4(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.65c00c.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.7a5c67.2 [concrete] -// CHECK:STDOUT: %.70d: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.9de, %OrderedWith.facet.001 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.4bee52.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8990d1.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6be80e.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8990d1.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.3(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.0f34a9.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6be80e.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.4bee52.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8990d1.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6be80e.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8990d1.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.0f34a9.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6be80e.2 [concrete] -// CHECK:STDOUT: %.f0a: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.3fb, %OrderedWith.facet.001 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.931d3c.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6eace1.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.19ea46.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6eace1.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.3(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.cc0313.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.19ea46.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.931d3c.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6eace1.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.19ea46.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6eace1.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.4(%ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %bound_method.cc0313.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.19ea46.2 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.65f: = impl_witness imports.%OrderedWith.impl_witness_table.100, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.fe8b5e.1: type = fn_type @Int.as.OrderedWith.impl.Less.3, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.8592f5.1: %Int.as.OrderedWith.impl.Less.type.fe8b5e.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.type.48720d.1: type = fn_type @Int.as.OrderedWith.impl.LessOrEquivalent.3, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.cbaa00.1: %Int.as.OrderedWith.impl.LessOrEquivalent.type.48720d.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.type.b3b5eb.1: type = fn_type @Int.as.OrderedWith.impl.Greater.3, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.dc9b23.1: %Int.as.OrderedWith.impl.Greater.type.b3b5eb.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.c1985d.1: type = fn_type @Int.as.OrderedWith.impl.GreaterOrEquivalent.3, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.81b9dd.1: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.c1985d.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.type.fe8b5e.2: type = fn_type @Int.as.OrderedWith.impl.Less.2, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.8592f5.2: %Int.as.OrderedWith.impl.Less.type.fe8b5e.2 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.type.48720d.2: type = fn_type @Int.as.OrderedWith.impl.LessOrEquivalent.2, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.cbaa00.2: %Int.as.OrderedWith.impl.LessOrEquivalent.type.48720d.2 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.type.b3b5eb.2: type = fn_type @Int.as.OrderedWith.impl.Greater.2, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.dc9b23.2: %Int.as.OrderedWith.impl.Greater.type.b3b5eb.2 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.c1985d.2: type = fn_type @Int.as.OrderedWith.impl.GreaterOrEquivalent.2, @Int.as.OrderedWith.impl.f36(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.81b9dd.2: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.c1985d.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.c02: %OrderedWith.type.484 = facet_value %i64, (%OrderedWith.impl_witness.65f) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.160: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.c02) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.76e: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.c02) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.b35: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.c02) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.13e: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.c02) [concrete] +// CHECK:STDOUT: %.b26: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.b35, %OrderedWith.facet.c02 [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.specific_fn.b57d2c.1: = specific_function %Int.as.OrderedWith.impl.Greater.dc9b23.2, @Int.as.OrderedWith.impl.Greater.2(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.specific_fn.b57d2c.2: = specific_function %Int.as.OrderedWith.impl.Greater.dc9b23.1, @Int.as.OrderedWith.impl.Greater.3(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.bc5: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.160, %OrderedWith.facet.c02 [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.specific_fn.a5cd85.1: = specific_function %Int.as.OrderedWith.impl.Less.8592f5.2, @Int.as.OrderedWith.impl.Less.2(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.specific_fn.a5cd85.2: = specific_function %Int.as.OrderedWith.impl.Less.8592f5.1, @Int.as.OrderedWith.impl.Less.3(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.60d: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.13e, %OrderedWith.facet.c02 [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.d9c888.1: = specific_function %Int.as.OrderedWith.impl.GreaterOrEquivalent.81b9dd.2, @Int.as.OrderedWith.impl.GreaterOrEquivalent.2(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.d9c888.2: = specific_function %Int.as.OrderedWith.impl.GreaterOrEquivalent.81b9dd.1, @Int.as.OrderedWith.impl.GreaterOrEquivalent.3(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.388: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.76e, %OrderedWith.facet.c02 [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8224dd.1: = specific_function %Int.as.OrderedWith.impl.LessOrEquivalent.cbaa00.2, @Int.as.OrderedWith.impl.LessOrEquivalent.2(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8224dd.2: = specific_function %Int.as.OrderedWith.impl.LessOrEquivalent.cbaa00.1, @Int.as.OrderedWith.impl.LessOrEquivalent.3(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.95b: = impl_witness imports.%EqWith.impl_witness_table.896, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.0a8f82.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.4, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.86b2db.1: %T.as_type.as.EqWith.impl.Equal.type.0a8f82.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.49c805.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.4, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.ca2900.1: %T.as_type.as.EqWith.impl.NotEqual.type.49c805.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.0a8f82.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.3, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.86b2db.2: %T.as_type.as.EqWith.impl.Equal.type.0a8f82.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.49c805.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.3, @T.as_type.as.EqWith.impl.7e7(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.ca2900.2: %T.as_type.as.EqWith.impl.NotEqual.type.49c805.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.cf5: %EqWith.type.3ed = facet_value Core.IntLiteral, (%EqWith.impl_witness.95b) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.e8f: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.cf5) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.83a: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.cf5) [concrete] +// CHECK:STDOUT: %.dd8: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.e8f, %EqWith.facet.cf5 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.ca7715.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.86b2db.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.634293.1: = specific_function %T.as_type.as.EqWith.impl.Equal.86b2db.2, @T.as_type.as.EqWith.impl.Equal.3(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.e608d8.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.634293.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.ca7715.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.86b2db.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.634293.2: = specific_function %T.as_type.as.EqWith.impl.Equal.86b2db.1, @T.as_type.as.EqWith.impl.Equal.4(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.e608d8.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.634293.2 [concrete] +// CHECK:STDOUT: %.865: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.83a, %EqWith.facet.cf5 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.cfadf3.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.ca2900.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.d1a411.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.ca2900.2, @T.as_type.as.EqWith.impl.NotEqual.3(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.989d3b.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.d1a411.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.cfadf3.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.ca2900.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.d1a411.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.ca2900.1, @T.as_type.as.EqWith.impl.NotEqual.4(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.989d3b.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.d1a411.2 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.407: = impl_witness imports.%OrderedWith.impl_witness_table.9a7, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.92c3cf.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.4, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.90bf59.1: %T.as_type.as.OrderedWith.impl.Less.type.92c3cf.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.e2b20e.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.4, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.0ab3f0.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.e2b20e.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.923208.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.4, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.06beca.1: %T.as_type.as.OrderedWith.impl.Greater.type.923208.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.7d5e6b.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.265add.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.7d5e6b.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.92c3cf.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.3, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.90bf59.2: %T.as_type.as.OrderedWith.impl.Less.type.92c3cf.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.e2b20e.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.3, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.0ab3f0.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.e2b20e.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.923208.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.3, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.06beca.2: %T.as_type.as.OrderedWith.impl.Greater.type.923208.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.7d5e6b.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.3, @T.as_type.as.OrderedWith.impl.4ed(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.265add.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.7d5e6b.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.1c0: %OrderedWith.type.484 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.407) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.04f: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.1c0) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.258: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.1c0) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.294: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.1c0) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.de5: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.1c0) [concrete] +// CHECK:STDOUT: %.e84: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.294, %OrderedWith.facet.1c0 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.a7b8bc.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.06beca.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.db0422.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.06beca.2, @T.as_type.as.OrderedWith.impl.Greater.3(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.3fa851.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.db0422.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.a7b8bc.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.06beca.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.db0422.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.06beca.1, @T.as_type.as.OrderedWith.impl.Greater.4(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.3fa851.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.db0422.2 [concrete] +// CHECK:STDOUT: %.fd0: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.04f, %OrderedWith.facet.1c0 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.32a3f6.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.90bf59.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.da4570.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.90bf59.2, @T.as_type.as.OrderedWith.impl.Less.3(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.70aaf6.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.da4570.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.32a3f6.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.90bf59.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.da4570.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.90bf59.1, @T.as_type.as.OrderedWith.impl.Less.4(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.70aaf6.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.da4570.2 [concrete] +// CHECK:STDOUT: %.bf0: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.de5, %OrderedWith.facet.1c0 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.6cb83f.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.265add.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.95bfcf.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.265add.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.3(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.d6150d.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.95bfcf.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.6cb83f.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.265add.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.95bfcf.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.265add.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.d6150d.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.95bfcf.2 [concrete] +// CHECK:STDOUT: %.4d3: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.258, %OrderedWith.facet.1c0 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.f6c834.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.0ab3f0.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.a01051.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.0ab3f0.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.3(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.1cd393.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.a01051.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.f6c834.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.0ab3f0.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.a01051.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.0ab3f0.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.4(%ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %bound_method.1cd393.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.a01051.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -2183,24 +2183,24 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %Core.import_ref.ad0: @T.as_type.as.EqWith.impl.7e7.%T.as_type.as.EqWith.impl.Equal.type.2 (%T.as_type.as.EqWith.impl.Equal.type.f384d8.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.EqWith.impl.7e7.%T.as_type.as.EqWith.impl.Equal.2 (constants.%T.as_type.as.EqWith.impl.Equal.99b5a3.1)] // CHECK:STDOUT: %Core.import_ref.8c0: @T.as_type.as.EqWith.impl.7e7.%T.as_type.as.EqWith.impl.NotEqual.type.2 (%T.as_type.as.EqWith.impl.NotEqual.type.4349fe.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.EqWith.impl.7e7.%T.as_type.as.EqWith.impl.NotEqual.2 (constants.%T.as_type.as.EqWith.impl.NotEqual.50a028.1)] -// CHECK:STDOUT: %EqWith.impl_witness_table.195 = impl_witness_table (%Core.import_ref.ad0, %Core.import_ref.8c0), @T.as_type.as.EqWith.impl.7e7 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table.896 = impl_witness_table (%Core.import_ref.ad0, %Core.import_ref.8c0), @T.as_type.as.EqWith.impl.7e7 [concrete] // CHECK:STDOUT: %Core.Equal.c5f: @T.as_type.as.EqWith.impl.7e7.%T.as_type.as.EqWith.impl.Equal.type.1 (%T.as_type.as.EqWith.impl.Equal.type.f384d8.2) = import_ref Core//prelude/types/cpp/int, Equal, loaded [symbolic = @T.as_type.as.EqWith.impl.7e7.%T.as_type.as.EqWith.impl.Equal.1 (constants.%T.as_type.as.EqWith.impl.Equal.99b5a3.2)] // CHECK:STDOUT: %Core.NotEqual.e58: @T.as_type.as.EqWith.impl.7e7.%T.as_type.as.EqWith.impl.NotEqual.type.1 (%T.as_type.as.EqWith.impl.NotEqual.type.4349fe.2) = import_ref Core//prelude/types/cpp/int, NotEqual, loaded [symbolic = @T.as_type.as.EqWith.impl.7e7.%T.as_type.as.EqWith.impl.NotEqual.1 (constants.%T.as_type.as.EqWith.impl.NotEqual.50a028.2)] // CHECK:STDOUT: %Core.import_ref.60d: @Int.as.EqWith.impl.2b8.%Int.as.EqWith.impl.Equal.type.2 (%Int.as.EqWith.impl.Equal.type.c9381b.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.EqWith.impl.2b8.%Int.as.EqWith.impl.Equal.2 (constants.%Int.as.EqWith.impl.Equal.a4cb34.1)] // CHECK:STDOUT: %Core.import_ref.fb5: @Int.as.EqWith.impl.2b8.%Int.as.EqWith.impl.NotEqual.type.2 (%Int.as.EqWith.impl.NotEqual.type.97ec42.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.EqWith.impl.2b8.%Int.as.EqWith.impl.NotEqual.2 (constants.%Int.as.EqWith.impl.NotEqual.c6c584.1)] -// CHECK:STDOUT: %EqWith.impl_witness_table.d4a = impl_witness_table (%Core.import_ref.60d, %Core.import_ref.fb5), @Int.as.EqWith.impl.2b8 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table.399 = impl_witness_table (%Core.import_ref.60d, %Core.import_ref.fb5), @Int.as.EqWith.impl.2b8 [concrete] // CHECK:STDOUT: %Core.Equal.926: @Int.as.EqWith.impl.2b8.%Int.as.EqWith.impl.Equal.type.1 (%Int.as.EqWith.impl.Equal.type.c9381b.2) = import_ref Core//prelude/types/int, Equal, loaded [symbolic = @Int.as.EqWith.impl.2b8.%Int.as.EqWith.impl.Equal.1 (constants.%Int.as.EqWith.impl.Equal.a4cb34.2)] // CHECK:STDOUT: %Core.NotEqual.c83: @Int.as.EqWith.impl.2b8.%Int.as.EqWith.impl.NotEqual.type.1 (%Int.as.EqWith.impl.NotEqual.type.97ec42.2) = import_ref Core//prelude/types/int, NotEqual, loaded [symbolic = @Int.as.EqWith.impl.2b8.%Int.as.EqWith.impl.NotEqual.1 (constants.%Int.as.EqWith.impl.NotEqual.c6c584.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %Cpp.long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a3a = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.00c = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] // CHECK:STDOUT: %Core.import_ref.011: @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.Less.type.2 (%T.as_type.as.OrderedWith.impl.Less.type.9ca225.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.Less.2 (constants.%T.as_type.as.OrderedWith.impl.Less.571834.1)] // CHECK:STDOUT: %Core.import_ref.ba20: @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.3b16e8.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.fd69b3.1)] // CHECK:STDOUT: %Core.import_ref.44d: @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.Greater.type.2 (%T.as_type.as.OrderedWith.impl.Greater.type.776eb1.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.Greater.2 (constants.%T.as_type.as.OrderedWith.impl.Greater.bf137f.1)] // CHECK:STDOUT: %Core.import_ref.3aa: @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.985ed6.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.17b48a.1)] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.f65 = impl_witness_table (%Core.import_ref.011, %Core.import_ref.ba20, %Core.import_ref.44d, %Core.import_ref.3aa), @T.as_type.as.OrderedWith.impl.4ed [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.9a7 = impl_witness_table (%Core.import_ref.011, %Core.import_ref.ba20, %Core.import_ref.44d, %Core.import_ref.3aa), @T.as_type.as.OrderedWith.impl.4ed [concrete] // CHECK:STDOUT: %Core.Less.1d9: @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.Less.type.1 (%T.as_type.as.OrderedWith.impl.Less.type.9ca225.2) = import_ref Core//prelude/types/cpp/int, Less, loaded [symbolic = @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.Less.1 (constants.%T.as_type.as.OrderedWith.impl.Less.571834.2)] // CHECK:STDOUT: %Core.LessOrEquivalent.88c: @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1 (%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.3b16e8.2) = import_ref Core//prelude/types/cpp/int, LessOrEquivalent, loaded [symbolic = @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.1 (constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.fd69b3.2)] // CHECK:STDOUT: %Core.Greater.172: @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.Greater.type.1 (%T.as_type.as.OrderedWith.impl.Greater.type.776eb1.2) = import_ref Core//prelude/types/cpp/int, Greater, loaded [symbolic = @T.as_type.as.OrderedWith.impl.4ed.%T.as_type.as.OrderedWith.impl.Greater.1 (constants.%T.as_type.as.OrderedWith.impl.Greater.bf137f.2)] @@ -2209,7 +2209,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.import_ref.2a5: @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.LessOrEquivalent.type.2 (%Int.as.OrderedWith.impl.LessOrEquivalent.type.0ff510.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%Int.as.OrderedWith.impl.LessOrEquivalent.7bb73f.1)] // CHECK:STDOUT: %Core.import_ref.0ab: @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.Greater.type.2 (%Int.as.OrderedWith.impl.Greater.type.18c27f.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.Greater.2 (constants.%Int.as.OrderedWith.impl.Greater.cbccb6.1)] // CHECK:STDOUT: %Core.import_ref.a4c6: @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.GreaterOrEquivalent.type.2 (%Int.as.OrderedWith.impl.GreaterOrEquivalent.type.c3cac1.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.GreaterOrEquivalent.2 (constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.1c7f7d.1)] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.b1a = impl_witness_table (%Core.import_ref.1dc, %Core.import_ref.2a5, %Core.import_ref.0ab, %Core.import_ref.a4c6), @Int.as.OrderedWith.impl.f36 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.100 = impl_witness_table (%Core.import_ref.1dc, %Core.import_ref.2a5, %Core.import_ref.0ab, %Core.import_ref.a4c6), @Int.as.OrderedWith.impl.f36 [concrete] // CHECK:STDOUT: %Core.Less.80e: @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.Less.type.1 (%Int.as.OrderedWith.impl.Less.type.6605e2.2) = import_ref Core//prelude/types/int, Less, loaded [symbolic = @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.Less.1 (constants.%Int.as.OrderedWith.impl.Less.59643b.2)] // CHECK:STDOUT: %Core.LessOrEquivalent.633: @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.LessOrEquivalent.type.1 (%Int.as.OrderedWith.impl.LessOrEquivalent.type.0ff510.2) = import_ref Core//prelude/types/int, LessOrEquivalent, loaded [symbolic = @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.LessOrEquivalent.1 (constants.%Int.as.OrderedWith.impl.LessOrEquivalent.7bb73f.2)] // CHECK:STDOUT: %Core.Greater.28d: @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.Greater.type.1 (%Int.as.OrderedWith.impl.Greater.type.18c27f.2) = import_ref Core//prelude/types/int, Greater, loaded [symbolic = @Int.as.OrderedWith.impl.f36.%Int.as.OrderedWith.impl.Greater.1 (constants.%Int.as.OrderedWith.impl.Greater.cbccb6.2)] @@ -2220,7 +2220,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc9_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.33f] @@ -2235,16 +2235,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %b.ref.loc10: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc10: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc10_5: %.b68 = impl_witness_access constants.%EqWith.impl_witness.c6b, element0 [concrete = constants.%Int.as.EqWith.impl.Equal.6fef86.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.5cb = impl_witness_access constants.%EqWith.impl_witness.794, element0 [concrete = constants.%Int.as.EqWith.impl.Equal.a1e51d.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %b.ref.loc10, %impl.elem0.loc10_5 -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Int.as.EqWith.impl.Equal.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.EqWith.impl.Equal.specific_fn.1d8cd8.1] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Int.as.EqWith.impl.Equal.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.EqWith.impl.Equal.specific_fn.2bc4f6.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %b.ref.loc10, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5: %Int.as.EqWith.impl.Equal.type.5ee80b.1 = specific_constant imports.%Core.Equal.926, @Int.as.EqWith.impl.2b8(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.EqWith.impl.Equal.6fef86.1] -// CHECK:STDOUT: %Equal.ref.loc10: %Int.as.EqWith.impl.Equal.type.5ee80b.1 = name_ref Equal, %.loc10_5 [concrete = constants.%Int.as.EqWith.impl.Equal.6fef86.1] +// CHECK:STDOUT: %.loc10_5: %Int.as.EqWith.impl.Equal.type.68d8bb.1 = specific_constant imports.%Core.Equal.926, @Int.as.EqWith.impl.2b8(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.EqWith.impl.Equal.a1e51d.1] +// CHECK:STDOUT: %Equal.ref.loc10: %Int.as.EqWith.impl.Equal.type.68d8bb.1 = name_ref Equal, %.loc10_5 [concrete = constants.%Int.as.EqWith.impl.Equal.a1e51d.1] // CHECK:STDOUT: %Int.as.EqWith.impl.Equal.bound: = bound_method %b.ref.loc10, %Equal.ref.loc10 -// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.specific_fn: = specific_function %Equal.ref.loc10, @Int.as.EqWith.impl.Equal.3(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.EqWith.impl.Equal.specific_fn.1d8cd8.2] +// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.specific_fn: = specific_function %Equal.ref.loc10, @Int.as.EqWith.impl.Equal.3(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.EqWith.impl.Equal.specific_fn.2bc4f6.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %b.ref.loc10, %Int.as.EqWith.impl.Equal.specific_fn -// CHECK:STDOUT: %impl.elem0.loc10_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_8: = bound_method %a.ref.loc10, %impl.elem0.loc10_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc10: init %i64 = call %bound_method.loc10_8(%a.ref.loc10) // CHECK:STDOUT: %.loc10_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc10 @@ -2252,16 +2252,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call: init bool = call %bound_method.loc10_5.3(%b.ref.loc10, %.loc10_8.2) // CHECK:STDOUT: %b.ref.loc11: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc11: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc11: %.864 = impl_witness_access constants.%EqWith.impl_witness.c6b, element1 [concrete = constants.%Int.as.EqWith.impl.NotEqual.c74654.2] +// CHECK:STDOUT: %impl.elem1.loc11: %.cfa = impl_witness_access constants.%EqWith.impl_witness.794, element1 [concrete = constants.%Int.as.EqWith.impl.NotEqual.8edbc0.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %b.ref.loc11, %impl.elem1.loc11 -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @Int.as.EqWith.impl.NotEqual.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.EqWith.impl.NotEqual.specific_fn.f14bf7.1] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @Int.as.EqWith.impl.NotEqual.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.EqWith.impl.NotEqual.specific_fn.d6dfe8.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %b.ref.loc11, %specific_fn.loc11 -// CHECK:STDOUT: %.loc11_5: %Int.as.EqWith.impl.NotEqual.type.3ca782.1 = specific_constant imports.%Core.NotEqual.c83, @Int.as.EqWith.impl.2b8(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.EqWith.impl.NotEqual.c74654.1] -// CHECK:STDOUT: %NotEqual.ref.loc11: %Int.as.EqWith.impl.NotEqual.type.3ca782.1 = name_ref NotEqual, %.loc11_5 [concrete = constants.%Int.as.EqWith.impl.NotEqual.c74654.1] +// CHECK:STDOUT: %.loc11_5: %Int.as.EqWith.impl.NotEqual.type.95c6e8.1 = specific_constant imports.%Core.NotEqual.c83, @Int.as.EqWith.impl.2b8(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.EqWith.impl.NotEqual.8edbc0.1] +// CHECK:STDOUT: %NotEqual.ref.loc11: %Int.as.EqWith.impl.NotEqual.type.95c6e8.1 = name_ref NotEqual, %.loc11_5 [concrete = constants.%Int.as.EqWith.impl.NotEqual.8edbc0.1] // CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.bound: = bound_method %b.ref.loc11, %NotEqual.ref.loc11 -// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.specific_fn: = specific_function %NotEqual.ref.loc11, @Int.as.EqWith.impl.NotEqual.3(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.EqWith.impl.NotEqual.specific_fn.f14bf7.2] +// CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.specific_fn: = specific_function %NotEqual.ref.loc11, @Int.as.EqWith.impl.NotEqual.3(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.EqWith.impl.NotEqual.specific_fn.d6dfe8.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %b.ref.loc11, %Int.as.EqWith.impl.NotEqual.specific_fn -// CHECK:STDOUT: %impl.elem0.loc11: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_8: = bound_method %a.ref.loc11, %impl.elem0.loc11 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc11: init %i64 = call %bound_method.loc11_8(%a.ref.loc11) // CHECK:STDOUT: %.loc11_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc11 @@ -2269,16 +2269,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.EqWith.impl.NotEqual.call: init bool = call %bound_method.loc11_5.3(%b.ref.loc11, %.loc11_8.2) // CHECK:STDOUT: %b.ref.loc12: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc12: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem2.loc12: %.c7f = impl_witness_access constants.%OrderedWith.impl_witness.a98, element2 [concrete = constants.%Int.as.OrderedWith.impl.Greater.0ec18c.2] +// CHECK:STDOUT: %impl.elem2.loc12: %.b26 = impl_witness_access constants.%OrderedWith.impl_witness.65f, element2 [concrete = constants.%Int.as.OrderedWith.impl.Greater.dc9b23.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %b.ref.loc12, %impl.elem2.loc12 -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @Int.as.OrderedWith.impl.Greater.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.Greater.specific_fn.980c5e.1] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @Int.as.OrderedWith.impl.Greater.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.Greater.specific_fn.b57d2c.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %b.ref.loc12, %specific_fn.loc12 -// CHECK:STDOUT: %.loc12_5: %Int.as.OrderedWith.impl.Greater.type.d750f4.1 = specific_constant imports.%Core.Greater.28d, @Int.as.OrderedWith.impl.f36(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.Greater.0ec18c.1] -// CHECK:STDOUT: %Greater.ref.loc12: %Int.as.OrderedWith.impl.Greater.type.d750f4.1 = name_ref Greater, %.loc12_5 [concrete = constants.%Int.as.OrderedWith.impl.Greater.0ec18c.1] +// CHECK:STDOUT: %.loc12_5: %Int.as.OrderedWith.impl.Greater.type.b3b5eb.1 = specific_constant imports.%Core.Greater.28d, @Int.as.OrderedWith.impl.f36(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.Greater.dc9b23.1] +// CHECK:STDOUT: %Greater.ref.loc12: %Int.as.OrderedWith.impl.Greater.type.b3b5eb.1 = name_ref Greater, %.loc12_5 [concrete = constants.%Int.as.OrderedWith.impl.Greater.dc9b23.1] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.bound: = bound_method %b.ref.loc12, %Greater.ref.loc12 -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.specific_fn: = specific_function %Greater.ref.loc12, @Int.as.OrderedWith.impl.Greater.3(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.Greater.specific_fn.980c5e.2] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.specific_fn: = specific_function %Greater.ref.loc12, @Int.as.OrderedWith.impl.Greater.3(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.Greater.specific_fn.b57d2c.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %b.ref.loc12, %Int.as.OrderedWith.impl.Greater.specific_fn -// CHECK:STDOUT: %impl.elem0.loc12: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc12: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc12_7: = bound_method %a.ref.loc12, %impl.elem0.loc12 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc12: init %i64 = call %bound_method.loc12_7(%a.ref.loc12) // CHECK:STDOUT: %.loc12_7.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc12 @@ -2286,16 +2286,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call: init bool = call %bound_method.loc12_5.3(%b.ref.loc12, %.loc12_7.2) // CHECK:STDOUT: %b.ref.loc13: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc13: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc13_5: %.e4f = impl_witness_access constants.%OrderedWith.impl_witness.a98, element0 [concrete = constants.%Int.as.OrderedWith.impl.Less.1c6761.2] +// CHECK:STDOUT: %impl.elem0.loc13_5: %.bc5 = impl_witness_access constants.%OrderedWith.impl_witness.65f, element0 [concrete = constants.%Int.as.OrderedWith.impl.Less.8592f5.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %b.ref.loc13, %impl.elem0.loc13_5 -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Int.as.OrderedWith.impl.Less.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.Less.specific_fn.1c1cdd.1] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Int.as.OrderedWith.impl.Less.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.Less.specific_fn.a5cd85.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %b.ref.loc13, %specific_fn.loc13 -// CHECK:STDOUT: %.loc13_5: %Int.as.OrderedWith.impl.Less.type.7135f0.1 = specific_constant imports.%Core.Less.80e, @Int.as.OrderedWith.impl.f36(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.Less.1c6761.1] -// CHECK:STDOUT: %Less.ref.loc13: %Int.as.OrderedWith.impl.Less.type.7135f0.1 = name_ref Less, %.loc13_5 [concrete = constants.%Int.as.OrderedWith.impl.Less.1c6761.1] +// CHECK:STDOUT: %.loc13_5: %Int.as.OrderedWith.impl.Less.type.fe8b5e.1 = specific_constant imports.%Core.Less.80e, @Int.as.OrderedWith.impl.f36(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.Less.8592f5.1] +// CHECK:STDOUT: %Less.ref.loc13: %Int.as.OrderedWith.impl.Less.type.fe8b5e.1 = name_ref Less, %.loc13_5 [concrete = constants.%Int.as.OrderedWith.impl.Less.8592f5.1] // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.bound: = bound_method %b.ref.loc13, %Less.ref.loc13 -// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.specific_fn: = specific_function %Less.ref.loc13, @Int.as.OrderedWith.impl.Less.3(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.Less.specific_fn.1c1cdd.2] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.specific_fn: = specific_function %Less.ref.loc13, @Int.as.OrderedWith.impl.Less.3(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.Less.specific_fn.a5cd85.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %b.ref.loc13, %Int.as.OrderedWith.impl.Less.specific_fn -// CHECK:STDOUT: %impl.elem0.loc13_7: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc13_7: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc13_7: = bound_method %a.ref.loc13, %impl.elem0.loc13_7 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc13: init %i64 = call %bound_method.loc13_7(%a.ref.loc13) // CHECK:STDOUT: %.loc13_7.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc13 @@ -2303,16 +2303,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.OrderedWith.impl.Less.call: init bool = call %bound_method.loc13_5.3(%b.ref.loc13, %.loc13_7.2) // CHECK:STDOUT: %b.ref.loc14: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc14: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem3.loc14: %.ce8f = impl_witness_access constants.%OrderedWith.impl_witness.a98, element3 [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.ca4fe3.2] +// CHECK:STDOUT: %impl.elem3.loc14: %.60d = impl_witness_access constants.%OrderedWith.impl_witness.65f, element3 [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.81b9dd.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %b.ref.loc14, %impl.elem3.loc14 -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @Int.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.2fed0f.1] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @Int.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.d9c888.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %b.ref.loc14, %specific_fn.loc14 -// CHECK:STDOUT: %.loc14_5: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.5bb690.1 = specific_constant imports.%Core.GreaterOrEquivalent.b3a, @Int.as.OrderedWith.impl.f36(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.ca4fe3.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.5bb690.1 = name_ref GreaterOrEquivalent, %.loc14_5 [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.ca4fe3.1] +// CHECK:STDOUT: %.loc14_5: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.c1985d.1 = specific_constant imports.%Core.GreaterOrEquivalent.b3a, @Int.as.OrderedWith.impl.f36(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.81b9dd.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %Int.as.OrderedWith.impl.GreaterOrEquivalent.type.c1985d.1 = name_ref GreaterOrEquivalent, %.loc14_5 [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.81b9dd.1] // CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.bound: = bound_method %b.ref.loc14, %GreaterOrEquivalent.ref.loc14 -// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn: = specific_function %GreaterOrEquivalent.ref.loc14, @Int.as.OrderedWith.impl.GreaterOrEquivalent.3(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.2fed0f.2] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn: = specific_function %GreaterOrEquivalent.ref.loc14, @Int.as.OrderedWith.impl.GreaterOrEquivalent.3(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.d9c888.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %b.ref.loc14, %Int.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn -// CHECK:STDOUT: %impl.elem0.loc14: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc14: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc14_8: = bound_method %a.ref.loc14, %impl.elem0.loc14 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc14: init %i64 = call %bound_method.loc14_8(%a.ref.loc14) // CHECK:STDOUT: %.loc14_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc14 @@ -2320,16 +2320,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.OrderedWith.impl.GreaterOrEquivalent.call: init bool = call %bound_method.loc14_5.3(%b.ref.loc14, %.loc14_8.2) // CHECK:STDOUT: %b.ref.loc15: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc15: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc15: %.2df = impl_witness_access constants.%OrderedWith.impl_witness.a98, element1 [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.621392.2] +// CHECK:STDOUT: %impl.elem1.loc15: %.388 = impl_witness_access constants.%OrderedWith.impl_witness.65f, element1 [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.cbaa00.2] // CHECK:STDOUT: %bound_method.loc15_5.1: = bound_method %b.ref.loc15, %impl.elem1.loc15 -// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @Int.as.OrderedWith.impl.LessOrEquivalent.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3843b4.1] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @Int.as.OrderedWith.impl.LessOrEquivalent.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8224dd.1] // CHECK:STDOUT: %bound_method.loc15_5.2: = bound_method %b.ref.loc15, %specific_fn.loc15 -// CHECK:STDOUT: %.loc15_5: %Int.as.OrderedWith.impl.LessOrEquivalent.type.07dffd.1 = specific_constant imports.%Core.LessOrEquivalent.633, @Int.as.OrderedWith.impl.f36(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.621392.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %Int.as.OrderedWith.impl.LessOrEquivalent.type.07dffd.1 = name_ref LessOrEquivalent, %.loc15_5 [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.621392.1] +// CHECK:STDOUT: %.loc15_5: %Int.as.OrderedWith.impl.LessOrEquivalent.type.48720d.1 = specific_constant imports.%Core.LessOrEquivalent.633, @Int.as.OrderedWith.impl.f36(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.cbaa00.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %Int.as.OrderedWith.impl.LessOrEquivalent.type.48720d.1 = name_ref LessOrEquivalent, %.loc15_5 [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.cbaa00.1] // CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.bound: = bound_method %b.ref.loc15, %LessOrEquivalent.ref.loc15 -// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn: = specific_function %LessOrEquivalent.ref.loc15, @Int.as.OrderedWith.impl.LessOrEquivalent.3(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3843b4.2] +// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn: = specific_function %LessOrEquivalent.ref.loc15, @Int.as.OrderedWith.impl.LessOrEquivalent.3(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8224dd.2] // CHECK:STDOUT: %bound_method.loc15_5.3: = bound_method %b.ref.loc15, %Int.as.OrderedWith.impl.LessOrEquivalent.specific_fn -// CHECK:STDOUT: %impl.elem0.loc15: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc15: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc15_8: = bound_method %a.ref.loc15, %impl.elem0.loc15 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc15: init %i64 = call %bound_method.loc15_8(%a.ref.loc15) // CHECK:STDOUT: %.loc15_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc15 @@ -2337,20 +2337,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call: init bool = call %bound_method.loc15_5.3(%b.ref.loc15, %.loc15_8.2) // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc17: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc17_5: %.be4 = impl_witness_access constants.%EqWith.impl_witness.b0f, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.32ee3c.2] -// CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %int_1.loc17, %impl.elem0.loc17_5 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.c484ca.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @T.as_type.as.EqWith.impl.Equal.3(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.90c3dc.1] -// CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %int_1.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.573be8.1] -// CHECK:STDOUT: %.loc17_5.3: %T.as_type.as.EqWith.impl.Equal.type.e098d7.1 = specific_constant imports.%Core.Equal.c5f, @T.as_type.as.EqWith.impl.7e7(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.32ee3c.1] -// CHECK:STDOUT: %Equal.ref.loc17: %T.as_type.as.EqWith.impl.Equal.type.e098d7.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.32ee3c.1] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound: = bound_method %int_1.loc17, %Equal.ref.loc17 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.c484ca.2] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn: = specific_function %Equal.ref.loc17, @T.as_type.as.EqWith.impl.Equal.4(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.90c3dc.2] -// CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %int_1.loc17, %T.as_type.as.EqWith.impl.Equal.specific_fn [concrete = constants.%bound_method.573be8.2] -// CHECK:STDOUT: %impl.elem0.loc17_3: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc17_5: %.dd8 = impl_witness_access constants.%EqWith.impl_witness.95b, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.86b2db.2] +// CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %int_1.loc17, %impl.elem0.loc17_5 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.ca7715.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @T.as_type.as.EqWith.impl.Equal.3(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.634293.1] +// CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %int_1.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.e608d8.1] +// CHECK:STDOUT: %.loc17_5.3: %T.as_type.as.EqWith.impl.Equal.type.0a8f82.1 = specific_constant imports.%Core.Equal.c5f, @T.as_type.as.EqWith.impl.7e7(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.86b2db.1] +// CHECK:STDOUT: %Equal.ref.loc17: %T.as_type.as.EqWith.impl.Equal.type.0a8f82.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.86b2db.1] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound: = bound_method %int_1.loc17, %Equal.ref.loc17 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.ca7715.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn: = specific_function %Equal.ref.loc17, @T.as_type.as.EqWith.impl.Equal.4(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.634293.2] +// CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %int_1.loc17, %T.as_type.as.EqWith.impl.Equal.specific_fn [concrete = constants.%bound_method.e608d8.2] +// CHECK:STDOUT: %impl.elem0.loc17_3: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc17_3: = bound_method %int_1.loc17, %impl.elem0.loc17_3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17: init %Cpp.long = call %bound_method.loc17_3(%int_1.loc17) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc17_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_1.33f] @@ -2358,20 +2358,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.call: init bool = call %bound_method.loc17_5.3(%.loc17_3.2, %a.ref.loc17) // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc18: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc18: %.943 = impl_witness_access constants.%EqWith.impl_witness.b0f, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.992176.2] -// CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %int_1.loc18, %impl.elem1.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.744760.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @T.as_type.as.EqWith.impl.NotEqual.3(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.fabde5.1] -// CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %int_1.loc18, %specific_fn.loc18 [concrete = constants.%bound_method.bd39a5.1] -// CHECK:STDOUT: %.loc18_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.2267b3.1 = specific_constant imports.%Core.NotEqual.e58, @T.as_type.as.EqWith.impl.7e7(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.992176.1] -// CHECK:STDOUT: %NotEqual.ref.loc18: %T.as_type.as.EqWith.impl.NotEqual.type.2267b3.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.992176.1] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound: = bound_method %int_1.loc18, %NotEqual.ref.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.744760.2] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn: = specific_function %NotEqual.ref.loc18, @T.as_type.as.EqWith.impl.NotEqual.4(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.fabde5.2] -// CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %int_1.loc18, %T.as_type.as.EqWith.impl.NotEqual.specific_fn [concrete = constants.%bound_method.bd39a5.2] -// CHECK:STDOUT: %impl.elem0.loc18: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem1.loc18: %.865 = impl_witness_access constants.%EqWith.impl_witness.95b, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.ca2900.2] +// CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %int_1.loc18, %impl.elem1.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.cfadf3.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @T.as_type.as.EqWith.impl.NotEqual.3(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.d1a411.1] +// CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %int_1.loc18, %specific_fn.loc18 [concrete = constants.%bound_method.989d3b.1] +// CHECK:STDOUT: %.loc18_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.49c805.1 = specific_constant imports.%Core.NotEqual.e58, @T.as_type.as.EqWith.impl.7e7(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.ca2900.1] +// CHECK:STDOUT: %NotEqual.ref.loc18: %T.as_type.as.EqWith.impl.NotEqual.type.49c805.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.ca2900.1] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound: = bound_method %int_1.loc18, %NotEqual.ref.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.cfadf3.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn: = specific_function %NotEqual.ref.loc18, @T.as_type.as.EqWith.impl.NotEqual.4(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.d1a411.2] +// CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %int_1.loc18, %T.as_type.as.EqWith.impl.NotEqual.specific_fn [concrete = constants.%bound_method.989d3b.2] +// CHECK:STDOUT: %impl.elem0.loc18: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc18_3: = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long = call %bound_method.loc18_3(%int_1.loc18) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc18_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_1.33f] @@ -2379,20 +2379,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.call: init bool = call %bound_method.loc18_5.3(%.loc18_3.2, %a.ref.loc18) // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc19: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem2.loc19: %.4ce = impl_witness_access constants.%OrderedWith.impl_witness.87d, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.a7d138.2] -// CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %int_1.loc19, %impl.elem2.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.c08816.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @T.as_type.as.OrderedWith.impl.Greater.3(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.a03db4.1] -// CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %int_1.loc19, %specific_fn.loc19 [concrete = constants.%bound_method.a6774b.1] -// CHECK:STDOUT: %.loc19_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.5b267a.1 = specific_constant imports.%Core.Greater.172, @T.as_type.as.OrderedWith.impl.4ed(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.a7d138.1] -// CHECK:STDOUT: %Greater.ref.loc19: %T.as_type.as.OrderedWith.impl.Greater.type.5b267a.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.a7d138.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound: = bound_method %int_1.loc19, %Greater.ref.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.c08816.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn: = specific_function %Greater.ref.loc19, @T.as_type.as.OrderedWith.impl.Greater.4(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.a03db4.2] -// CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %int_1.loc19, %T.as_type.as.OrderedWith.impl.Greater.specific_fn [concrete = constants.%bound_method.a6774b.2] -// CHECK:STDOUT: %impl.elem0.loc19: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem2.loc19: %.e84 = impl_witness_access constants.%OrderedWith.impl_witness.407, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.06beca.2] +// CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %int_1.loc19, %impl.elem2.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.a7b8bc.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @T.as_type.as.OrderedWith.impl.Greater.3(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.db0422.1] +// CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %int_1.loc19, %specific_fn.loc19 [concrete = constants.%bound_method.3fa851.1] +// CHECK:STDOUT: %.loc19_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.923208.1 = specific_constant imports.%Core.Greater.172, @T.as_type.as.OrderedWith.impl.4ed(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.06beca.1] +// CHECK:STDOUT: %Greater.ref.loc19: %T.as_type.as.OrderedWith.impl.Greater.type.923208.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.06beca.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound: = bound_method %int_1.loc19, %Greater.ref.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.a7b8bc.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn: = specific_function %Greater.ref.loc19, @T.as_type.as.OrderedWith.impl.Greater.4(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.db0422.2] +// CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %int_1.loc19, %T.as_type.as.OrderedWith.impl.Greater.specific_fn [concrete = constants.%bound_method.3fa851.2] +// CHECK:STDOUT: %impl.elem0.loc19: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc19_3: = bound_method %int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19: init %Cpp.long = call %bound_method.loc19_3(%int_1.loc19) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc19_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19 [concrete = constants.%int_1.33f] @@ -2400,20 +2400,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.call: init bool = call %bound_method.loc19_5.3(%.loc19_3.2, %a.ref.loc19) // CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc20: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc20_5: %.90a = impl_witness_access constants.%OrderedWith.impl_witness.87d, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.7fdd0f.2] -// CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %int_1.loc20, %impl.elem0.loc20_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.df13e5.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @T.as_type.as.OrderedWith.impl.Less.3(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.7a5c67.1] -// CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %int_1.loc20, %specific_fn.loc20 [concrete = constants.%bound_method.65c00c.1] -// CHECK:STDOUT: %.loc20_5.3: %T.as_type.as.OrderedWith.impl.Less.type.8fcddd.1 = specific_constant imports.%Core.Less.1d9, @T.as_type.as.OrderedWith.impl.4ed(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.7fdd0f.1] -// CHECK:STDOUT: %Less.ref.loc20: %T.as_type.as.OrderedWith.impl.Less.type.8fcddd.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.7fdd0f.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound: = bound_method %int_1.loc20, %Less.ref.loc20 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.df13e5.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn: = specific_function %Less.ref.loc20, @T.as_type.as.OrderedWith.impl.Less.4(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.7a5c67.2] -// CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %int_1.loc20, %T.as_type.as.OrderedWith.impl.Less.specific_fn [concrete = constants.%bound_method.65c00c.2] -// CHECK:STDOUT: %impl.elem0.loc20_3: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc20_5: %.fd0 = impl_witness_access constants.%OrderedWith.impl_witness.407, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.90bf59.2] +// CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %int_1.loc20, %impl.elem0.loc20_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.32a3f6.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @T.as_type.as.OrderedWith.impl.Less.3(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.da4570.1] +// CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %int_1.loc20, %specific_fn.loc20 [concrete = constants.%bound_method.70aaf6.1] +// CHECK:STDOUT: %.loc20_5.3: %T.as_type.as.OrderedWith.impl.Less.type.92c3cf.1 = specific_constant imports.%Core.Less.1d9, @T.as_type.as.OrderedWith.impl.4ed(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.90bf59.1] +// CHECK:STDOUT: %Less.ref.loc20: %T.as_type.as.OrderedWith.impl.Less.type.92c3cf.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.90bf59.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound: = bound_method %int_1.loc20, %Less.ref.loc20 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.32a3f6.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn: = specific_function %Less.ref.loc20, @T.as_type.as.OrderedWith.impl.Less.4(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.da4570.2] +// CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %int_1.loc20, %T.as_type.as.OrderedWith.impl.Less.specific_fn [concrete = constants.%bound_method.70aaf6.2] +// CHECK:STDOUT: %impl.elem0.loc20_3: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc20_3: = bound_method %int_1.loc20, %impl.elem0.loc20_3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20: init %Cpp.long = call %bound_method.loc20_3(%int_1.loc20) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc20_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_1.33f] @@ -2421,20 +2421,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.call: init bool = call %bound_method.loc20_5.3(%.loc20_3.2, %a.ref.loc20) // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc21: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem3.loc21: %.70d = impl_witness_access constants.%OrderedWith.impl_witness.87d, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8990d1.2] -// CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %int_1.loc21, %impl.elem3.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.4bee52.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.3(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6be80e.1] -// CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.0f34a9.1] -// CHECK:STDOUT: %.loc21_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.b542aa.1 = specific_constant imports.%Core.GreaterOrEquivalent.09a, @T.as_type.as.OrderedWith.impl.4ed(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8990d1.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.b542aa.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.8990d1.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound: = bound_method %int_1.loc21, %GreaterOrEquivalent.ref.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.4bee52.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn: = specific_function %GreaterOrEquivalent.ref.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6be80e.2] -// CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %int_1.loc21, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn [concrete = constants.%bound_method.0f34a9.2] -// CHECK:STDOUT: %impl.elem0.loc21: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem3.loc21: %.bf0 = impl_witness_access constants.%OrderedWith.impl_witness.407, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.265add.2] +// CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %int_1.loc21, %impl.elem3.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.6cb83f.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.3(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.95bfcf.1] +// CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.d6150d.1] +// CHECK:STDOUT: %.loc21_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.7d5e6b.1 = specific_constant imports.%Core.GreaterOrEquivalent.09a, @T.as_type.as.OrderedWith.impl.4ed(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.265add.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.7d5e6b.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.265add.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound: = bound_method %int_1.loc21, %GreaterOrEquivalent.ref.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.6cb83f.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn: = specific_function %GreaterOrEquivalent.ref.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.95bfcf.2] +// CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %int_1.loc21, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn [concrete = constants.%bound_method.d6150d.2] +// CHECK:STDOUT: %impl.elem0.loc21: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc21_3: = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21: init %Cpp.long = call %bound_method.loc21_3(%int_1.loc21) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc21_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21 [concrete = constants.%int_1.33f] @@ -2442,20 +2442,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.call: init bool = call %bound_method.loc21_5.3(%.loc21_3.2, %a.ref.loc21) // CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc22: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc22: %.f0a = impl_witness_access constants.%OrderedWith.impl_witness.87d, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.6eace1.2] -// CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %int_1.loc22, %impl.elem1.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.931d3c.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.210] -// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.3(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.19ea46.1] -// CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %int_1.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.cc0313.1] -// CHECK:STDOUT: %.loc22_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.a14e77.1 = specific_constant imports.%Core.LessOrEquivalent.88c, @T.as_type.as.OrderedWith.impl.4ed(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.6eace1.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.a14e77.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.6eace1.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound: = bound_method %int_1.loc22, %LessOrEquivalent.ref.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.931d3c.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn: = specific_function %LessOrEquivalent.ref.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.4(constants.%ImplicitAs.facet.210) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.19ea46.2] -// CHECK:STDOUT: %bound_method.loc22_5.3: = bound_method %int_1.loc22, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn [concrete = constants.%bound_method.cc0313.2] -// CHECK:STDOUT: %impl.elem0.loc22: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem1.loc22: %.4d3 = impl_witness_access constants.%OrderedWith.impl_witness.407, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.0ab3f0.2] +// CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %int_1.loc22, %impl.elem1.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.f6c834.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.b83] +// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.3(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.a01051.1] +// CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %int_1.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.1cd393.1] +// CHECK:STDOUT: %.loc22_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.e2b20e.1 = specific_constant imports.%Core.LessOrEquivalent.88c, @T.as_type.as.OrderedWith.impl.4ed(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.0ab3f0.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.e2b20e.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.0ab3f0.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound: = bound_method %int_1.loc22, %LessOrEquivalent.ref.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.f6c834.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn: = specific_function %LessOrEquivalent.ref.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.4(constants.%ImplicitAs.facet.b83) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.a01051.2] +// CHECK:STDOUT: %bound_method.loc22_5.3: = bound_method %int_1.loc22, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn [concrete = constants.%bound_method.1cd393.2] +// CHECK:STDOUT: %impl.elem0.loc22: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc22_3: = bound_method %int_1.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22: init %Cpp.long = call %bound_method.loc22_3(%int_1.loc22) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc22_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22 [concrete = constants.%int_1.33f] @@ -2481,10 +2481,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.f84: %Copy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.ImplicitAs.impl.Convert.type.6c4: type = fn_type @T.as_type.as.ImplicitAs.impl.Convert, @T.as_type.as.ImplicitAs.impl(%T.f84) [symbolic] // CHECK:STDOUT: %T.as_type.as.ImplicitAs.impl.Convert.61d: %T.as_type.as.ImplicitAs.impl.Convert.type.6c4 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.210: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet.210 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b83: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet.b83 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -2497,155 +2497,155 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.1fe1da.1: %Cpp.long.as.AddAssignWith.impl.Op.type.1757be.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.1757be.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.1fe1da.2: %Cpp.long.as.AddAssignWith.impl.Op.type.1757be.2 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.418: = impl_witness imports.%Copy.impl_witness_table.30d [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long, (%Copy.impl_witness.418) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.0a0: = impl_witness imports.%ImplicitAs.impl_witness_table.5b9, @T.as_type.as.ImplicitAs.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.4c3: %ImplicitAs.type.340 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.0a0) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.f93: = impl_witness imports.%AddAssignWith.impl_witness_table.338, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.3d63eb.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.6dc032.1: %Cpp.long.as.AddAssignWith.impl.Op.type.3d63eb.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.3d63eb.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.6dc032.2: %Cpp.long.as.AddAssignWith.impl.Op.type.3d63eb.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.bbe: %AddAssignWith.type.e06 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.f93) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.8ff: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.bbe) [concrete] -// CHECK:STDOUT: %.8a7: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.8ff, %AddAssignWith.facet.bbe [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9e8d09.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.6dc032.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9e8d09.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.6dc032.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.78e: = impl_witness imports.%Copy.impl_witness_table.842 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long, (%Copy.impl_witness.78e) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.0e1: = impl_witness imports.%ImplicitAs.impl_witness_table.fac, @T.as_type.as.ImplicitAs.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.0ac: %ImplicitAs.type.340 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.0e1) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.26d: = impl_witness imports.%AddAssignWith.impl_witness_table.2c1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.bf13e2.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.1f82a6.1: %Cpp.long.as.AddAssignWith.impl.Op.type.bf13e2.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.bf13e2.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.1f82a6.2: %Cpp.long.as.AddAssignWith.impl.Op.type.bf13e2.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.008: %AddAssignWith.type.e06 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.26d) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.ddd: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.008) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.ddd, %AddAssignWith.facet.008 [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.c73085.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.1f82a6.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.c73085.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.1f82a6.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %SubAssignWith.type.6ba: type = facet_type <@SubAssignWith, @SubAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.24d48a.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.c163a1.1: %Cpp.long.as.SubAssignWith.impl.Op.type.24d48a.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.24d48a.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.c163a1.2: %Cpp.long.as.SubAssignWith.impl.Op.type.24d48a.2 = struct_value () [symbolic] -// CHECK:STDOUT: %SubAssignWith.impl_witness.5f8: = impl_witness imports.%SubAssignWith.impl_witness_table.219, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.57341e.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.a0a7a6.1: %Cpp.long.as.SubAssignWith.impl.Op.type.57341e.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.57341e.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.a0a7a6.2: %Cpp.long.as.SubAssignWith.impl.Op.type.57341e.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.038: %SubAssignWith.type.6ba = facet_value %Cpp.long, (%SubAssignWith.impl_witness.5f8) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.065: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.038) [concrete] -// CHECK:STDOUT: %.52a: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.065, %SubAssignWith.facet.038 [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.95343b.1: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.a0a7a6.2, @Cpp.long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.95343b.2: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.a0a7a6.1, @Cpp.long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness.4a6: = impl_witness imports.%SubAssignWith.impl_witness_table.fec, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.1e8580.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.fbc431.1: %Cpp.long.as.SubAssignWith.impl.Op.type.1e8580.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.1e8580.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.fbc431.2: %Cpp.long.as.SubAssignWith.impl.Op.type.1e8580.2 = struct_value () [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.15d: %SubAssignWith.type.6ba = facet_value %Cpp.long, (%SubAssignWith.impl_witness.4a6) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.218: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.15d) [concrete] +// CHECK:STDOUT: %.655: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.218, %SubAssignWith.facet.15d [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.662a88.1: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.fbc431.2, @Cpp.long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.662a88.2: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.fbc431.1, @Cpp.long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %MulAssignWith.type.642: type = facet_type <@MulAssignWith, @MulAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.aef5ec.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.5870c9.1: %Cpp.long.as.MulAssignWith.impl.Op.type.aef5ec.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.aef5ec.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.5870c9.2: %Cpp.long.as.MulAssignWith.impl.Op.type.aef5ec.2 = struct_value () [symbolic] -// CHECK:STDOUT: %MulAssignWith.impl_witness.2df: = impl_witness imports.%MulAssignWith.impl_witness_table.7c3, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.f7a36d.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.4a1a0a.1: %Cpp.long.as.MulAssignWith.impl.Op.type.f7a36d.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.f7a36d.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.4a1a0a.2: %Cpp.long.as.MulAssignWith.impl.Op.type.f7a36d.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.898: %MulAssignWith.type.642 = facet_value %Cpp.long, (%MulAssignWith.impl_witness.2df) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.587: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.898) [concrete] -// CHECK:STDOUT: %.7e9: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.587, %MulAssignWith.facet.898 [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.f4a246.1: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.4a1a0a.2, @Cpp.long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.f4a246.2: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.4a1a0a.1, @Cpp.long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness.440: = impl_witness imports.%MulAssignWith.impl_witness_table.6f8, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.2c2434.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.2e1fc3.1: %Cpp.long.as.MulAssignWith.impl.Op.type.2c2434.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.2c2434.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.2e1fc3.2: %Cpp.long.as.MulAssignWith.impl.Op.type.2c2434.2 = struct_value () [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.d29: %MulAssignWith.type.642 = facet_value %Cpp.long, (%MulAssignWith.impl_witness.440) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.3d3: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.d29) [concrete] +// CHECK:STDOUT: %.bc6: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.3d3, %MulAssignWith.facet.d29 [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.99fbf8.1: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.2e1fc3.2, @Cpp.long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.99fbf8.2: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.2e1fc3.1, @Cpp.long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %DivAssignWith.type.64b: type = facet_type <@DivAssignWith, @DivAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.5f53e2.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.302d61.1: %Cpp.long.as.DivAssignWith.impl.Op.type.5f53e2.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.5f53e2.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.302d61.2: %Cpp.long.as.DivAssignWith.impl.Op.type.5f53e2.2 = struct_value () [symbolic] -// CHECK:STDOUT: %DivAssignWith.impl_witness.47c: = impl_witness imports.%DivAssignWith.impl_witness_table.c1b, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.00309f.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.2080ca.1: %Cpp.long.as.DivAssignWith.impl.Op.type.00309f.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.00309f.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.2080ca.2: %Cpp.long.as.DivAssignWith.impl.Op.type.00309f.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.e69: %DivAssignWith.type.64b = facet_value %Cpp.long, (%DivAssignWith.impl_witness.47c) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.141: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.e69) [concrete] -// CHECK:STDOUT: %.76b: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.141, %DivAssignWith.facet.e69 [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.ea3d38.1: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.2080ca.2, @Cpp.long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.ea3d38.2: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.2080ca.1, @Cpp.long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness.388: = impl_witness imports.%DivAssignWith.impl_witness_table.d74, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.94e95a.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.a6c1ca.1: %Cpp.long.as.DivAssignWith.impl.Op.type.94e95a.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.94e95a.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.a6c1ca.2: %Cpp.long.as.DivAssignWith.impl.Op.type.94e95a.2 = struct_value () [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.358: %DivAssignWith.type.64b = facet_value %Cpp.long, (%DivAssignWith.impl_witness.388) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.027: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.358) [concrete] +// CHECK:STDOUT: %.7c8: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.027, %DivAssignWith.facet.358 [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.ab7990.1: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.a6c1ca.2, @Cpp.long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.ab7990.2: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.a6c1ca.1, @Cpp.long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %ModAssignWith.type.132: type = facet_type <@ModAssignWith, @ModAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.82500c.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.d0e55c.1: %Cpp.long.as.ModAssignWith.impl.Op.type.82500c.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.82500c.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.d0e55c.2: %Cpp.long.as.ModAssignWith.impl.Op.type.82500c.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ModAssignWith.impl_witness.651: = impl_witness imports.%ModAssignWith.impl_witness_table.fc0, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.f1e8d7.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.c3c3e1.1: %Cpp.long.as.ModAssignWith.impl.Op.type.f1e8d7.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.f1e8d7.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.c3c3e1.2: %Cpp.long.as.ModAssignWith.impl.Op.type.f1e8d7.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.428: %ModAssignWith.type.132 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.651) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.912: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.428) [concrete] -// CHECK:STDOUT: %.b68: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.912, %ModAssignWith.facet.428 [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0903fb.1: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.c3c3e1.2, @Cpp.long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0903fb.2: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.c3c3e1.1, @Cpp.long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness.bf2: = impl_witness imports.%ModAssignWith.impl_witness_table.139, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.915f0b.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.c6a637.1: %Cpp.long.as.ModAssignWith.impl.Op.type.915f0b.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.915f0b.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.c6a637.2: %Cpp.long.as.ModAssignWith.impl.Op.type.915f0b.2 = struct_value () [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.c96: %ModAssignWith.type.132 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.bf2) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.092: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.c96) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.092, %ModAssignWith.facet.c96 [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.457f6e.1: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.c6a637.2, @Cpp.long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.457f6e.2: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.c6a637.1, @Cpp.long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.44e: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.a75e25.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.999389.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.a75e25.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.a75e25.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.999389.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.a75e25.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness.2eb: = impl_witness imports.%BitAndAssignWith.impl_witness_table.966, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.810a37.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.ee7c77.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.810a37.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.810a37.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.ee7c77.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.810a37.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.257: %BitAndAssignWith.type.44e = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.2eb) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.168: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.257) [concrete] -// CHECK:STDOUT: %.48c: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.168, %BitAndAssignWith.facet.257 [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.6f1afe.1: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.ee7c77.2, @Cpp.long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.6f1afe.2: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.ee7c77.1, @Cpp.long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness.66f: = impl_witness imports.%BitAndAssignWith.impl_witness_table.c17, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.583d50.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.2b3ee9.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.583d50.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.583d50.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.2b3ee9.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.583d50.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.11d: %BitAndAssignWith.type.44e = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.66f) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.399: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.11d) [concrete] +// CHECK:STDOUT: %.696: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.399, %BitAndAssignWith.facet.11d [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.76c5c3.1: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.2b3ee9.2, @Cpp.long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.76c5c3.2: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.2b3ee9.1, @Cpp.long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.e7d: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.075426.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.2cf22a.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.075426.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.075426.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.2cf22a.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.075426.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness.0bb: = impl_witness imports.%BitOrAssignWith.impl_witness_table.22c, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.64caa1.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.0dfa3a.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.64caa1.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.64caa1.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.0dfa3a.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.64caa1.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.fa5: %BitOrAssignWith.type.e7d = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.0bb) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.fd3: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.fa5) [concrete] -// CHECK:STDOUT: %.4cc: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.fd3, %BitOrAssignWith.facet.fa5 [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.8bbade.1: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.0dfa3a.2, @Cpp.long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.8bbade.2: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.0dfa3a.1, @Cpp.long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness.980: = impl_witness imports.%BitOrAssignWith.impl_witness_table.65b, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.6c8d67.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.fe9f4e.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.6c8d67.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.6c8d67.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.fe9f4e.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.6c8d67.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.5ef: %BitOrAssignWith.type.e7d = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.980) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.85c: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.5ef) [concrete] +// CHECK:STDOUT: %.622: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.85c, %BitOrAssignWith.facet.5ef [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.2cb4f5.1: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.fe9f4e.2, @Cpp.long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.2cb4f5.2: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.fe9f4e.1, @Cpp.long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.ce1: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.5d04ed.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.d86e90.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.5d04ed.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.5d04ed.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.d86e90.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.5d04ed.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness.2c6: = impl_witness imports.%BitXorAssignWith.impl_witness_table.98a, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1a1f6e.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.4e19d3.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1a1f6e.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1a1f6e.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.4e19d3.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1a1f6e.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.28a: %BitXorAssignWith.type.ce1 = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.2c6) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.9b8: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.28a) [concrete] -// CHECK:STDOUT: %.569: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.9b8, %BitXorAssignWith.facet.28a [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.f62acd.1: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.4e19d3.2, @Cpp.long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.f62acd.2: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.4e19d3.1, @Cpp.long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness.158: = impl_witness imports.%BitXorAssignWith.impl_witness_table.360, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.6882b1.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.7add11.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.6882b1.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.6882b1.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.7add11.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.6882b1.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.a89: %BitXorAssignWith.type.ce1 = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.158) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.896: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.a89) [concrete] +// CHECK:STDOUT: %.463: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.896, %BitXorAssignWith.facet.a89 [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.51e38d.1: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.7add11.2, @Cpp.long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.51e38d.2: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.7add11.1, @Cpp.long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.452: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.d0d9a1.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.74ba28.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.d0d9a1.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.d0d9a1.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.74ba28.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.d0d9a1.2 = struct_value () [symbolic] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.d34: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.041, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.ec8ae6.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.c3371c.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.ec8ae6.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.ec8ae6.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.c3371c.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.ec8ae6.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.d3d: %LeftShiftAssignWith.type.452 = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.d34) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.9a1: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.d3d) [concrete] -// CHECK:STDOUT: %.cf6: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.9a1, %LeftShiftAssignWith.facet.d3d [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.34c23f.1: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.c3371c.2, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.34c23f.2: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.c3371c.1, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.e1c: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.39a, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.56f076.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.d57ba2.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.56f076.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.56f076.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.d57ba2.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.56f076.2 = struct_value () [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.cf7: %LeftShiftAssignWith.type.452 = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.e1c) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.d68: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.cf7) [concrete] +// CHECK:STDOUT: %.134: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.d68, %LeftShiftAssignWith.facet.cf7 [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.5e9221.1: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.d57ba2.2, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.5e9221.2: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.d57ba2.1, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.f17: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.dd27f0.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.9a6679.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.dd27f0.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.dd27f0.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.9a6679.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.dd27f0.2 = struct_value () [symbolic] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.350: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.d21, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.5465ae.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.d03ce7.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.5465ae.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.5465ae.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.d03ce7.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.5465ae.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.679: %RightShiftAssignWith.type.f17 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.350) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.bcc: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.679) [concrete] -// CHECK:STDOUT: %.2db: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.bcc, %RightShiftAssignWith.facet.679 [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.ac9b9d.1: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.d03ce7.2, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.4c3) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.ac9b9d.2: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.d03ce7.1, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.4c3) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.7f8: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.435, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.62007c.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.3dae5a.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.62007c.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.62007c.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.3dae5a.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.62007c.2 = struct_value () [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.af7: %RightShiftAssignWith.type.f17 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.7f8) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.efa: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.af7) [concrete] +// CHECK:STDOUT: %.934: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.efa, %RightShiftAssignWith.facet.af7 [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.368c78.1: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.3dae5a.2, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.0ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.368c78.2: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.3dae5a.1, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.0ac) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.Copy.impl.Op.type: type = fn_type @Cpp.long.as.Copy.impl.Op [concrete] @@ -2658,40 +2658,40 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.051: @T.as_type.as.ImplicitAs.impl.%T.as_type.as.ImplicitAs.impl.Convert.type (%T.as_type.as.ImplicitAs.impl.Convert.type.6c4) = import_ref Core//prelude/types/cpp/int, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.ImplicitAs.impl.%T.as_type.as.ImplicitAs.impl.Convert (constants.%T.as_type.as.ImplicitAs.impl.Convert.61d)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5b9 = impl_witness_table (%Core.import_ref.051), @T.as_type.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.fac = impl_witness_table (%Core.import_ref.051), @T.as_type.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %Core.import_ref.d3c: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long.as.AddAssignWith.impl.Op.type.1757be.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long.as.AddAssignWith.impl.Op.1fe1da.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.338 = impl_witness_table (%Core.import_ref.d3c), @Cpp.long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.2c1 = impl_witness_table (%Core.import_ref.d3c), @Cpp.long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.373: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long.as.AddAssignWith.impl.Op.type.1757be.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long.as.AddAssignWith.impl.Op.1fe1da.2)] // CHECK:STDOUT: %Core.import_ref.9c3: %Cpp.long.as.Copy.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.30d = impl_witness_table (%Core.import_ref.9c3), @Cpp.long.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.842 = impl_witness_table (%Core.import_ref.9c3), @Cpp.long.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.f7887: @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.type.2 (%Cpp.long.as.SubAssignWith.impl.Op.type.24d48a.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.2 (constants.%Cpp.long.as.SubAssignWith.impl.Op.c163a1.1)] -// CHECK:STDOUT: %SubAssignWith.impl_witness_table.219 = impl_witness_table (%Core.import_ref.f7887), @Cpp.long.as.SubAssignWith.impl [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness_table.fec = impl_witness_table (%Core.import_ref.f7887), @Cpp.long.as.SubAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.789: @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.type.1 (%Cpp.long.as.SubAssignWith.impl.Op.type.24d48a.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.1 (constants.%Cpp.long.as.SubAssignWith.impl.Op.c163a1.2)] // CHECK:STDOUT: %Core.import_ref.094: @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.type.2 (%Cpp.long.as.MulAssignWith.impl.Op.type.aef5ec.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.2 (constants.%Cpp.long.as.MulAssignWith.impl.Op.5870c9.1)] -// CHECK:STDOUT: %MulAssignWith.impl_witness_table.7c3 = impl_witness_table (%Core.import_ref.094), @Cpp.long.as.MulAssignWith.impl [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness_table.6f8 = impl_witness_table (%Core.import_ref.094), @Cpp.long.as.MulAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.b2c: @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.type.1 (%Cpp.long.as.MulAssignWith.impl.Op.type.aef5ec.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.1 (constants.%Cpp.long.as.MulAssignWith.impl.Op.5870c9.2)] // CHECK:STDOUT: %Core.import_ref.a6a: @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.type.2 (%Cpp.long.as.DivAssignWith.impl.Op.type.5f53e2.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.2 (constants.%Cpp.long.as.DivAssignWith.impl.Op.302d61.1)] -// CHECK:STDOUT: %DivAssignWith.impl_witness_table.c1b = impl_witness_table (%Core.import_ref.a6a), @Cpp.long.as.DivAssignWith.impl [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness_table.d74 = impl_witness_table (%Core.import_ref.a6a), @Cpp.long.as.DivAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.f8d: @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.type.1 (%Cpp.long.as.DivAssignWith.impl.Op.type.5f53e2.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.1 (constants.%Cpp.long.as.DivAssignWith.impl.Op.302d61.2)] -// CHECK:STDOUT: %Core.import_ref.56bc: @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.type.2 (%Cpp.long.as.ModAssignWith.impl.Op.type.82500c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.2 (constants.%Cpp.long.as.ModAssignWith.impl.Op.d0e55c.1)] -// CHECK:STDOUT: %ModAssignWith.impl_witness_table.fc0 = impl_witness_table (%Core.import_ref.56bc), @Cpp.long.as.ModAssignWith.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.56b: @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.type.2 (%Cpp.long.as.ModAssignWith.impl.Op.type.82500c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.2 (constants.%Cpp.long.as.ModAssignWith.impl.Op.d0e55c.1)] +// CHECK:STDOUT: %ModAssignWith.impl_witness_table.139 = impl_witness_table (%Core.import_ref.56b), @Cpp.long.as.ModAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.6f1: @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.type.1 (%Cpp.long.as.ModAssignWith.impl.Op.type.82500c.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.1 (constants.%Cpp.long.as.ModAssignWith.impl.Op.d0e55c.2)] // CHECK:STDOUT: %Core.import_ref.130: @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.type.2 (%Cpp.long.as.BitAndAssignWith.impl.Op.type.a75e25.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitAndAssignWith.impl.Op.999389.1)] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.966 = impl_witness_table (%Core.import_ref.130), @Cpp.long.as.BitAndAssignWith.impl [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.c17 = impl_witness_table (%Core.import_ref.130), @Cpp.long.as.BitAndAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.09f: @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.type.1 (%Cpp.long.as.BitAndAssignWith.impl.Op.type.a75e25.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.1 (constants.%Cpp.long.as.BitAndAssignWith.impl.Op.999389.2)] // CHECK:STDOUT: %Core.import_ref.839: @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.type.2 (%Cpp.long.as.BitOrAssignWith.impl.Op.type.075426.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitOrAssignWith.impl.Op.2cf22a.1)] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.22c = impl_witness_table (%Core.import_ref.839), @Cpp.long.as.BitOrAssignWith.impl [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.65b = impl_witness_table (%Core.import_ref.839), @Cpp.long.as.BitOrAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.607: @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.type.1 (%Cpp.long.as.BitOrAssignWith.impl.Op.type.075426.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.1 (constants.%Cpp.long.as.BitOrAssignWith.impl.Op.2cf22a.2)] -// CHECK:STDOUT: %Core.import_ref.39ee: @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long.as.BitXorAssignWith.impl.Op.type.5d04ed.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitXorAssignWith.impl.Op.d86e90.1)] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.98a = impl_witness_table (%Core.import_ref.39ee), @Cpp.long.as.BitXorAssignWith.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.39e: @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long.as.BitXorAssignWith.impl.Op.type.5d04ed.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitXorAssignWith.impl.Op.d86e90.1)] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.360 = impl_witness_table (%Core.import_ref.39e), @Cpp.long.as.BitXorAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.aed: @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.type.1 (%Cpp.long.as.BitXorAssignWith.impl.Op.type.5d04ed.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.1 (constants.%Cpp.long.as.BitXorAssignWith.impl.Op.d86e90.2)] // CHECK:STDOUT: %Core.import_ref.7f9: @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.2 (%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.d0d9a1.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.2 (constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.74ba28.1)] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.041 = impl_witness_table (%Core.import_ref.7f9), @Cpp.long.as.LeftShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.39a = impl_witness_table (%Core.import_ref.7f9), @Cpp.long.as.LeftShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.114: @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.1 (%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.d0d9a1.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.1 (constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.74ba28.2)] // CHECK:STDOUT: %Core.import_ref.919: @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.type.2 (%Cpp.long.as.RightShiftAssignWith.impl.Op.type.dd27f0.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.2 (constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.9a6679.1)] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.d21 = impl_witness_table (%Core.import_ref.919), @Cpp.long.as.RightShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.435 = impl_witness_table (%Core.import_ref.919), @Cpp.long.as.RightShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.592: @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.type.1 (%Cpp.long.as.RightShiftAssignWith.impl.Op.type.dd27f0.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.1 (constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.9a6679.2)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2699,7 +2699,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc8_3: init %Cpp.long = converted %int_1.loc8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.33f] @@ -2715,7 +2715,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %Cpp.long = var_storage %b.var_patt // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc9_3: init %Cpp.long = converted %int_1.loc9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.33f] @@ -2731,172 +2731,172 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc11: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc11: %.8a7 = impl_witness_access constants.%AddAssignWith.impl_witness.f93, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.6dc032.2] +// CHECK:STDOUT: %impl.elem0.loc11: %.eef = impl_witness_access constants.%AddAssignWith.impl_witness.26d, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.1f82a6.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %a.ref.loc11, %impl.elem0.loc11 -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9e8d09.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.c73085.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %a.ref.loc11, %specific_fn.loc11 // CHECK:STDOUT: %.loc11_8: %Cpp.long = acquire_value %b.ref.loc11 -// CHECK:STDOUT: %.loc11_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.3d63eb.1 = specific_constant imports.%Core.Op.373, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.6dc032.1] -// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long.as.AddAssignWith.impl.Op.type.3d63eb.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.6dc032.1] +// CHECK:STDOUT: %.loc11_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.bf13e2.1 = specific_constant imports.%Core.Op.373, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.1f82a6.1] +// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long.as.AddAssignWith.impl.Op.type.bf13e2.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.1f82a6.1] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref.loc11, %Op.ref.loc11 -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9e8d09.2] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.c73085.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %a.ref.loc11, %Cpp.long.as.AddAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc11_5.3(%a.ref.loc11, %.loc11_8) // CHECK:STDOUT: %a.ref.loc12: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc12: %.52a = impl_witness_access constants.%SubAssignWith.impl_witness.5f8, element0 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.a0a7a6.2] +// CHECK:STDOUT: %impl.elem0.loc12: %.655 = impl_witness_access constants.%SubAssignWith.impl_witness.4a6, element0 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.fbc431.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %a.ref.loc12, %impl.elem0.loc12 -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Cpp.long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.95343b.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Cpp.long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.662a88.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %a.ref.loc12, %specific_fn.loc12 // CHECK:STDOUT: %.loc12_8: %Cpp.long = acquire_value %b.ref.loc12 -// CHECK:STDOUT: %.loc12_5.3: %Cpp.long.as.SubAssignWith.impl.Op.type.57341e.1 = specific_constant imports.%Core.Op.789, @Cpp.long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.a0a7a6.1] -// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long.as.SubAssignWith.impl.Op.type.57341e.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.a0a7a6.1] +// CHECK:STDOUT: %.loc12_5.3: %Cpp.long.as.SubAssignWith.impl.Op.type.1e8580.1 = specific_constant imports.%Core.Op.789, @Cpp.long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.fbc431.1] +// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long.as.SubAssignWith.impl.Op.type.1e8580.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.fbc431.1] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.bound: = bound_method %a.ref.loc12, %Op.ref.loc12 -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.95343b.2] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.662a88.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %a.ref.loc12, %Cpp.long.as.SubAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc12_5.3(%a.ref.loc12, %.loc12_8) // CHECK:STDOUT: %a.ref.loc13: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13: %.7e9 = impl_witness_access constants.%MulAssignWith.impl_witness.2df, element0 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.4a1a0a.2] +// CHECK:STDOUT: %impl.elem0.loc13: %.bc6 = impl_witness_access constants.%MulAssignWith.impl_witness.440, element0 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.2e1fc3.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %a.ref.loc13, %impl.elem0.loc13 -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Cpp.long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.f4a246.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Cpp.long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.99fbf8.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %a.ref.loc13, %specific_fn.loc13 // CHECK:STDOUT: %.loc13_8: %Cpp.long = acquire_value %b.ref.loc13 -// CHECK:STDOUT: %.loc13_5.3: %Cpp.long.as.MulAssignWith.impl.Op.type.f7a36d.1 = specific_constant imports.%Core.Op.b2c, @Cpp.long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.4a1a0a.1] -// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long.as.MulAssignWith.impl.Op.type.f7a36d.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.4a1a0a.1] +// CHECK:STDOUT: %.loc13_5.3: %Cpp.long.as.MulAssignWith.impl.Op.type.2c2434.1 = specific_constant imports.%Core.Op.b2c, @Cpp.long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.2e1fc3.1] +// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long.as.MulAssignWith.impl.Op.type.2c2434.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.2e1fc3.1] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.bound: = bound_method %a.ref.loc13, %Op.ref.loc13 -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.f4a246.2] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.99fbf8.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %a.ref.loc13, %Cpp.long.as.MulAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc13_5.3(%a.ref.loc13, %.loc13_8) // CHECK:STDOUT: %a.ref.loc14: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc14: %.76b = impl_witness_access constants.%DivAssignWith.impl_witness.47c, element0 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.2080ca.2] +// CHECK:STDOUT: %impl.elem0.loc14: %.7c8 = impl_witness_access constants.%DivAssignWith.impl_witness.388, element0 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.a6c1ca.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %a.ref.loc14, %impl.elem0.loc14 -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Cpp.long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.ea3d38.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Cpp.long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.ab7990.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %a.ref.loc14, %specific_fn.loc14 // CHECK:STDOUT: %.loc14_8: %Cpp.long = acquire_value %b.ref.loc14 -// CHECK:STDOUT: %.loc14_5.3: %Cpp.long.as.DivAssignWith.impl.Op.type.00309f.1 = specific_constant imports.%Core.Op.f8d, @Cpp.long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.2080ca.1] -// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long.as.DivAssignWith.impl.Op.type.00309f.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.2080ca.1] +// CHECK:STDOUT: %.loc14_5.3: %Cpp.long.as.DivAssignWith.impl.Op.type.94e95a.1 = specific_constant imports.%Core.Op.f8d, @Cpp.long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.a6c1ca.1] +// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long.as.DivAssignWith.impl.Op.type.94e95a.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.a6c1ca.1] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.bound: = bound_method %a.ref.loc14, %Op.ref.loc14 -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.ea3d38.2] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.ab7990.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %a.ref.loc14, %Cpp.long.as.DivAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc14_5.3(%a.ref.loc14, %.loc14_8) // CHECK:STDOUT: %a.ref.loc15: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc15: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc15: %.b68 = impl_witness_access constants.%ModAssignWith.impl_witness.651, element0 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.c3c3e1.2] +// CHECK:STDOUT: %impl.elem0.loc15: %.737 = impl_witness_access constants.%ModAssignWith.impl_witness.bf2, element0 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.c6a637.2] // CHECK:STDOUT: %bound_method.loc15_5.1: = bound_method %a.ref.loc15, %impl.elem0.loc15 -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Cpp.long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0903fb.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Cpp.long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.457f6e.1] // CHECK:STDOUT: %bound_method.loc15_5.2: = bound_method %a.ref.loc15, %specific_fn.loc15 // CHECK:STDOUT: %.loc15_8: %Cpp.long = acquire_value %b.ref.loc15 -// CHECK:STDOUT: %.loc15_5.3: %Cpp.long.as.ModAssignWith.impl.Op.type.f1e8d7.1 = specific_constant imports.%Core.Op.6f1, @Cpp.long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.c3c3e1.1] -// CHECK:STDOUT: %Op.ref.loc15: %Cpp.long.as.ModAssignWith.impl.Op.type.f1e8d7.1 = name_ref Op, %.loc15_5.3 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.c3c3e1.1] +// CHECK:STDOUT: %.loc15_5.3: %Cpp.long.as.ModAssignWith.impl.Op.type.915f0b.1 = specific_constant imports.%Core.Op.6f1, @Cpp.long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.c6a637.1] +// CHECK:STDOUT: %Op.ref.loc15: %Cpp.long.as.ModAssignWith.impl.Op.type.915f0b.1 = name_ref Op, %.loc15_5.3 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.c6a637.1] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.bound: = bound_method %a.ref.loc15, %Op.ref.loc15 -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc15, @Cpp.long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0903fb.2] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc15, @Cpp.long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.457f6e.2] // CHECK:STDOUT: %bound_method.loc15_5.3: = bound_method %a.ref.loc15, %Cpp.long.as.ModAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc15_5.3(%a.ref.loc15, %.loc15_8) // CHECK:STDOUT: %a.ref.loc17: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc17: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc17: %.48c = impl_witness_access constants.%BitAndAssignWith.impl_witness.2eb, element0 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.ee7c77.2] +// CHECK:STDOUT: %impl.elem0.loc17: %.696 = impl_witness_access constants.%BitAndAssignWith.impl_witness.66f, element0 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.2b3ee9.2] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %a.ref.loc17, %impl.elem0.loc17 -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Cpp.long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.6f1afe.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Cpp.long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.76c5c3.1] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %a.ref.loc17, %specific_fn.loc17 // CHECK:STDOUT: %.loc17_8: %Cpp.long = acquire_value %b.ref.loc17 -// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.BitAndAssignWith.impl.Op.type.810a37.1 = specific_constant imports.%Core.Op.09f, @Cpp.long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.ee7c77.1] -// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long.as.BitAndAssignWith.impl.Op.type.810a37.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.ee7c77.1] +// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.BitAndAssignWith.impl.Op.type.583d50.1 = specific_constant imports.%Core.Op.09f, @Cpp.long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.2b3ee9.1] +// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long.as.BitAndAssignWith.impl.Op.type.583d50.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.2b3ee9.1] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.bound: = bound_method %a.ref.loc17, %Op.ref.loc17 -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.6f1afe.2] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.76c5c3.2] // CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %a.ref.loc17, %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc17_5.3(%a.ref.loc17, %.loc17_8) // CHECK:STDOUT: %a.ref.loc18: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc18: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc18: %.4cc = impl_witness_access constants.%BitOrAssignWith.impl_witness.0bb, element0 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.0dfa3a.2] +// CHECK:STDOUT: %impl.elem0.loc18: %.622 = impl_witness_access constants.%BitOrAssignWith.impl_witness.980, element0 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.fe9f4e.2] // CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %a.ref.loc18, %impl.elem0.loc18 -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Cpp.long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.8bbade.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Cpp.long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.2cb4f5.1] // CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %a.ref.loc18, %specific_fn.loc18 // CHECK:STDOUT: %.loc18_8: %Cpp.long = acquire_value %b.ref.loc18 -// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.BitOrAssignWith.impl.Op.type.64caa1.1 = specific_constant imports.%Core.Op.607, @Cpp.long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.0dfa3a.1] -// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long.as.BitOrAssignWith.impl.Op.type.64caa1.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.0dfa3a.1] +// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.BitOrAssignWith.impl.Op.type.6c8d67.1 = specific_constant imports.%Core.Op.607, @Cpp.long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.fe9f4e.1] +// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long.as.BitOrAssignWith.impl.Op.type.6c8d67.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.fe9f4e.1] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.bound: = bound_method %a.ref.loc18, %Op.ref.loc18 -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.8bbade.2] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.2cb4f5.2] // CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %a.ref.loc18, %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc18_5.3(%a.ref.loc18, %.loc18_8) // CHECK:STDOUT: %a.ref.loc19: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc19: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc19: %.569 = impl_witness_access constants.%BitXorAssignWith.impl_witness.2c6, element0 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.4e19d3.2] +// CHECK:STDOUT: %impl.elem0.loc19: %.463 = impl_witness_access constants.%BitXorAssignWith.impl_witness.158, element0 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.7add11.2] // CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %a.ref.loc19, %impl.elem0.loc19 -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Cpp.long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.f62acd.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Cpp.long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.51e38d.1] // CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %a.ref.loc19, %specific_fn.loc19 // CHECK:STDOUT: %.loc19_8: %Cpp.long = acquire_value %b.ref.loc19 -// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1a1f6e.1 = specific_constant imports.%Core.Op.aed, @Cpp.long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.4e19d3.1] -// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1a1f6e.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.4e19d3.1] +// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.BitXorAssignWith.impl.Op.type.6882b1.1 = specific_constant imports.%Core.Op.aed, @Cpp.long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.7add11.1] +// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long.as.BitXorAssignWith.impl.Op.type.6882b1.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.7add11.1] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.bound: = bound_method %a.ref.loc19, %Op.ref.loc19 -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.f62acd.2] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.51e38d.2] // CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %a.ref.loc19, %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc19_5.3(%a.ref.loc19, %.loc19_8) // CHECK:STDOUT: %a.ref.loc20: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc20: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc20: %.cf6 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.d34, element0 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.c3371c.2] +// CHECK:STDOUT: %impl.elem0.loc20: %.134 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.e1c, element0 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.d57ba2.2] // CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %a.ref.loc20, %impl.elem0.loc20 -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.34c23f.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.5e9221.1] // CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %a.ref.loc20, %specific_fn.loc20 // CHECK:STDOUT: %.loc20_9: %Cpp.long = acquire_value %b.ref.loc20 -// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.ec8ae6.1 = specific_constant imports.%Core.Op.114, @Cpp.long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.c3371c.1] -// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.ec8ae6.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.c3371c.1] +// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.56f076.1 = specific_constant imports.%Core.Op.114, @Cpp.long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.d57ba2.1] +// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.56f076.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.d57ba2.1] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc20, %Op.ref.loc20 -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.34c23f.2] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.5e9221.2] // CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %a.ref.loc20, %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc20_5.3(%a.ref.loc20, %.loc20_9) // CHECK:STDOUT: %a.ref.loc21: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc21: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc21: %.2db = impl_witness_access constants.%RightShiftAssignWith.impl_witness.350, element0 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.d03ce7.2] +// CHECK:STDOUT: %impl.elem0.loc21: %.934 = impl_witness_access constants.%RightShiftAssignWith.impl_witness.7f8, element0 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.3dae5a.2] // CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %a.ref.loc21, %impl.elem0.loc21 -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0a0) [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.4c3] -// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.ac9b9d.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.340 = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0e1) [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.340 = converted constants.%Cpp.long, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.0ac] +// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.368c78.1] // CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %a.ref.loc21, %specific_fn.loc21 // CHECK:STDOUT: %.loc21_9: %Cpp.long = acquire_value %b.ref.loc21 -// CHECK:STDOUT: %.loc21_5.3: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.5465ae.1 = specific_constant imports.%Core.Op.592, @Cpp.long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.d03ce7.1] -// CHECK:STDOUT: %Op.ref.loc21: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.5465ae.1 = name_ref Op, %.loc21_5.3 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.d03ce7.1] +// CHECK:STDOUT: %.loc21_5.3: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.62007c.1 = specific_constant imports.%Core.Op.592, @Cpp.long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.3dae5a.1] +// CHECK:STDOUT: %Op.ref.loc21: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.62007c.1 = name_ref Op, %.loc21_5.3 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.3dae5a.1] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc21, %Op.ref.loc21 -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc21, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4c3) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.ac9b9d.2] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc21, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.0ac) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.368c78.2] // CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %a.ref.loc21, %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc21_5.3(%a.ref.loc21, %.loc21_9) // CHECK:STDOUT: %Destroy.Op.bound.loc9: = bound_method %b.var, constants.%Destroy.Op.1a2547.3 @@ -2932,10 +2932,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %pattern_type.ada: type = pattern_type %Cpp.long [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.ada = value_binding_pattern b [concrete] // CHECK:STDOUT: %ImplicitAs.type.340: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.210: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet.210 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b83: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet.b83 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -2947,20 +2947,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.45b360.1: %Int.as.AddAssignWith.impl.Op.type.a58fbe.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.a58fbe.2: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.45b360.2: %Int.as.AddAssignWith.impl.Op.type.a58fbe.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table.a3a [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.c71: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.3ce: = impl_witness imports.%AddAssignWith.impl_witness_table.c0b, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.d4b879.1: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.4484b8.1: %Int.as.AddAssignWith.impl.Op.type.d4b879.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.d4b879.2: type = fn_type @Int.as.AddAssignWith.impl.Op.1, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.4484b8.2: %Int.as.AddAssignWith.impl.Op.type.d4b879.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.2ea: %AddAssignWith.type.e06 = facet_value %i64, (%AddAssignWith.impl_witness.3ce) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.987: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.2ea) [concrete] -// CHECK:STDOUT: %.f16: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.987, %AddAssignWith.facet.2ea [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.b74b59.1: = specific_function %Int.as.AddAssignWith.impl.Op.4484b8.2, @Int.as.AddAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.b74b59.2: = specific_function %Int.as.AddAssignWith.impl.Op.4484b8.1, @Int.as.AddAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.294: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.9e1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.294, %ImplicitAs.facet.c71 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.329: = impl_witness imports.%ImplicitAs.impl_witness_table.00c [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8fd: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.329) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.80d: = impl_witness imports.%AddAssignWith.impl_witness_table.017, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.58ddfe.1: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.3fffc9.1: %Int.as.AddAssignWith.impl.Op.type.58ddfe.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.58ddfe.2: type = fn_type @Int.as.AddAssignWith.impl.Op.1, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.3fffc9.2: %Int.as.AddAssignWith.impl.Op.type.58ddfe.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.e82: %AddAssignWith.type.e06 = facet_value %i64, (%AddAssignWith.impl_witness.80d) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.def: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.e82) [concrete] +// CHECK:STDOUT: %.d61: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.def, %AddAssignWith.facet.e82 [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.64d5fa.1: = specific_function %Int.as.AddAssignWith.impl.Op.3fffc9.2, @Int.as.AddAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.64d5fa.2: = specific_function %Int.as.AddAssignWith.impl.Op.3fffc9.1, @Int.as.AddAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d9b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.bf5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d9b, %ImplicitAs.facet.8fd [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert: %Cpp.long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %SubAssignWith.type.6ba: type = facet_type <@SubAssignWith, @SubAssignWith(%Cpp.long)> [concrete] @@ -2968,136 +2968,136 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.f183ca.1: %Int.as.SubAssignWith.impl.Op.type.8ef325.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.type.8ef325.2: type = fn_type @Int.as.SubAssignWith.impl.Op.2, @Int.as.SubAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.f183ca.2: %Int.as.SubAssignWith.impl.Op.type.8ef325.2 = struct_value () [symbolic] -// CHECK:STDOUT: %SubAssignWith.impl_witness.9f7: = impl_witness imports.%SubAssignWith.impl_witness_table.ed9, @Int.as.SubAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.type.a048ce.1: type = fn_type @Int.as.SubAssignWith.impl.Op.2, @Int.as.SubAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.880561.1: %Int.as.SubAssignWith.impl.Op.type.a048ce.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.type.a048ce.2: type = fn_type @Int.as.SubAssignWith.impl.Op.1, @Int.as.SubAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.880561.2: %Int.as.SubAssignWith.impl.Op.type.a048ce.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.ae4: %SubAssignWith.type.6ba = facet_value %i64, (%SubAssignWith.impl_witness.9f7) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.bb2: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.ae4) [concrete] -// CHECK:STDOUT: %.d91: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.bb2, %SubAssignWith.facet.ae4 [concrete] -// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.specific_fn.854c3f.1: = specific_function %Int.as.SubAssignWith.impl.Op.880561.2, @Int.as.SubAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.specific_fn.854c3f.2: = specific_function %Int.as.SubAssignWith.impl.Op.880561.1, @Int.as.SubAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness.853: = impl_witness imports.%SubAssignWith.impl_witness_table.d16, @Int.as.SubAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.type.2e45c0.1: type = fn_type @Int.as.SubAssignWith.impl.Op.2, @Int.as.SubAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.d64d36.1: %Int.as.SubAssignWith.impl.Op.type.2e45c0.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.type.2e45c0.2: type = fn_type @Int.as.SubAssignWith.impl.Op.1, @Int.as.SubAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.d64d36.2: %Int.as.SubAssignWith.impl.Op.type.2e45c0.2 = struct_value () [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.42d: %SubAssignWith.type.6ba = facet_value %i64, (%SubAssignWith.impl_witness.853) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.ca4: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.42d) [concrete] +// CHECK:STDOUT: %.d44: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.ca4, %SubAssignWith.facet.42d [concrete] +// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.specific_fn.7a2a33.1: = specific_function %Int.as.SubAssignWith.impl.Op.d64d36.2, @Int.as.SubAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.specific_fn.7a2a33.2: = specific_function %Int.as.SubAssignWith.impl.Op.d64d36.1, @Int.as.SubAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %MulAssignWith.type.642: type = facet_type <@MulAssignWith, @MulAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.type.99e92a.1: type = fn_type @Int.as.MulAssignWith.impl.Op.1, @Int.as.MulAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.1fe857.1: %Int.as.MulAssignWith.impl.Op.type.99e92a.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.type.99e92a.2: type = fn_type @Int.as.MulAssignWith.impl.Op.2, @Int.as.MulAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.1fe857.2: %Int.as.MulAssignWith.impl.Op.type.99e92a.2 = struct_value () [symbolic] -// CHECK:STDOUT: %MulAssignWith.impl_witness.5a7: = impl_witness imports.%MulAssignWith.impl_witness_table.bb2, @Int.as.MulAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.type.25fd2b.1: type = fn_type @Int.as.MulAssignWith.impl.Op.2, @Int.as.MulAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.700938.1: %Int.as.MulAssignWith.impl.Op.type.25fd2b.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.type.25fd2b.2: type = fn_type @Int.as.MulAssignWith.impl.Op.1, @Int.as.MulAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.700938.2: %Int.as.MulAssignWith.impl.Op.type.25fd2b.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.203: %MulAssignWith.type.642 = facet_value %i64, (%MulAssignWith.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.331: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.203) [concrete] -// CHECK:STDOUT: %.7b5: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.331, %MulAssignWith.facet.203 [concrete] -// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.specific_fn.e90d66.1: = specific_function %Int.as.MulAssignWith.impl.Op.700938.2, @Int.as.MulAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.specific_fn.e90d66.2: = specific_function %Int.as.MulAssignWith.impl.Op.700938.1, @Int.as.MulAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness.f8b: = impl_witness imports.%MulAssignWith.impl_witness_table.70d, @Int.as.MulAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.type.88673a.1: type = fn_type @Int.as.MulAssignWith.impl.Op.2, @Int.as.MulAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.42a887.1: %Int.as.MulAssignWith.impl.Op.type.88673a.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.type.88673a.2: type = fn_type @Int.as.MulAssignWith.impl.Op.1, @Int.as.MulAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.42a887.2: %Int.as.MulAssignWith.impl.Op.type.88673a.2 = struct_value () [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.e3a: %MulAssignWith.type.642 = facet_value %i64, (%MulAssignWith.impl_witness.f8b) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.d2b: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.e3a) [concrete] +// CHECK:STDOUT: %.c1a4: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.d2b, %MulAssignWith.facet.e3a [concrete] +// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.specific_fn.c35fe3.1: = specific_function %Int.as.MulAssignWith.impl.Op.42a887.2, @Int.as.MulAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.specific_fn.c35fe3.2: = specific_function %Int.as.MulAssignWith.impl.Op.42a887.1, @Int.as.MulAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %DivAssignWith.type.64b: type = facet_type <@DivAssignWith, @DivAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.type.33a652.1: type = fn_type @Int.as.DivAssignWith.impl.Op.1, @Int.as.DivAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.e8972a.1: %Int.as.DivAssignWith.impl.Op.type.33a652.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.type.33a652.2: type = fn_type @Int.as.DivAssignWith.impl.Op.2, @Int.as.DivAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.e8972a.2: %Int.as.DivAssignWith.impl.Op.type.33a652.2 = struct_value () [symbolic] -// CHECK:STDOUT: %DivAssignWith.impl_witness.39f: = impl_witness imports.%DivAssignWith.impl_witness_table.ff8, @Int.as.DivAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.type.92ce4f.1: type = fn_type @Int.as.DivAssignWith.impl.Op.2, @Int.as.DivAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.c6930d.1: %Int.as.DivAssignWith.impl.Op.type.92ce4f.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.type.92ce4f.2: type = fn_type @Int.as.DivAssignWith.impl.Op.1, @Int.as.DivAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.c6930d.2: %Int.as.DivAssignWith.impl.Op.type.92ce4f.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.4a4: %DivAssignWith.type.64b = facet_value %i64, (%DivAssignWith.impl_witness.39f) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.f0d: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.4a4) [concrete] -// CHECK:STDOUT: %.c68: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.f0d, %DivAssignWith.facet.4a4 [concrete] -// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.specific_fn.0454de.1: = specific_function %Int.as.DivAssignWith.impl.Op.c6930d.2, @Int.as.DivAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.specific_fn.0454de.2: = specific_function %Int.as.DivAssignWith.impl.Op.c6930d.1, @Int.as.DivAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness.42f: = impl_witness imports.%DivAssignWith.impl_witness_table.19c, @Int.as.DivAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.type.3fa6f9.1: type = fn_type @Int.as.DivAssignWith.impl.Op.2, @Int.as.DivAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.e9fca5.1: %Int.as.DivAssignWith.impl.Op.type.3fa6f9.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.type.3fa6f9.2: type = fn_type @Int.as.DivAssignWith.impl.Op.1, @Int.as.DivAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.e9fca5.2: %Int.as.DivAssignWith.impl.Op.type.3fa6f9.2 = struct_value () [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.6f8: %DivAssignWith.type.64b = facet_value %i64, (%DivAssignWith.impl_witness.42f) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.0b6: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.6f8) [concrete] +// CHECK:STDOUT: %.fa7: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.0b6, %DivAssignWith.facet.6f8 [concrete] +// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.specific_fn.b054dc.1: = specific_function %Int.as.DivAssignWith.impl.Op.e9fca5.2, @Int.as.DivAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.specific_fn.b054dc.2: = specific_function %Int.as.DivAssignWith.impl.Op.e9fca5.1, @Int.as.DivAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %ModAssignWith.type.132: type = facet_type <@ModAssignWith, @ModAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.type.42e78c.1: type = fn_type @Int.as.ModAssignWith.impl.Op.1, @Int.as.ModAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.12511c.1: %Int.as.ModAssignWith.impl.Op.type.42e78c.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.type.42e78c.2: type = fn_type @Int.as.ModAssignWith.impl.Op.2, @Int.as.ModAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.12511c.2: %Int.as.ModAssignWith.impl.Op.type.42e78c.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ModAssignWith.impl_witness.a1c: = impl_witness imports.%ModAssignWith.impl_witness_table.1e5, @Int.as.ModAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.type.9b6f30.1: type = fn_type @Int.as.ModAssignWith.impl.Op.2, @Int.as.ModAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.b03bdb.1: %Int.as.ModAssignWith.impl.Op.type.9b6f30.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.type.9b6f30.2: type = fn_type @Int.as.ModAssignWith.impl.Op.1, @Int.as.ModAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.b03bdb.2: %Int.as.ModAssignWith.impl.Op.type.9b6f30.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.591: %ModAssignWith.type.132 = facet_value %i64, (%ModAssignWith.impl_witness.a1c) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.bd3: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.591) [concrete] -// CHECK:STDOUT: %.360: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.bd3, %ModAssignWith.facet.591 [concrete] -// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.specific_fn.143374.1: = specific_function %Int.as.ModAssignWith.impl.Op.b03bdb.2, @Int.as.ModAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.specific_fn.143374.2: = specific_function %Int.as.ModAssignWith.impl.Op.b03bdb.1, @Int.as.ModAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness.dc0: = impl_witness imports.%ModAssignWith.impl_witness_table.8dc, @Int.as.ModAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.type.46b9e7.1: type = fn_type @Int.as.ModAssignWith.impl.Op.2, @Int.as.ModAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.27caba.1: %Int.as.ModAssignWith.impl.Op.type.46b9e7.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.type.46b9e7.2: type = fn_type @Int.as.ModAssignWith.impl.Op.1, @Int.as.ModAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.27caba.2: %Int.as.ModAssignWith.impl.Op.type.46b9e7.2 = struct_value () [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.1fb: %ModAssignWith.type.132 = facet_value %i64, (%ModAssignWith.impl_witness.dc0) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.58b: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.1fb) [concrete] +// CHECK:STDOUT: %.bd7: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.58b, %ModAssignWith.facet.1fb [concrete] +// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.specific_fn.e9f25f.1: = specific_function %Int.as.ModAssignWith.impl.Op.27caba.2, @Int.as.ModAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.specific_fn.e9f25f.2: = specific_function %Int.as.ModAssignWith.impl.Op.27caba.1, @Int.as.ModAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.44e: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.type.490e73.1: type = fn_type @Int.as.BitAndAssignWith.impl.Op.1, @Int.as.BitAndAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.c3b0c6.1: %Int.as.BitAndAssignWith.impl.Op.type.490e73.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.type.490e73.2: type = fn_type @Int.as.BitAndAssignWith.impl.Op.2, @Int.as.BitAndAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.c3b0c6.2: %Int.as.BitAndAssignWith.impl.Op.type.490e73.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness.2c7: = impl_witness imports.%BitAndAssignWith.impl_witness_table.b95, @Int.as.BitAndAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.type.bbaece.1: type = fn_type @Int.as.BitAndAssignWith.impl.Op.2, @Int.as.BitAndAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.096e1a.1: %Int.as.BitAndAssignWith.impl.Op.type.bbaece.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.type.bbaece.2: type = fn_type @Int.as.BitAndAssignWith.impl.Op.1, @Int.as.BitAndAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.096e1a.2: %Int.as.BitAndAssignWith.impl.Op.type.bbaece.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.b9a: %BitAndAssignWith.type.44e = facet_value %i64, (%BitAndAssignWith.impl_witness.2c7) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.fe9: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.b9a) [concrete] -// CHECK:STDOUT: %.706: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.fe9, %BitAndAssignWith.facet.b9a [concrete] -// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.specific_fn.4f006b.1: = specific_function %Int.as.BitAndAssignWith.impl.Op.096e1a.2, @Int.as.BitAndAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.specific_fn.4f006b.2: = specific_function %Int.as.BitAndAssignWith.impl.Op.096e1a.1, @Int.as.BitAndAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness.780: = impl_witness imports.%BitAndAssignWith.impl_witness_table.d49, @Int.as.BitAndAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.type.21db3d.1: type = fn_type @Int.as.BitAndAssignWith.impl.Op.2, @Int.as.BitAndAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.f15ea1.1: %Int.as.BitAndAssignWith.impl.Op.type.21db3d.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.type.21db3d.2: type = fn_type @Int.as.BitAndAssignWith.impl.Op.1, @Int.as.BitAndAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.f15ea1.2: %Int.as.BitAndAssignWith.impl.Op.type.21db3d.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.54c: %BitAndAssignWith.type.44e = facet_value %i64, (%BitAndAssignWith.impl_witness.780) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.2c4: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.54c) [concrete] +// CHECK:STDOUT: %.9ee: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.2c4, %BitAndAssignWith.facet.54c [concrete] +// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.specific_fn.f1a363.1: = specific_function %Int.as.BitAndAssignWith.impl.Op.f15ea1.2, @Int.as.BitAndAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.specific_fn.f1a363.2: = specific_function %Int.as.BitAndAssignWith.impl.Op.f15ea1.1, @Int.as.BitAndAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.e7d: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.type.f57ae9.1: type = fn_type @Int.as.BitOrAssignWith.impl.Op.1, @Int.as.BitOrAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.d3cc0c.1: %Int.as.BitOrAssignWith.impl.Op.type.f57ae9.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.type.f57ae9.2: type = fn_type @Int.as.BitOrAssignWith.impl.Op.2, @Int.as.BitOrAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.d3cc0c.2: %Int.as.BitOrAssignWith.impl.Op.type.f57ae9.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness.084: = impl_witness imports.%BitOrAssignWith.impl_witness_table.80a, @Int.as.BitOrAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.type.9c3899.1: type = fn_type @Int.as.BitOrAssignWith.impl.Op.2, @Int.as.BitOrAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.508e1b.1: %Int.as.BitOrAssignWith.impl.Op.type.9c3899.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.type.9c3899.2: type = fn_type @Int.as.BitOrAssignWith.impl.Op.1, @Int.as.BitOrAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.508e1b.2: %Int.as.BitOrAssignWith.impl.Op.type.9c3899.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.db7: %BitOrAssignWith.type.e7d = facet_value %i64, (%BitOrAssignWith.impl_witness.084) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.a8d: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.db7) [concrete] -// CHECK:STDOUT: %.aa5: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.a8d, %BitOrAssignWith.facet.db7 [concrete] -// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.specific_fn.67f0b3.1: = specific_function %Int.as.BitOrAssignWith.impl.Op.508e1b.2, @Int.as.BitOrAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.specific_fn.67f0b3.2: = specific_function %Int.as.BitOrAssignWith.impl.Op.508e1b.1, @Int.as.BitOrAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness.303: = impl_witness imports.%BitOrAssignWith.impl_witness_table.fa6, @Int.as.BitOrAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.type.33ecf2.1: type = fn_type @Int.as.BitOrAssignWith.impl.Op.2, @Int.as.BitOrAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.f8df67.1: %Int.as.BitOrAssignWith.impl.Op.type.33ecf2.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.type.33ecf2.2: type = fn_type @Int.as.BitOrAssignWith.impl.Op.1, @Int.as.BitOrAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.f8df67.2: %Int.as.BitOrAssignWith.impl.Op.type.33ecf2.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.9da: %BitOrAssignWith.type.e7d = facet_value %i64, (%BitOrAssignWith.impl_witness.303) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.841: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.9da) [concrete] +// CHECK:STDOUT: %.ee3: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.841, %BitOrAssignWith.facet.9da [concrete] +// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.specific_fn.41262b.1: = specific_function %Int.as.BitOrAssignWith.impl.Op.f8df67.2, @Int.as.BitOrAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.specific_fn.41262b.2: = specific_function %Int.as.BitOrAssignWith.impl.Op.f8df67.1, @Int.as.BitOrAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.ce1: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.type.6fa003.1: type = fn_type @Int.as.BitXorAssignWith.impl.Op.1, @Int.as.BitXorAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.492b4e.1: %Int.as.BitXorAssignWith.impl.Op.type.6fa003.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.type.6fa003.2: type = fn_type @Int.as.BitXorAssignWith.impl.Op.2, @Int.as.BitXorAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.492b4e.2: %Int.as.BitXorAssignWith.impl.Op.type.6fa003.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness.8bd: = impl_witness imports.%BitXorAssignWith.impl_witness_table.ed2, @Int.as.BitXorAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.type.1a4108.1: type = fn_type @Int.as.BitXorAssignWith.impl.Op.2, @Int.as.BitXorAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.e58813.1: %Int.as.BitXorAssignWith.impl.Op.type.1a4108.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.type.1a4108.2: type = fn_type @Int.as.BitXorAssignWith.impl.Op.1, @Int.as.BitXorAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.e58813.2: %Int.as.BitXorAssignWith.impl.Op.type.1a4108.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.c03: %BitXorAssignWith.type.ce1 = facet_value %i64, (%BitXorAssignWith.impl_witness.8bd) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.426: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.c03) [concrete] -// CHECK:STDOUT: %.6a6: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.426, %BitXorAssignWith.facet.c03 [concrete] -// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.specific_fn.462aaf.1: = specific_function %Int.as.BitXorAssignWith.impl.Op.e58813.2, @Int.as.BitXorAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.specific_fn.462aaf.2: = specific_function %Int.as.BitXorAssignWith.impl.Op.e58813.1, @Int.as.BitXorAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness.a3d: = impl_witness imports.%BitXorAssignWith.impl_witness_table.070, @Int.as.BitXorAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.type.12fedd.1: type = fn_type @Int.as.BitXorAssignWith.impl.Op.2, @Int.as.BitXorAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.b1b3e3.1: %Int.as.BitXorAssignWith.impl.Op.type.12fedd.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.type.12fedd.2: type = fn_type @Int.as.BitXorAssignWith.impl.Op.1, @Int.as.BitXorAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.b1b3e3.2: %Int.as.BitXorAssignWith.impl.Op.type.12fedd.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.f15: %BitXorAssignWith.type.ce1 = facet_value %i64, (%BitXorAssignWith.impl_witness.a3d) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.52c: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.f15) [concrete] +// CHECK:STDOUT: %.93c: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.52c, %BitXorAssignWith.facet.f15 [concrete] +// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.specific_fn.1f53f5.1: = specific_function %Int.as.BitXorAssignWith.impl.Op.b1b3e3.2, @Int.as.BitXorAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.specific_fn.1f53f5.2: = specific_function %Int.as.BitXorAssignWith.impl.Op.b1b3e3.1, @Int.as.BitXorAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.452: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.type.2e97cd.1: type = fn_type @Int.as.LeftShiftAssignWith.impl.Op.1, @Int.as.LeftShiftAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.d04a1c.1: %Int.as.LeftShiftAssignWith.impl.Op.type.2e97cd.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.type.2e97cd.2: type = fn_type @Int.as.LeftShiftAssignWith.impl.Op.2, @Int.as.LeftShiftAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.d04a1c.2: %Int.as.LeftShiftAssignWith.impl.Op.type.2e97cd.2 = struct_value () [symbolic] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.1bc: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.d80, @Int.as.LeftShiftAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.type.a787a7.1: type = fn_type @Int.as.LeftShiftAssignWith.impl.Op.2, @Int.as.LeftShiftAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.070f2b.1: %Int.as.LeftShiftAssignWith.impl.Op.type.a787a7.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.type.a787a7.2: type = fn_type @Int.as.LeftShiftAssignWith.impl.Op.1, @Int.as.LeftShiftAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.070f2b.2: %Int.as.LeftShiftAssignWith.impl.Op.type.a787a7.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.bfb: %LeftShiftAssignWith.type.452 = facet_value %i64, (%LeftShiftAssignWith.impl_witness.1bc) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.c4c: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.bfb) [concrete] -// CHECK:STDOUT: %.d8e: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.c4c, %LeftShiftAssignWith.facet.bfb [concrete] -// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.specific_fn.4240fc.1: = specific_function %Int.as.LeftShiftAssignWith.impl.Op.070f2b.2, @Int.as.LeftShiftAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.specific_fn.4240fc.2: = specific_function %Int.as.LeftShiftAssignWith.impl.Op.070f2b.1, @Int.as.LeftShiftAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.bc1: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.fb7, @Int.as.LeftShiftAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.type.8478e7.1: type = fn_type @Int.as.LeftShiftAssignWith.impl.Op.2, @Int.as.LeftShiftAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.99075f.1: %Int.as.LeftShiftAssignWith.impl.Op.type.8478e7.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.type.8478e7.2: type = fn_type @Int.as.LeftShiftAssignWith.impl.Op.1, @Int.as.LeftShiftAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.99075f.2: %Int.as.LeftShiftAssignWith.impl.Op.type.8478e7.2 = struct_value () [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.4f9: %LeftShiftAssignWith.type.452 = facet_value %i64, (%LeftShiftAssignWith.impl_witness.bc1) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.a0e: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.4f9) [concrete] +// CHECK:STDOUT: %.53d: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.a0e, %LeftShiftAssignWith.facet.4f9 [concrete] +// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.specific_fn.95e235.1: = specific_function %Int.as.LeftShiftAssignWith.impl.Op.99075f.2, @Int.as.LeftShiftAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.specific_fn.95e235.2: = specific_function %Int.as.LeftShiftAssignWith.impl.Op.99075f.1, @Int.as.LeftShiftAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.f17: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.type.143884.1: type = fn_type @Int.as.RightShiftAssignWith.impl.Op.1, @Int.as.RightShiftAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.904f0d.1: %Int.as.RightShiftAssignWith.impl.Op.type.143884.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.type.143884.2: type = fn_type @Int.as.RightShiftAssignWith.impl.Op.2, @Int.as.RightShiftAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.904f0d.2: %Int.as.RightShiftAssignWith.impl.Op.type.143884.2 = struct_value () [symbolic] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.cf7: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.988, @Int.as.RightShiftAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.type.6e18c1.1: type = fn_type @Int.as.RightShiftAssignWith.impl.Op.2, @Int.as.RightShiftAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.1daed6.1: %Int.as.RightShiftAssignWith.impl.Op.type.6e18c1.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.type.6e18c1.2: type = fn_type @Int.as.RightShiftAssignWith.impl.Op.1, @Int.as.RightShiftAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.1daed6.2: %Int.as.RightShiftAssignWith.impl.Op.type.6e18c1.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.981: %RightShiftAssignWith.type.f17 = facet_value %i64, (%RightShiftAssignWith.impl_witness.cf7) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.c1f: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.981) [concrete] -// CHECK:STDOUT: %.042: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.c1f, %RightShiftAssignWith.facet.981 [concrete] -// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.specific_fn.19088e.1: = specific_function %Int.as.RightShiftAssignWith.impl.Op.1daed6.2, @Int.as.RightShiftAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.specific_fn.19088e.2: = specific_function %Int.as.RightShiftAssignWith.impl.Op.1daed6.1, @Int.as.RightShiftAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.85e: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.be8, @Int.as.RightShiftAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.type.0af5ab.1: type = fn_type @Int.as.RightShiftAssignWith.impl.Op.2, @Int.as.RightShiftAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.a5f69d.1: %Int.as.RightShiftAssignWith.impl.Op.type.0af5ab.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.type.0af5ab.2: type = fn_type @Int.as.RightShiftAssignWith.impl.Op.1, @Int.as.RightShiftAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.a5f69d.2: %Int.as.RightShiftAssignWith.impl.Op.type.0af5ab.2 = struct_value () [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.3f7: %RightShiftAssignWith.type.f17 = facet_value %i64, (%RightShiftAssignWith.impl_witness.85e) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.065: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.3f7) [concrete] +// CHECK:STDOUT: %.e99: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.065, %RightShiftAssignWith.facet.3f7 [concrete] +// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.specific_fn.48889d.1: = specific_function %Int.as.RightShiftAssignWith.impl.Op.a5f69d.2, @Int.as.RightShiftAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.specific_fn.48889d.2: = specific_function %Int.as.RightShiftAssignWith.impl.Op.a5f69d.1, @Int.as.RightShiftAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -3106,38 +3106,38 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %Core.import_ref.098: @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.type.2 (%Int.as.AddAssignWith.impl.Op.type.a58fbe.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.2 (constants.%Int.as.AddAssignWith.impl.Op.45b360.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.c0b = impl_witness_table (%Core.import_ref.098), @Int.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.017 = impl_witness_table (%Core.import_ref.098), @Int.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.1b1: @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.type.1 (%Int.as.AddAssignWith.impl.Op.type.a58fbe.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.1 (constants.%Int.as.AddAssignWith.impl.Op.45b360.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %Cpp.long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a3a = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.00c = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] // CHECK:STDOUT: %Core.import_ref.dc62: @Int.as.SubAssignWith.impl.%Int.as.SubAssignWith.impl.Op.type.2 (%Int.as.SubAssignWith.impl.Op.type.8ef325.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.SubAssignWith.impl.%Int.as.SubAssignWith.impl.Op.2 (constants.%Int.as.SubAssignWith.impl.Op.f183ca.1)] -// CHECK:STDOUT: %SubAssignWith.impl_witness_table.ed9 = impl_witness_table (%Core.import_ref.dc62), @Int.as.SubAssignWith.impl [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness_table.d16 = impl_witness_table (%Core.import_ref.dc62), @Int.as.SubAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.658: @Int.as.SubAssignWith.impl.%Int.as.SubAssignWith.impl.Op.type.1 (%Int.as.SubAssignWith.impl.Op.type.8ef325.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.SubAssignWith.impl.%Int.as.SubAssignWith.impl.Op.1 (constants.%Int.as.SubAssignWith.impl.Op.f183ca.2)] // CHECK:STDOUT: %Core.import_ref.f8f: @Int.as.MulAssignWith.impl.%Int.as.MulAssignWith.impl.Op.type.2 (%Int.as.MulAssignWith.impl.Op.type.99e92a.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.MulAssignWith.impl.%Int.as.MulAssignWith.impl.Op.2 (constants.%Int.as.MulAssignWith.impl.Op.1fe857.1)] -// CHECK:STDOUT: %MulAssignWith.impl_witness_table.bb2 = impl_witness_table (%Core.import_ref.f8f), @Int.as.MulAssignWith.impl [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness_table.70d = impl_witness_table (%Core.import_ref.f8f), @Int.as.MulAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.241: @Int.as.MulAssignWith.impl.%Int.as.MulAssignWith.impl.Op.type.1 (%Int.as.MulAssignWith.impl.Op.type.99e92a.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.MulAssignWith.impl.%Int.as.MulAssignWith.impl.Op.1 (constants.%Int.as.MulAssignWith.impl.Op.1fe857.2)] // CHECK:STDOUT: %Core.import_ref.8fd: @Int.as.DivAssignWith.impl.%Int.as.DivAssignWith.impl.Op.type.2 (%Int.as.DivAssignWith.impl.Op.type.33a652.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.DivAssignWith.impl.%Int.as.DivAssignWith.impl.Op.2 (constants.%Int.as.DivAssignWith.impl.Op.e8972a.1)] -// CHECK:STDOUT: %DivAssignWith.impl_witness_table.ff8 = impl_witness_table (%Core.import_ref.8fd), @Int.as.DivAssignWith.impl [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness_table.19c = impl_witness_table (%Core.import_ref.8fd), @Int.as.DivAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.0c4: @Int.as.DivAssignWith.impl.%Int.as.DivAssignWith.impl.Op.type.1 (%Int.as.DivAssignWith.impl.Op.type.33a652.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.DivAssignWith.impl.%Int.as.DivAssignWith.impl.Op.1 (constants.%Int.as.DivAssignWith.impl.Op.e8972a.2)] // CHECK:STDOUT: %Core.import_ref.c1a: @Int.as.ModAssignWith.impl.%Int.as.ModAssignWith.impl.Op.type.2 (%Int.as.ModAssignWith.impl.Op.type.42e78c.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ModAssignWith.impl.%Int.as.ModAssignWith.impl.Op.2 (constants.%Int.as.ModAssignWith.impl.Op.12511c.1)] -// CHECK:STDOUT: %ModAssignWith.impl_witness_table.1e5 = impl_witness_table (%Core.import_ref.c1a), @Int.as.ModAssignWith.impl [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness_table.8dc = impl_witness_table (%Core.import_ref.c1a), @Int.as.ModAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.820: @Int.as.ModAssignWith.impl.%Int.as.ModAssignWith.impl.Op.type.1 (%Int.as.ModAssignWith.impl.Op.type.42e78c.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.ModAssignWith.impl.%Int.as.ModAssignWith.impl.Op.1 (constants.%Int.as.ModAssignWith.impl.Op.12511c.2)] // CHECK:STDOUT: %Core.import_ref.4a8: @Int.as.BitAndAssignWith.impl.%Int.as.BitAndAssignWith.impl.Op.type.2 (%Int.as.BitAndAssignWith.impl.Op.type.490e73.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.BitAndAssignWith.impl.%Int.as.BitAndAssignWith.impl.Op.2 (constants.%Int.as.BitAndAssignWith.impl.Op.c3b0c6.1)] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.b95 = impl_witness_table (%Core.import_ref.4a8), @Int.as.BitAndAssignWith.impl [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.d49 = impl_witness_table (%Core.import_ref.4a8), @Int.as.BitAndAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.929: @Int.as.BitAndAssignWith.impl.%Int.as.BitAndAssignWith.impl.Op.type.1 (%Int.as.BitAndAssignWith.impl.Op.type.490e73.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.BitAndAssignWith.impl.%Int.as.BitAndAssignWith.impl.Op.1 (constants.%Int.as.BitAndAssignWith.impl.Op.c3b0c6.2)] // CHECK:STDOUT: %Core.import_ref.5dd: @Int.as.BitOrAssignWith.impl.%Int.as.BitOrAssignWith.impl.Op.type.2 (%Int.as.BitOrAssignWith.impl.Op.type.f57ae9.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.BitOrAssignWith.impl.%Int.as.BitOrAssignWith.impl.Op.2 (constants.%Int.as.BitOrAssignWith.impl.Op.d3cc0c.1)] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.80a = impl_witness_table (%Core.import_ref.5dd), @Int.as.BitOrAssignWith.impl [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.fa6 = impl_witness_table (%Core.import_ref.5dd), @Int.as.BitOrAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.c4b: @Int.as.BitOrAssignWith.impl.%Int.as.BitOrAssignWith.impl.Op.type.1 (%Int.as.BitOrAssignWith.impl.Op.type.f57ae9.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.BitOrAssignWith.impl.%Int.as.BitOrAssignWith.impl.Op.1 (constants.%Int.as.BitOrAssignWith.impl.Op.d3cc0c.2)] // CHECK:STDOUT: %Core.import_ref.6fb: @Int.as.BitXorAssignWith.impl.%Int.as.BitXorAssignWith.impl.Op.type.2 (%Int.as.BitXorAssignWith.impl.Op.type.6fa003.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.BitXorAssignWith.impl.%Int.as.BitXorAssignWith.impl.Op.2 (constants.%Int.as.BitXorAssignWith.impl.Op.492b4e.1)] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.ed2 = impl_witness_table (%Core.import_ref.6fb), @Int.as.BitXorAssignWith.impl [concrete] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.070 = impl_witness_table (%Core.import_ref.6fb), @Int.as.BitXorAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.f83: @Int.as.BitXorAssignWith.impl.%Int.as.BitXorAssignWith.impl.Op.type.1 (%Int.as.BitXorAssignWith.impl.Op.type.6fa003.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.BitXorAssignWith.impl.%Int.as.BitXorAssignWith.impl.Op.1 (constants.%Int.as.BitXorAssignWith.impl.Op.492b4e.2)] // CHECK:STDOUT: %Core.import_ref.48b6: @Int.as.LeftShiftAssignWith.impl.%Int.as.LeftShiftAssignWith.impl.Op.type.2 (%Int.as.LeftShiftAssignWith.impl.Op.type.2e97cd.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.LeftShiftAssignWith.impl.%Int.as.LeftShiftAssignWith.impl.Op.2 (constants.%Int.as.LeftShiftAssignWith.impl.Op.d04a1c.1)] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.d80 = impl_witness_table (%Core.import_ref.48b6), @Int.as.LeftShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.fb7 = impl_witness_table (%Core.import_ref.48b6), @Int.as.LeftShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.f1f: @Int.as.LeftShiftAssignWith.impl.%Int.as.LeftShiftAssignWith.impl.Op.type.1 (%Int.as.LeftShiftAssignWith.impl.Op.type.2e97cd.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.LeftShiftAssignWith.impl.%Int.as.LeftShiftAssignWith.impl.Op.1 (constants.%Int.as.LeftShiftAssignWith.impl.Op.d04a1c.2)] // CHECK:STDOUT: %Core.import_ref.357: @Int.as.RightShiftAssignWith.impl.%Int.as.RightShiftAssignWith.impl.Op.type.2 (%Int.as.RightShiftAssignWith.impl.Op.type.143884.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.RightShiftAssignWith.impl.%Int.as.RightShiftAssignWith.impl.Op.2 (constants.%Int.as.RightShiftAssignWith.impl.Op.904f0d.1)] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.988 = impl_witness_table (%Core.import_ref.357), @Int.as.RightShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.be8 = impl_witness_table (%Core.import_ref.357), @Int.as.RightShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.447: @Int.as.RightShiftAssignWith.impl.%Int.as.RightShiftAssignWith.impl.Op.type.1 (%Int.as.RightShiftAssignWith.impl.Op.type.143884.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.RightShiftAssignWith.impl.%Int.as.RightShiftAssignWith.impl.Op.1 (constants.%Int.as.RightShiftAssignWith.impl.Op.904f0d.2)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -3145,7 +3145,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc9_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.33f] @@ -3160,16 +3160,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc10: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc10: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10_5: %.f16 = impl_witness_access constants.%AddAssignWith.impl_witness.3ce, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.4484b8.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.d61 = impl_witness_access constants.%AddAssignWith.impl_witness.80d, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.3fffc9.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %a.ref.loc10, %impl.elem0.loc10_5 -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Int.as.AddAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.b74b59.1] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Int.as.AddAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.64d5fa.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %a.ref.loc10, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5: %Int.as.AddAssignWith.impl.Op.type.d4b879.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.AddAssignWith.impl.Op.4484b8.1] -// CHECK:STDOUT: %Op.ref.loc10: %Int.as.AddAssignWith.impl.Op.type.d4b879.1 = name_ref Op, %.loc10_5 [concrete = constants.%Int.as.AddAssignWith.impl.Op.4484b8.1] +// CHECK:STDOUT: %.loc10_5: %Int.as.AddAssignWith.impl.Op.type.58ddfe.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.AddAssignWith.impl.Op.3fffc9.1] +// CHECK:STDOUT: %Op.ref.loc10: %Int.as.AddAssignWith.impl.Op.type.58ddfe.1 = name_ref Op, %.loc10_5 [concrete = constants.%Int.as.AddAssignWith.impl.Op.3fffc9.1] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref.loc10, %Op.ref.loc10 -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc10, @Int.as.AddAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.b74b59.2] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc10, @Int.as.AddAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.64d5fa.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %a.ref.loc10, %Int.as.AddAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc10_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_8: = bound_method %b.ref.loc10, %impl.elem0.loc10_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc10: init %i64 = call %bound_method.loc10_8(%b.ref.loc10) // CHECK:STDOUT: %.loc10_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc10 @@ -3177,16 +3177,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc10_5.3(%a.ref.loc10, %.loc10_8.2) // CHECK:STDOUT: %a.ref.loc11: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc11_5: %.d91 = impl_witness_access constants.%SubAssignWith.impl_witness.9f7, element0 [concrete = constants.%Int.as.SubAssignWith.impl.Op.880561.2] +// CHECK:STDOUT: %impl.elem0.loc11_5: %.d44 = impl_witness_access constants.%SubAssignWith.impl_witness.853, element0 [concrete = constants.%Int.as.SubAssignWith.impl.Op.d64d36.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %a.ref.loc11, %impl.elem0.loc11_5 -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11_5, @Int.as.SubAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.SubAssignWith.impl.Op.specific_fn.854c3f.1] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11_5, @Int.as.SubAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.SubAssignWith.impl.Op.specific_fn.7a2a33.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %a.ref.loc11, %specific_fn.loc11 -// CHECK:STDOUT: %.loc11_5: %Int.as.SubAssignWith.impl.Op.type.a048ce.1 = specific_constant imports.%Core.Op.658, @Int.as.SubAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.SubAssignWith.impl.Op.880561.1] -// CHECK:STDOUT: %Op.ref.loc11: %Int.as.SubAssignWith.impl.Op.type.a048ce.1 = name_ref Op, %.loc11_5 [concrete = constants.%Int.as.SubAssignWith.impl.Op.880561.1] +// CHECK:STDOUT: %.loc11_5: %Int.as.SubAssignWith.impl.Op.type.2e45c0.1 = specific_constant imports.%Core.Op.658, @Int.as.SubAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.SubAssignWith.impl.Op.d64d36.1] +// CHECK:STDOUT: %Op.ref.loc11: %Int.as.SubAssignWith.impl.Op.type.2e45c0.1 = name_ref Op, %.loc11_5 [concrete = constants.%Int.as.SubAssignWith.impl.Op.d64d36.1] // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.bound: = bound_method %a.ref.loc11, %Op.ref.loc11 -// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Int.as.SubAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.SubAssignWith.impl.Op.specific_fn.854c3f.2] +// CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Int.as.SubAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.SubAssignWith.impl.Op.specific_fn.7a2a33.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %a.ref.loc11, %Int.as.SubAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc11_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_8: = bound_method %b.ref.loc11, %impl.elem0.loc11_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc11: init %i64 = call %bound_method.loc11_8(%b.ref.loc11) // CHECK:STDOUT: %.loc11_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc11 @@ -3194,16 +3194,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.SubAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc11_5.3(%a.ref.loc11, %.loc11_8.2) // CHECK:STDOUT: %a.ref.loc12: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc12_5: %.7b5 = impl_witness_access constants.%MulAssignWith.impl_witness.5a7, element0 [concrete = constants.%Int.as.MulAssignWith.impl.Op.700938.2] +// CHECK:STDOUT: %impl.elem0.loc12_5: %.c1a4 = impl_witness_access constants.%MulAssignWith.impl_witness.f8b, element0 [concrete = constants.%Int.as.MulAssignWith.impl.Op.42a887.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %a.ref.loc12, %impl.elem0.loc12_5 -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12_5, @Int.as.MulAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.MulAssignWith.impl.Op.specific_fn.e90d66.1] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12_5, @Int.as.MulAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.MulAssignWith.impl.Op.specific_fn.c35fe3.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %a.ref.loc12, %specific_fn.loc12 -// CHECK:STDOUT: %.loc12_5: %Int.as.MulAssignWith.impl.Op.type.25fd2b.1 = specific_constant imports.%Core.Op.241, @Int.as.MulAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.MulAssignWith.impl.Op.700938.1] -// CHECK:STDOUT: %Op.ref.loc12: %Int.as.MulAssignWith.impl.Op.type.25fd2b.1 = name_ref Op, %.loc12_5 [concrete = constants.%Int.as.MulAssignWith.impl.Op.700938.1] +// CHECK:STDOUT: %.loc12_5: %Int.as.MulAssignWith.impl.Op.type.88673a.1 = specific_constant imports.%Core.Op.241, @Int.as.MulAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.MulAssignWith.impl.Op.42a887.1] +// CHECK:STDOUT: %Op.ref.loc12: %Int.as.MulAssignWith.impl.Op.type.88673a.1 = name_ref Op, %.loc12_5 [concrete = constants.%Int.as.MulAssignWith.impl.Op.42a887.1] // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.bound: = bound_method %a.ref.loc12, %Op.ref.loc12 -// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Int.as.MulAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.MulAssignWith.impl.Op.specific_fn.e90d66.2] +// CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Int.as.MulAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.MulAssignWith.impl.Op.specific_fn.c35fe3.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %a.ref.loc12, %Int.as.MulAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc12_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc12_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc12_8: = bound_method %b.ref.loc12, %impl.elem0.loc12_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc12: init %i64 = call %bound_method.loc12_8(%b.ref.loc12) // CHECK:STDOUT: %.loc12_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc12 @@ -3211,16 +3211,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.MulAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc12_5.3(%a.ref.loc12, %.loc12_8.2) // CHECK:STDOUT: %a.ref.loc13: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13_5: %.c68 = impl_witness_access constants.%DivAssignWith.impl_witness.39f, element0 [concrete = constants.%Int.as.DivAssignWith.impl.Op.c6930d.2] +// CHECK:STDOUT: %impl.elem0.loc13_5: %.fa7 = impl_witness_access constants.%DivAssignWith.impl_witness.42f, element0 [concrete = constants.%Int.as.DivAssignWith.impl.Op.e9fca5.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %a.ref.loc13, %impl.elem0.loc13_5 -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Int.as.DivAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.DivAssignWith.impl.Op.specific_fn.0454de.1] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Int.as.DivAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.DivAssignWith.impl.Op.specific_fn.b054dc.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %a.ref.loc13, %specific_fn.loc13 -// CHECK:STDOUT: %.loc13_5: %Int.as.DivAssignWith.impl.Op.type.92ce4f.1 = specific_constant imports.%Core.Op.0c4, @Int.as.DivAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.DivAssignWith.impl.Op.c6930d.1] -// CHECK:STDOUT: %Op.ref.loc13: %Int.as.DivAssignWith.impl.Op.type.92ce4f.1 = name_ref Op, %.loc13_5 [concrete = constants.%Int.as.DivAssignWith.impl.Op.c6930d.1] +// CHECK:STDOUT: %.loc13_5: %Int.as.DivAssignWith.impl.Op.type.3fa6f9.1 = specific_constant imports.%Core.Op.0c4, @Int.as.DivAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.DivAssignWith.impl.Op.e9fca5.1] +// CHECK:STDOUT: %Op.ref.loc13: %Int.as.DivAssignWith.impl.Op.type.3fa6f9.1 = name_ref Op, %.loc13_5 [concrete = constants.%Int.as.DivAssignWith.impl.Op.e9fca5.1] // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.bound: = bound_method %a.ref.loc13, %Op.ref.loc13 -// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Int.as.DivAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.DivAssignWith.impl.Op.specific_fn.0454de.2] +// CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Int.as.DivAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.DivAssignWith.impl.Op.specific_fn.b054dc.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %a.ref.loc13, %Int.as.DivAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc13_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc13_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc13_8: = bound_method %b.ref.loc13, %impl.elem0.loc13_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc13: init %i64 = call %bound_method.loc13_8(%b.ref.loc13) // CHECK:STDOUT: %.loc13_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc13 @@ -3228,16 +3228,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.DivAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc13_5.3(%a.ref.loc13, %.loc13_8.2) // CHECK:STDOUT: %a.ref.loc14: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc14_5: %.360 = impl_witness_access constants.%ModAssignWith.impl_witness.a1c, element0 [concrete = constants.%Int.as.ModAssignWith.impl.Op.b03bdb.2] +// CHECK:STDOUT: %impl.elem0.loc14_5: %.bd7 = impl_witness_access constants.%ModAssignWith.impl_witness.dc0, element0 [concrete = constants.%Int.as.ModAssignWith.impl.Op.27caba.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %a.ref.loc14, %impl.elem0.loc14_5 -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14_5, @Int.as.ModAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.ModAssignWith.impl.Op.specific_fn.143374.1] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14_5, @Int.as.ModAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.ModAssignWith.impl.Op.specific_fn.e9f25f.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %a.ref.loc14, %specific_fn.loc14 -// CHECK:STDOUT: %.loc14_5: %Int.as.ModAssignWith.impl.Op.type.9b6f30.1 = specific_constant imports.%Core.Op.820, @Int.as.ModAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.ModAssignWith.impl.Op.b03bdb.1] -// CHECK:STDOUT: %Op.ref.loc14: %Int.as.ModAssignWith.impl.Op.type.9b6f30.1 = name_ref Op, %.loc14_5 [concrete = constants.%Int.as.ModAssignWith.impl.Op.b03bdb.1] +// CHECK:STDOUT: %.loc14_5: %Int.as.ModAssignWith.impl.Op.type.46b9e7.1 = specific_constant imports.%Core.Op.820, @Int.as.ModAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.ModAssignWith.impl.Op.27caba.1] +// CHECK:STDOUT: %Op.ref.loc14: %Int.as.ModAssignWith.impl.Op.type.46b9e7.1 = name_ref Op, %.loc14_5 [concrete = constants.%Int.as.ModAssignWith.impl.Op.27caba.1] // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.bound: = bound_method %a.ref.loc14, %Op.ref.loc14 -// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Int.as.ModAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.ModAssignWith.impl.Op.specific_fn.143374.2] +// CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Int.as.ModAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.ModAssignWith.impl.Op.specific_fn.e9f25f.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %a.ref.loc14, %Int.as.ModAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc14_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc14_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc14_8: = bound_method %b.ref.loc14, %impl.elem0.loc14_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc14: init %i64 = call %bound_method.loc14_8(%b.ref.loc14) // CHECK:STDOUT: %.loc14_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc14 @@ -3245,16 +3245,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.ModAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc14_5.3(%a.ref.loc14, %.loc14_8.2) // CHECK:STDOUT: %a.ref.loc16: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc16: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc16_5: %.706 = impl_witness_access constants.%BitAndAssignWith.impl_witness.2c7, element0 [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.096e1a.2] +// CHECK:STDOUT: %impl.elem0.loc16_5: %.9ee = impl_witness_access constants.%BitAndAssignWith.impl_witness.780, element0 [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.f15ea1.2] // CHECK:STDOUT: %bound_method.loc16_5.1: = bound_method %a.ref.loc16, %impl.elem0.loc16_5 -// CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16_5, @Int.as.BitAndAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.specific_fn.4f006b.1] +// CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16_5, @Int.as.BitAndAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.specific_fn.f1a363.1] // CHECK:STDOUT: %bound_method.loc16_5.2: = bound_method %a.ref.loc16, %specific_fn.loc16 -// CHECK:STDOUT: %.loc16_5: %Int.as.BitAndAssignWith.impl.Op.type.bbaece.1 = specific_constant imports.%Core.Op.929, @Int.as.BitAndAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.096e1a.1] -// CHECK:STDOUT: %Op.ref.loc16: %Int.as.BitAndAssignWith.impl.Op.type.bbaece.1 = name_ref Op, %.loc16_5 [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.096e1a.1] +// CHECK:STDOUT: %.loc16_5: %Int.as.BitAndAssignWith.impl.Op.type.21db3d.1 = specific_constant imports.%Core.Op.929, @Int.as.BitAndAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.f15ea1.1] +// CHECK:STDOUT: %Op.ref.loc16: %Int.as.BitAndAssignWith.impl.Op.type.21db3d.1 = name_ref Op, %.loc16_5 [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.f15ea1.1] // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.bound: = bound_method %a.ref.loc16, %Op.ref.loc16 -// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc16, @Int.as.BitAndAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.specific_fn.4f006b.2] +// CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc16, @Int.as.BitAndAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.BitAndAssignWith.impl.Op.specific_fn.f1a363.2] // CHECK:STDOUT: %bound_method.loc16_5.3: = bound_method %a.ref.loc16, %Int.as.BitAndAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc16_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc16_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc16_8: = bound_method %b.ref.loc16, %impl.elem0.loc16_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc16: init %i64 = call %bound_method.loc16_8(%b.ref.loc16) // CHECK:STDOUT: %.loc16_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc16 @@ -3262,16 +3262,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.BitAndAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc16_5.3(%a.ref.loc16, %.loc16_8.2) // CHECK:STDOUT: %a.ref.loc17: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc17: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc17_5: %.aa5 = impl_witness_access constants.%BitOrAssignWith.impl_witness.084, element0 [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.508e1b.2] +// CHECK:STDOUT: %impl.elem0.loc17_5: %.ee3 = impl_witness_access constants.%BitOrAssignWith.impl_witness.303, element0 [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.f8df67.2] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %a.ref.loc17, %impl.elem0.loc17_5 -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Int.as.BitOrAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.specific_fn.67f0b3.1] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Int.as.BitOrAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.specific_fn.41262b.1] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %a.ref.loc17, %specific_fn.loc17 -// CHECK:STDOUT: %.loc17_5: %Int.as.BitOrAssignWith.impl.Op.type.9c3899.1 = specific_constant imports.%Core.Op.c4b, @Int.as.BitOrAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.508e1b.1] -// CHECK:STDOUT: %Op.ref.loc17: %Int.as.BitOrAssignWith.impl.Op.type.9c3899.1 = name_ref Op, %.loc17_5 [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.508e1b.1] +// CHECK:STDOUT: %.loc17_5: %Int.as.BitOrAssignWith.impl.Op.type.33ecf2.1 = specific_constant imports.%Core.Op.c4b, @Int.as.BitOrAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.f8df67.1] +// CHECK:STDOUT: %Op.ref.loc17: %Int.as.BitOrAssignWith.impl.Op.type.33ecf2.1 = name_ref Op, %.loc17_5 [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.f8df67.1] // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.bound: = bound_method %a.ref.loc17, %Op.ref.loc17 -// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Int.as.BitOrAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.specific_fn.67f0b3.2] +// CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Int.as.BitOrAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.BitOrAssignWith.impl.Op.specific_fn.41262b.2] // CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %a.ref.loc17, %Int.as.BitOrAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc17_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc17_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc17_8: = bound_method %b.ref.loc17, %impl.elem0.loc17_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc17: init %i64 = call %bound_method.loc17_8(%b.ref.loc17) // CHECK:STDOUT: %.loc17_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc17 @@ -3279,16 +3279,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.BitOrAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc17_5.3(%a.ref.loc17, %.loc17_8.2) // CHECK:STDOUT: %a.ref.loc18: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc18: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc18_5: %.6a6 = impl_witness_access constants.%BitXorAssignWith.impl_witness.8bd, element0 [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.e58813.2] +// CHECK:STDOUT: %impl.elem0.loc18_5: %.93c = impl_witness_access constants.%BitXorAssignWith.impl_witness.a3d, element0 [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.b1b3e3.2] // CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %a.ref.loc18, %impl.elem0.loc18_5 -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18_5, @Int.as.BitXorAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.specific_fn.462aaf.1] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18_5, @Int.as.BitXorAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.specific_fn.1f53f5.1] // CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %a.ref.loc18, %specific_fn.loc18 -// CHECK:STDOUT: %.loc18_5: %Int.as.BitXorAssignWith.impl.Op.type.1a4108.1 = specific_constant imports.%Core.Op.f83, @Int.as.BitXorAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.e58813.1] -// CHECK:STDOUT: %Op.ref.loc18: %Int.as.BitXorAssignWith.impl.Op.type.1a4108.1 = name_ref Op, %.loc18_5 [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.e58813.1] +// CHECK:STDOUT: %.loc18_5: %Int.as.BitXorAssignWith.impl.Op.type.12fedd.1 = specific_constant imports.%Core.Op.f83, @Int.as.BitXorAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.b1b3e3.1] +// CHECK:STDOUT: %Op.ref.loc18: %Int.as.BitXorAssignWith.impl.Op.type.12fedd.1 = name_ref Op, %.loc18_5 [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.b1b3e3.1] // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.bound: = bound_method %a.ref.loc18, %Op.ref.loc18 -// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Int.as.BitXorAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.specific_fn.462aaf.2] +// CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Int.as.BitXorAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.BitXorAssignWith.impl.Op.specific_fn.1f53f5.2] // CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %a.ref.loc18, %Int.as.BitXorAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc18_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc18_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc18_8: = bound_method %b.ref.loc18, %impl.elem0.loc18_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc18: init %i64 = call %bound_method.loc18_8(%b.ref.loc18) // CHECK:STDOUT: %.loc18_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc18 @@ -3296,16 +3296,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.BitXorAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc18_5.3(%a.ref.loc18, %.loc18_8.2) // CHECK:STDOUT: %a.ref.loc19: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc19: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc19_5: %.d8e = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.1bc, element0 [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.070f2b.2] +// CHECK:STDOUT: %impl.elem0.loc19_5: %.53d = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.bc1, element0 [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.99075f.2] // CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %a.ref.loc19, %impl.elem0.loc19_5 -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19_5, @Int.as.LeftShiftAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.specific_fn.4240fc.1] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19_5, @Int.as.LeftShiftAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.specific_fn.95e235.1] // CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %a.ref.loc19, %specific_fn.loc19 -// CHECK:STDOUT: %.loc19_5: %Int.as.LeftShiftAssignWith.impl.Op.type.a787a7.1 = specific_constant imports.%Core.Op.f1f, @Int.as.LeftShiftAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.070f2b.1] -// CHECK:STDOUT: %Op.ref.loc19: %Int.as.LeftShiftAssignWith.impl.Op.type.a787a7.1 = name_ref Op, %.loc19_5 [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.070f2b.1] +// CHECK:STDOUT: %.loc19_5: %Int.as.LeftShiftAssignWith.impl.Op.type.8478e7.1 = specific_constant imports.%Core.Op.f1f, @Int.as.LeftShiftAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.99075f.1] +// CHECK:STDOUT: %Op.ref.loc19: %Int.as.LeftShiftAssignWith.impl.Op.type.8478e7.1 = name_ref Op, %.loc19_5 [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.99075f.1] // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc19, %Op.ref.loc19 -// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Int.as.LeftShiftAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.specific_fn.4240fc.2] +// CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Int.as.LeftShiftAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.LeftShiftAssignWith.impl.Op.specific_fn.95e235.2] // CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %a.ref.loc19, %Int.as.LeftShiftAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc19_9: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc19_9: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc19_9: = bound_method %b.ref.loc19, %impl.elem0.loc19_9 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc19: init %i64 = call %bound_method.loc19_9(%b.ref.loc19) // CHECK:STDOUT: %.loc19_9.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc19 @@ -3313,16 +3313,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.LeftShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc19_5.3(%a.ref.loc19, %.loc19_9.2) // CHECK:STDOUT: %a.ref.loc20: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref.loc20: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc20_5: %.042 = impl_witness_access constants.%RightShiftAssignWith.impl_witness.cf7, element0 [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.1daed6.2] +// CHECK:STDOUT: %impl.elem0.loc20_5: %.e99 = impl_witness_access constants.%RightShiftAssignWith.impl_witness.85e, element0 [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.a5f69d.2] // CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %a.ref.loc20, %impl.elem0.loc20_5 -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Int.as.RightShiftAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.specific_fn.19088e.1] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Int.as.RightShiftAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.specific_fn.48889d.1] // CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %a.ref.loc20, %specific_fn.loc20 -// CHECK:STDOUT: %.loc20_5: %Int.as.RightShiftAssignWith.impl.Op.type.6e18c1.1 = specific_constant imports.%Core.Op.447, @Int.as.RightShiftAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.1daed6.1] -// CHECK:STDOUT: %Op.ref.loc20: %Int.as.RightShiftAssignWith.impl.Op.type.6e18c1.1 = name_ref Op, %.loc20_5 [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.1daed6.1] +// CHECK:STDOUT: %.loc20_5: %Int.as.RightShiftAssignWith.impl.Op.type.0af5ab.1 = specific_constant imports.%Core.Op.447, @Int.as.RightShiftAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.a5f69d.1] +// CHECK:STDOUT: %Op.ref.loc20: %Int.as.RightShiftAssignWith.impl.Op.type.0af5ab.1 = name_ref Op, %.loc20_5 [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.a5f69d.1] // CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc20, %Op.ref.loc20 -// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Int.as.RightShiftAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.specific_fn.19088e.2] +// CHECK:STDOUT: %Int.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Int.as.RightShiftAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.RightShiftAssignWith.impl.Op.specific_fn.48889d.2] // CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %a.ref.loc20, %Int.as.RightShiftAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc20_9: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc20_9: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc20_9: = bound_method %b.ref.loc20, %impl.elem0.loc20_9 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc20: init %i64 = call %bound_method.loc20_9(%b.ref.loc20) // CHECK:STDOUT: %.loc20_9.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc20 @@ -3344,10 +3344,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.ada = var_pattern %a.patt [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.340: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -3358,16 +3358,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.1fe1da.1: %Cpp.long.as.AddAssignWith.impl.Op.type.1757be.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.1757be.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%U.1ae) [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.1fe1da.2: %Cpp.long.as.AddAssignWith.impl.Op.type.1757be.2 = struct_value () [symbolic] -// CHECK:STDOUT: %AddAssignWith.impl_witness.fe0: = impl_witness imports.%AddAssignWith.impl_witness_table.338, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.6a6c21.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.c9f5c8.1: %Cpp.long.as.AddAssignWith.impl.Op.type.6a6c21.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.6a6c21.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.c9f5c8.2: %Cpp.long.as.AddAssignWith.impl.Op.type.6a6c21.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.d04: %AddAssignWith.type.5ab = facet_value %Cpp.long, (%AddAssignWith.impl_witness.fe0) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.90a: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.d04) [concrete] -// CHECK:STDOUT: %.753: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.90a, %AddAssignWith.facet.d04 [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.f4c4ac.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.c9f5c8.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.f4c4ac.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.c9f5c8.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.e16: = impl_witness imports.%AddAssignWith.impl_witness_table.2c1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.393661.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.17a680.1: %Cpp.long.as.AddAssignWith.impl.Op.type.393661.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.393661.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.17a680.2: %Cpp.long.as.AddAssignWith.impl.Op.type.393661.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.775: %AddAssignWith.type.5ab = facet_value %Cpp.long, (%AddAssignWith.impl_witness.e16) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.77c: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.775) [concrete] +// CHECK:STDOUT: %.330: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.77c, %AddAssignWith.facet.775 [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.a9f447.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.17a680.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.a9f447.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.17a680.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc8_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] // CHECK:STDOUT: } @@ -3378,9 +3378,9 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %Core.import_ref.d3c: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long.as.AddAssignWith.impl.Op.type.1757be.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long.as.AddAssignWith.impl.Op.1fe1da.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.338 = impl_witness_table (%Core.import_ref.d3c), @Cpp.long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.2c1 = impl_witness_table (%Core.import_ref.d3c), @Cpp.long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.373: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long.as.AddAssignWith.impl.Op.type.1757be.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long.as.AddAssignWith.impl.Op.1fe1da.2)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -3388,7 +3388,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc8_3: init %Cpp.long = converted %int_1.loc8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.33f] @@ -3404,20 +3404,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9_5: %.753 = impl_witness_access constants.%AddAssignWith.impl_witness.fe0, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.c9f5c8.2] +// CHECK:STDOUT: %impl.elem0.loc9_5: %.330 = impl_witness_access constants.%AddAssignWith.impl_witness.e16, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.17a680.2] // CHECK:STDOUT: %bound_method.loc9_5.1: = bound_method %a.ref, %impl.elem0.loc9_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.1: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc9_5.1: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc9_5.1 [concrete = constants.%ImplicitAs.facet] -// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a7) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.2: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.ecb) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc9_5.2: %ImplicitAs.type.340 = converted Core.IntLiteral, %ImplicitAs.facet.loc9_5.2 [concrete = constants.%ImplicitAs.facet] -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc9_5, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.f4c4ac.1] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc9_5, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.a9f447.1] // CHECK:STDOUT: %bound_method.loc9_5.2: = bound_method %a.ref, %specific_fn -// CHECK:STDOUT: %.loc9_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.6a6c21.1 = specific_constant imports.%Core.Op.373, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.c9f5c8.1] -// CHECK:STDOUT: %Op.ref: %Cpp.long.as.AddAssignWith.impl.Op.type.6a6c21.1 = name_ref Op, %.loc9_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.c9f5c8.1] +// CHECK:STDOUT: %.loc9_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.393661.1 = specific_constant imports.%Core.Op.373, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.17a680.1] +// CHECK:STDOUT: %Op.ref: %Cpp.long.as.AddAssignWith.impl.Op.type.393661.1 = name_ref Op, %.loc9_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.17a680.1] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref, %Op.ref -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.f4c4ac.2] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.a9f447.2] // CHECK:STDOUT: %bound_method.loc9_5.3: = bound_method %a.ref, %Cpp.long.as.AddAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc9_8: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9_8: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9_8: = bound_method %int_1.loc9, %impl.elem0.loc9_8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9_8(%int_1.loc9) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc9_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.33f] @@ -3457,12 +3457,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.091: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.227: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.6e8: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.091) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a04: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.6e8) [concrete] -// CHECK:STDOUT: %.f34: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a04, %ImplicitAs.facet.6e8 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.235: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.227) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.da7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.235) [concrete] +// CHECK:STDOUT: %.03f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.da7, %ImplicitAs.facet.235 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.89f: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -3471,10 +3471,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %pattern_type.ada: type = pattern_type %Cpp.long [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.ada = value_binding_pattern b [concrete] // CHECK:STDOUT: %ImplicitAs.type.340: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.210: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.210) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet.210 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b83: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b83) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet.b83 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -3486,20 +3486,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.45b360.1: %Int.as.AddAssignWith.impl.Op.type.a58fbe.1 = struct_value () [symbolic] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.a58fbe.2: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%N, %U.4e6) [symbolic] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.45b360.2: %Int.as.AddAssignWith.impl.Op.type.a58fbe.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table.a3a [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.c71: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.3ce: = impl_witness imports.%AddAssignWith.impl_witness_table.c0b, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.d4b879.1: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.4484b8.1: %Int.as.AddAssignWith.impl.Op.type.d4b879.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.d4b879.2: type = fn_type @Int.as.AddAssignWith.impl.Op.1, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.4484b8.2: %Int.as.AddAssignWith.impl.Op.type.d4b879.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.2ea: %AddAssignWith.type.e06 = facet_value %i64, (%AddAssignWith.impl_witness.3ce) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.987: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.2ea) [concrete] -// CHECK:STDOUT: %.f16: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.987, %AddAssignWith.facet.2ea [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.b74b59.1: = specific_function %Int.as.AddAssignWith.impl.Op.4484b8.2, @Int.as.AddAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.b74b59.2: = specific_function %Int.as.AddAssignWith.impl.Op.4484b8.1, @Int.as.AddAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.294: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.c71) [concrete] -// CHECK:STDOUT: %.9e1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.294, %ImplicitAs.facet.c71 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.329: = impl_witness imports.%ImplicitAs.impl_witness_table.00c [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8fd: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.329) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.80d: = impl_witness imports.%AddAssignWith.impl_witness_table.017, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.58ddfe.1: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.3fffc9.1: %Int.as.AddAssignWith.impl.Op.type.58ddfe.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.58ddfe.2: type = fn_type @Int.as.AddAssignWith.impl.Op.1, @Int.as.AddAssignWith.impl(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.3fffc9.2: %Int.as.AddAssignWith.impl.Op.type.58ddfe.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.e82: %AddAssignWith.type.e06 = facet_value %i64, (%AddAssignWith.impl_witness.80d) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.def: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.e82) [concrete] +// CHECK:STDOUT: %.d61: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.def, %AddAssignWith.facet.e82 [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.64d5fa.1: = specific_function %Int.as.AddAssignWith.impl.Op.3fffc9.2, @Int.as.AddAssignWith.impl.Op.1(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.64d5fa.2: = specific_function %Int.as.AddAssignWith.impl.Op.3fffc9.1, @Int.as.AddAssignWith.impl.Op.2(%int_64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d9b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.8fd) [concrete] +// CHECK:STDOUT: %.bf5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d9b, %ImplicitAs.facet.8fd [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert: %Cpp.long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc8_3.2 [concrete] @@ -3512,21 +3512,21 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %Core.import_ref.098: @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.type.2 (%Int.as.AddAssignWith.impl.Op.type.a58fbe.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.2 (constants.%Int.as.AddAssignWith.impl.Op.45b360.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.c0b = impl_witness_table (%Core.import_ref.098), @Int.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.017 = impl_witness_table (%Core.import_ref.098), @Int.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.1b1: @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.type.1 (%Int.as.AddAssignWith.impl.Op.type.a58fbe.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.1 (constants.%Int.as.AddAssignWith.impl.Op.45b360.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %Cpp.long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a3a = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.00c = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.c8d [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CompoundAssignmentLongAndRuntimeI64() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %i64 = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.f34 = impl_witness_access constants.%ImplicitAs.impl_witness.091, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] +// CHECK:STDOUT: %impl.elem0.loc8: %.03f = impl_witness_access constants.%ImplicitAs.impl_witness.227, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] // CHECK:STDOUT: %bound_method.loc8_3.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.89f] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_3.2: = bound_method %int_1.loc8, %specific_fn.loc8 [concrete = constants.%bound_method] @@ -3540,7 +3540,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.f57 = var_pattern %a.patt [concrete = constants.%a.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc9_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.33f] @@ -3555,16 +3555,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: ref %i64 = name_ref a, %a // CHECK:STDOUT: %b.ref: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10_5: %.f16 = impl_witness_access constants.%AddAssignWith.impl_witness.3ce, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.4484b8.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.d61 = impl_witness_access constants.%AddAssignWith.impl_witness.80d, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.3fffc9.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %a.ref, %impl.elem0.loc10_5 -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Int.as.AddAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.b74b59.1] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Int.as.AddAssignWith.impl.Op.1(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.64d5fa.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %a.ref, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5: %Int.as.AddAssignWith.impl.Op.type.d4b879.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.AddAssignWith.impl.Op.4484b8.1] -// CHECK:STDOUT: %Op.ref: %Int.as.AddAssignWith.impl.Op.type.d4b879.1 = name_ref Op, %.loc10_5 [concrete = constants.%Int.as.AddAssignWith.impl.Op.4484b8.1] +// CHECK:STDOUT: %.loc10_5: %Int.as.AddAssignWith.impl.Op.type.58ddfe.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.AddAssignWith.impl.Op.3fffc9.1] +// CHECK:STDOUT: %Op.ref: %Int.as.AddAssignWith.impl.Op.type.58ddfe.1 = name_ref Op, %.loc10_5 [concrete = constants.%Int.as.AddAssignWith.impl.Op.3fffc9.1] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref, %Op.ref -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Int.as.AddAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.c71) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.b74b59.2] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Int.as.AddAssignWith.impl.Op.2(constants.%int_64, constants.%ImplicitAs.facet.8fd) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.64d5fa.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %a.ref, %Int.as.AddAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc10_8: %.9e1 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_8: %.bf5 = impl_witness_access constants.%ImplicitAs.impl_witness.329, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_8: = bound_method %b.ref, %impl.elem0.loc10_8 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call: init %i64 = call %bound_method.loc10_8(%b.ref) // CHECK:STDOUT: %.loc10_8.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call @@ -3595,10 +3595,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.ada = var_pattern %a.patt [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.340: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a7: = impl_witness imports.%ImplicitAs.impl_witness_table.f73 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a7) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.562: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.6dd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.562, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ecb: = impl_witness imports.%ImplicitAs.impl_witness_table.abe [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.340 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.ecb) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.73a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.cb4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.73a, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -3606,15 +3606,15 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Inc.type: type = facet_type <@Inc> [concrete] // CHECK:STDOUT: %Inc.impl_witness: = impl_witness imports.%Inc.impl_witness_table [concrete] // CHECK:STDOUT: %Inc.facet: %Inc.type = facet_value %Cpp.long, (%Inc.impl_witness) [concrete] -// CHECK:STDOUT: %Inc.WithSelf.Op.type.c9e: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] -// CHECK:STDOUT: %.4d7: type = fn_type_with_self_type %Inc.WithSelf.Op.type.c9e, %Inc.facet [concrete] +// CHECK:STDOUT: %Inc.WithSelf.Op.type.6c1: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] +// CHECK:STDOUT: %.067: type = fn_type_with_self_type %Inc.WithSelf.Op.type.6c1, %Inc.facet [concrete] // CHECK:STDOUT: %Cpp.long.as.Inc.impl.Op.type: type = fn_type @Cpp.long.as.Inc.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long.as.Inc.impl.Op: %Cpp.long.as.Inc.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Dec.type: type = facet_type <@Dec> [concrete] // CHECK:STDOUT: %Dec.impl_witness: = impl_witness imports.%Dec.impl_witness_table [concrete] // CHECK:STDOUT: %Dec.facet: %Dec.type = facet_value %Cpp.long, (%Dec.impl_witness) [concrete] -// CHECK:STDOUT: %Dec.WithSelf.Op.type.6d1: type = fn_type @Dec.WithSelf.Op, @Dec.WithSelf(%Dec.facet) [concrete] -// CHECK:STDOUT: %.974: type = fn_type_with_self_type %Dec.WithSelf.Op.type.6d1, %Dec.facet [concrete] +// CHECK:STDOUT: %Dec.WithSelf.Op.type.9c9: type = fn_type @Dec.WithSelf.Op, @Dec.WithSelf(%Dec.facet) [concrete] +// CHECK:STDOUT: %.964: type = fn_type_with_self_type %Dec.WithSelf.Op.type.9c9, %Dec.facet [concrete] // CHECK:STDOUT: %Cpp.long.as.Dec.impl.Op.type: type = fn_type @Cpp.long.as.Dec.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long.as.Dec.impl.Op: %Cpp.long.as.Dec.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc8_3.3 [concrete] @@ -3627,7 +3627,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f73 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.abe = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.71b [concrete] // CHECK:STDOUT: %Core.import_ref.9c3475.1: %Cpp.long.as.Inc.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.Inc.impl.Op] // CHECK:STDOUT: %Inc.impl_witness_table = impl_witness_table (%Core.import_ref.9c3475.1), @Cpp.long.as.Inc.impl [concrete] // CHECK:STDOUT: %Core.import_ref.9c3475.2: %Cpp.long.as.Dec.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.Dec.impl.Op] @@ -3638,7 +3638,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.6dd = impl_witness_access constants.%ImplicitAs.impl_witness.5a7, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cb4 = impl_witness_access constants.%ImplicitAs.impl_witness.ecb, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.long = call %bound_method.loc8(%int_1) [concrete = constants.%int_1.33f] // CHECK:STDOUT: %.loc8_3: init %Cpp.long = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.33f] @@ -3653,11 +3653,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.ada = var_pattern %a.patt [concrete = constants.%a.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc9: ref %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc9: %.4d7 = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%Cpp.long.as.Inc.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.067 = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%Cpp.long.as.Inc.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %a.ref.loc9, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.long.as.Inc.impl.Op.call: init %empty_tuple.type = call %bound_method.loc9(%a.ref.loc9) // CHECK:STDOUT: %a.ref.loc10: ref %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc10: %.974 = impl_witness_access constants.%Dec.impl_witness, element0 [concrete = constants.%Cpp.long.as.Dec.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc10: %.964 = impl_witness_access constants.%Dec.impl_witness, element0 [concrete = constants.%Cpp.long.as.Dec.impl.Op] // CHECK:STDOUT: %bound_method.loc10: = bound_method %a.ref.loc10, %impl.elem0.loc10 // CHECK:STDOUT: %Cpp.long.as.Dec.impl.Op.call: init %empty_tuple.type = call %bound_method.loc10(%a.ref.loc10) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %a.var, constants.%Destroy.Op.1a2547.3 @@ -3692,12 +3692,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.b68(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.170: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199 = struct_value () [symbolic] // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.9c4: = impl_witness imports.%ImplicitAs.impl_witness_table.42f, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.8d9: = impl_witness imports.%ImplicitAs.impl_witness_table.f01, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b18: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.633: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b18 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.d29: %ImplicitAs.type.14f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.9c4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8cc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.d29) [concrete] -// CHECK:STDOUT: %.93e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8cc, %ImplicitAs.facet.d29 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.e08: %ImplicitAs.type.14f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.8d9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.17c: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.e08) [concrete] +// CHECK:STDOUT: %.ed5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.17c, %ImplicitAs.facet.e08 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.eb0: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.633 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.633, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.7e7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -3715,10 +3715,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %cpp_unsigned_long.patt: %pattern_type.172 = value_binding_pattern cpp_unsigned_long [concrete] // CHECK:STDOUT: %ImplicitAs.type.7da: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.unsigned_long)> [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.747: = impl_witness imports.%ImplicitAs.impl_witness_table.54e [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.dbc: %ImplicitAs.type.7da = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.747) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.57a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet.dbc) [concrete] -// CHECK:STDOUT: %.869: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.57a, %ImplicitAs.facet.dbc [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a75: = impl_witness imports.%ImplicitAs.impl_witness_table.bb8 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.75d: %ImplicitAs.type.7da = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a75) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.92f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet.75d) [concrete] +// CHECK:STDOUT: %.39a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.92f, %ImplicitAs.facet.75d [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -3733,17 +3733,17 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %carbon_u64_result.patt: %pattern_type.97e = value_binding_pattern carbon_u64_result [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %As.type.68f: type = facet_type <@As, @As(%Cpp.unsigned_long)> [concrete] -// CHECK:STDOUT: %As.impl_witness.a83: = impl_witness imports.%As.impl_witness_table.fcb [concrete] -// CHECK:STDOUT: %As.facet: %As.type.68f = facet_value Core.IntLiteral, (%As.impl_witness.a83) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d43: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.unsigned_long, %As.facet) [concrete] -// CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %As.WithSelf.Convert.type.d43, %As.facet [concrete] +// CHECK:STDOUT: %As.impl_witness.940: = impl_witness imports.%As.impl_witness_table.d4e [concrete] +// CHECK:STDOUT: %As.facet: %As.type.68f = facet_value Core.IntLiteral, (%As.impl_witness.940) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.ef7: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.unsigned_long, %As.facet) [concrete] +// CHECK:STDOUT: %.20a: type = fn_type_with_self_type %As.WithSelf.Convert.type.ef7, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.f9e: = impl_witness imports.%ImplicitAs.impl_witness_table.d48 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.020: %ImplicitAs.type.7cb = facet_value %Cpp.unsigned_long, (%ImplicitAs.impl_witness.f9e) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a35: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.020) [concrete] -// CHECK:STDOUT: %.1d2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a35, %ImplicitAs.facet.020 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.34b: = impl_witness imports.%ImplicitAs.impl_witness_table.090 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.263: %ImplicitAs.type.7cb = facet_value %Cpp.unsigned_long, (%ImplicitAs.impl_witness.34b) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.eb5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.263) [concrete] +// CHECK:STDOUT: %.7d5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.eb5, %ImplicitAs.facet.263 [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.unsigned_long.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.9e8, %Cpp.unsigned_long.as.ImplicitAs.impl.Convert [concrete] @@ -3759,12 +3759,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -3788,7 +3788,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.aa5: @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.170)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.42f = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f01 = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] // CHECK:STDOUT: %ULongLongResult.decl: type = class_decl @ULongLongResult [concrete = constants.%ULongLongResult] {} {} // CHECK:STDOUT: %PassULongLong.cpp_overload_set.value: %PassULongLong.cpp_overload_set.type = cpp_overload_set_value @PassULongLong.cpp_overload_set [concrete = constants.%PassULongLong.cpp_overload_set.value] // CHECK:STDOUT: %PassULongLong__carbon_thunk.decl.3ca866.1: %PassULongLong__carbon_thunk.type.76ef5b.1 = fn_decl @PassULongLong__carbon_thunk.1 [concrete = constants.%PassULongLong__carbon_thunk.030145.1] { @@ -3797,7 +3797,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.54e = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.a49 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb8 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.a49 [concrete] // CHECK:STDOUT: %ULongResult.decl: type = class_decl @ULongResult [concrete = constants.%ULongResult] {} {} // CHECK:STDOUT: %PassULongLong__carbon_thunk.decl.3ca866.2: %PassULongLong__carbon_thunk.type.76ef5b.2 = fn_decl @PassULongLong__carbon_thunk.2 [concrete = constants.%PassULongLong__carbon_thunk.030145.2] { // CHECK:STDOUT: @@ -3805,17 +3805,17 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.2: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] -// CHECK:STDOUT: %As.impl_witness_table.fcb = impl_witness_table (%Core.import_ref.06c923.2), @Core.IntLiteral.as.As.impl.60e [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d4e = impl_witness_table (%Core.import_ref.06c923.2), @Core.IntLiteral.as.As.impl.60e [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.3: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d48 = impl_witness_table (%Core.import_ref.06c923.3), @Cpp.unsigned_long.as.ImplicitAs.impl.8de [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.090 = impl_witness_table (%Core.import_ref.06c923.3), @Cpp.unsigned_long.as.ImplicitAs.impl.8de [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc15: %.93e = impl_witness_access constants.%ImplicitAs.impl_witness.9c4, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] +// CHECK:STDOUT: %impl.elem0.loc15: %.ed5 = impl_witness_access constants.%ImplicitAs.impl_witness.8d9, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] // CHECK:STDOUT: %bound_method.loc15_56.1: = bound_method %int_1.loc15, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.eb0] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_56.2: = bound_method %int_1.loc15, %specific_fn.loc15 [concrete = constants.%bound_method.7e7] @@ -3849,7 +3849,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %cpp_unsigned_long_long_result.patt: %pattern_type.97e = value_binding_pattern cpp_unsigned_long_long_result [concrete = constants.%cpp_unsigned_long_long_result.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc18: %.869 = impl_witness_access constants.%ImplicitAs.impl_witness.747, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc18: %.39a = impl_witness_access constants.%ImplicitAs.impl_witness.a75, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc18: = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.unsigned_long = call %bound_method.loc18(%int_1.loc18) [concrete = constants.%int_1.9e8] // CHECK:STDOUT: %.loc18_46.1: %Cpp.unsigned_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_1.9e8] @@ -3880,7 +3880,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %cpp_unsigned_long_result.patt: %pattern_type.97f = value_binding_pattern cpp_unsigned_long_result [concrete = constants.%cpp_unsigned_long_result.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc21: %.93e = impl_witness_access constants.%ImplicitAs.impl_witness.9c4, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] +// CHECK:STDOUT: %impl.elem0.loc21: %.ed5 = impl_witness_access constants.%ImplicitAs.impl_witness.8d9, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] // CHECK:STDOUT: %bound_method.loc21_25.1: = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.eb0] // CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_25.2: = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.7e7] @@ -3912,7 +3912,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc24_59.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc24_59: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc24_59: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc24_59.1: = bound_method %float, %impl.elem0.loc24_59 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc24: = specific_function %impl.elem0.loc24_59, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_59.2: = bound_method %float, %specific_fn.loc24 [concrete = constants.%bound_method.3e4] @@ -3929,12 +3929,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc24: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %unsigned_long.ref.loc24: type = name_ref unsigned_long, constants.%Cpp.unsigned_long [concrete = constants.%Cpp.unsigned_long] -// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.0ea = impl_witness_access constants.%As.impl_witness.a83, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.20a = impl_witness_access constants.%As.impl_witness.940, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc24_30.1: = bound_method %int_1.loc24, %impl.elem0.loc24_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %Cpp.unsigned_long = call %bound_method.loc24_30.1(%int_1.loc24) [concrete = constants.%int_1.9e8] // CHECK:STDOUT: %.loc24_30.1: %Cpp.unsigned_long = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.9e8] // CHECK:STDOUT: %.loc24_30.2: %Cpp.unsigned_long = converted %int_1.loc24, %.loc24_30.1 [concrete = constants.%int_1.9e8] -// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.1d2 = impl_witness_access constants.%ImplicitAs.impl_witness.f9e, element0 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.7d5 = impl_witness_access constants.%ImplicitAs.impl_witness.34b, element0 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc24_30.2: = bound_method %.loc24_30.2, %impl.elem0.loc24_30.2 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.call: init Core.IntLiteral = call %bound_method.loc24_30.2(%.loc24_30.2) [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc24_30.3: Core.IntLiteral = value_of_initializer %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.5b8] @@ -3983,20 +3983,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7da: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.unsigned_long)> [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.747: = impl_witness imports.%ImplicitAs.impl_witness_table.54e [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7da = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.747) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.57a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.869: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.57a, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a75: = impl_witness imports.%ImplicitAs.impl_witness_table.bb8 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7da = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a75) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.92f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.39a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.92f, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_1.9e8: %Cpp.unsigned_long = int_value 1 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.172 = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.172 = var_pattern %b.patt [concrete] -// CHECK:STDOUT: %Copy.impl_witness.650: = impl_witness imports.%Copy.impl_witness_table.ab1 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.unsigned_long, (%Copy.impl_witness.650) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.6a8: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.647: type = fn_type_with_self_type %Copy.WithSelf.Op.type.6a8, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.2bb: = impl_witness imports.%Copy.impl_witness_table.2f0 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.unsigned_long, (%Copy.impl_witness.2bb) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ca5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.63b: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ca5, %Copy.facet [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.Copy.impl.Op.type: type = fn_type @Cpp.unsigned_long.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.Copy.impl.Op: %Cpp.unsigned_long.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] @@ -4009,16 +4009,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.54e = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.a49 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bb8 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.a49 [concrete] // CHECK:STDOUT: %Core.import_ref.9c3: %Cpp.unsigned_long.as.Copy.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.unsigned_long.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.ab1 = impl_witness_table (%Core.import_ref.9c3), @Cpp.unsigned_long.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.2f0 = impl_witness_table (%Core.import_ref.9c3), @Cpp.unsigned_long.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.unsigned_long = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.869 = impl_witness_access constants.%ImplicitAs.impl_witness.747, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.39a = impl_witness_access constants.%ImplicitAs.impl_witness.a75, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.unsigned_long = call %bound_method.loc8(%int_1) [concrete = constants.%int_1.9e8] // CHECK:STDOUT: %.loc8_3: init %Cpp.unsigned_long = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.9e8] @@ -4035,7 +4035,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %b.var: ref %Cpp.unsigned_long = var_storage %b.var_patt // CHECK:STDOUT: %a.ref: ref %Cpp.unsigned_long = name_ref a, %a // CHECK:STDOUT: %.loc9_37: %Cpp.unsigned_long = acquire_value %a.ref -// CHECK:STDOUT: %impl.elem0.loc9: %.647 = impl_witness_access constants.%Copy.impl_witness.650, element0 [concrete = constants.%Cpp.unsigned_long.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.63b = impl_witness_access constants.%Copy.impl_witness.2bb, element0 [concrete = constants.%Cpp.unsigned_long.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %.loc9_37, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.unsigned_long.as.Copy.impl.Op.call: init %Cpp.unsigned_long = call %bound_method.loc9(%.loc9_37) // CHECK:STDOUT: assign %b.var, %Cpp.unsigned_long.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.llp64.carbon b/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.llp64.carbon index 3ddb7d91add5..e2cfe8194e37 100644 --- a/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.llp64.carbon +++ b/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.llp64.carbon @@ -702,12 +702,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From.fe9) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.091: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.227: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.6e8: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.091) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a04: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.6e8) [concrete] -// CHECK:STDOUT: %.f34: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a04, %ImplicitAs.facet.6e8 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.235: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.227) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.da7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.235) [concrete] +// CHECK:STDOUT: %.03f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.da7, %ImplicitAs.facet.235 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.c5e: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -718,21 +718,21 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %As.type.998: type = facet_type <@As, @As(%i64)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.2e1: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.0fe: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.1a1: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.3d9: %Core.IntLiteral.as.As.impl.Convert.type.1a1 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.998 = facet_value Core.IntLiteral, (%As.impl_witness.2e1) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.2b4: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i64, %As.facet) [concrete] -// CHECK:STDOUT: %.01b: type = fn_type_with_self_type %As.WithSelf.Convert.type.2b4, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.998 = facet_value Core.IntLiteral, (%As.impl_witness.0fe) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.7f7: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i64, %As.facet) [concrete] +// CHECK:STDOUT: %.8fd: type = fn_type_with_self_type %As.WithSelf.Convert.type.7f7, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.3d9 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.3d9, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.991: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a75: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d20: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.ad9: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.be5: %Int.as.ImplicitAs.impl.Convert.type.ad9 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.cee: %ImplicitAs.type.7cb = facet_value %i64, (%ImplicitAs.impl_witness.a75) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.004: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.cee) [concrete] -// CHECK:STDOUT: %.779: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.004, %ImplicitAs.facet.cee [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b6d: %ImplicitAs.type.7cb = facet_value %i64, (%ImplicitAs.impl_witness.d20) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.95a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.b6d) [concrete] +// CHECK:STDOUT: %.f05: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.95a, %ImplicitAs.facet.b6d [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.d98, %Int.as.ImplicitAs.impl.Convert.be5 [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.be5, @Int.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.e21: = bound_method %int_1.d98, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -748,12 +748,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -769,19 +769,19 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.f34 = impl_witness_access constants.%ImplicitAs.impl_witness.091, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] +// CHECK:STDOUT: %impl.elem0.loc8: %.03f = impl_witness_access constants.%ImplicitAs.impl_witness.227, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] // CHECK:STDOUT: %bound_method.loc8_38.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_38.2: = bound_method %int_1.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.c5e] @@ -806,7 +806,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc11_55.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc11_55: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc11_55: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc11_55.1: = bound_method %float, %impl.elem0.loc11_55 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_55: = specific_function %impl.elem0.loc11_55, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_55.2: = bound_method %float, %specific_fn.loc11_55 [concrete = constants.%bound_method.3e4] @@ -823,14 +823,14 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %long_long.ref.loc11: type = name_ref long_long, %i64.2 [concrete = constants.%i64] -// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.01b = impl_witness_access constants.%As.impl_witness.2e1, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.3d9] +// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.8fd = impl_witness_access constants.%As.impl_witness.0fe, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.3d9] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.1: = specific_function %impl.elem0.loc11_30.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_30.2: = bound_method %int_1.loc11, %specific_fn.loc11_30.1 [concrete = constants.%bound_method.991] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i64 = call %bound_method.loc11_30.2(%int_1.loc11) [concrete = constants.%int_1.d98] // CHECK:STDOUT: %.loc11_30.1: %i64 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.d98] // CHECK:STDOUT: %.loc11_30.2: %i64 = converted %int_1.loc11, %.loc11_30.1 [concrete = constants.%int_1.d98] -// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.779 = impl_witness_access constants.%ImplicitAs.impl_witness.a75, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.be5] +// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.f05 = impl_witness_access constants.%ImplicitAs.impl_witness.d20, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.be5] // CHECK:STDOUT: %bound_method.loc11_30.3: = bound_method %.loc11_30.2, %impl.elem0.loc11_30.2 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.2: = specific_function %impl.elem0.loc11_30.2, @Int.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_30.4: = bound_method %.loc11_30.2, %specific_fn.loc11_30.2 [concrete = constants.%bound_method.e21] @@ -879,12 +879,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.3ec: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.3d3(%From.fe9) [symbolic] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.06e: %UInt.as.ImplicitAs.impl.Convert.type.3ec = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.9c4: = impl_witness imports.%ImplicitAs.impl_witness_table.42f, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.8d9: = impl_witness imports.%ImplicitAs.impl_witness_table.f01, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b18: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.633: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b18 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.d29: %ImplicitAs.type.14f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.9c4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8cc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.d29) [concrete] -// CHECK:STDOUT: %.93e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8cc, %ImplicitAs.facet.d29 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.e08: %ImplicitAs.type.14f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.8d9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.17c: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.e08) [concrete] +// CHECK:STDOUT: %.ed5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.17c, %ImplicitAs.facet.e08 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.633 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.633, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.7e7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -895,21 +895,21 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %As.type.72f: type = facet_type <@As, @As(%u64)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.fb3: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.e51(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.f86: %Core.IntLiteral.as.As.impl.Convert.type.fb3 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.8fb: = impl_witness imports.%As.impl_witness_table.8fa, @Core.IntLiteral.as.As.impl.e51(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.5477: = impl_witness imports.%As.impl_witness_table.637, @Core.IntLiteral.as.As.impl.e51(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.49f: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.e51(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.990: %Core.IntLiteral.as.As.impl.Convert.type.49f = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.72f = facet_value Core.IntLiteral, (%As.impl_witness.8fb) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8dd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u64, %As.facet) [concrete] -// CHECK:STDOUT: %.04a: type = fn_type_with_self_type %As.WithSelf.Convert.type.8dd, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.72f = facet_value Core.IntLiteral, (%As.impl_witness.5477) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.e94: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u64, %As.facet) [concrete] +// CHECK:STDOUT: %.b3c: type = fn_type_with_self_type %As.WithSelf.Convert.type.e94, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.990 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.990, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.318: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.b02: = impl_witness imports.%ImplicitAs.impl_witness_table.a83, @UInt.as.ImplicitAs.impl.3d3(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.faa: = impl_witness imports.%ImplicitAs.impl_witness_table.465, @UInt.as.ImplicitAs.impl.3d3(%int_64) [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.cd8: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.3d3(%int_64) [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.7d0: %UInt.as.ImplicitAs.impl.Convert.type.cd8 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.e41: %ImplicitAs.type.7cb = facet_value %u64, (%ImplicitAs.impl_witness.b02) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.da8: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.e41) [concrete] -// CHECK:STDOUT: %.637: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.da8, %ImplicitAs.facet.e41 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.256: %ImplicitAs.type.7cb = facet_value %u64, (%ImplicitAs.impl_witness.faa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.802: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.256) [concrete] +// CHECK:STDOUT: %.2f3: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.802, %ImplicitAs.facet.256 [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.01f, %UInt.as.ImplicitAs.impl.Convert.7d0 [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %UInt.as.ImplicitAs.impl.Convert.7d0, @UInt.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.b37: = bound_method %int_1.01f, %UInt.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -925,12 +925,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -946,19 +946,19 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.aa5: @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.170)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.42f = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f01 = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] // CHECK:STDOUT: %Core.import_ref.baa: @UInt.as.ImplicitAs.impl.3d3.%UInt.as.ImplicitAs.impl.Convert.type (%UInt.as.ImplicitAs.impl.Convert.type.3ec) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @UInt.as.ImplicitAs.impl.3d3.%UInt.as.ImplicitAs.impl.Convert (constants.%UInt.as.ImplicitAs.impl.Convert.06e)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a83 = impl_witness_table (%Core.import_ref.baa), @UInt.as.ImplicitAs.impl.3d3 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.465 = impl_witness_table (%Core.import_ref.baa), @UInt.as.ImplicitAs.impl.3d3 [concrete] // CHECK:STDOUT: %Core.import_ref.59a: @Core.IntLiteral.as.As.impl.e51.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.fb3) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.e51.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.f86)] -// CHECK:STDOUT: %As.impl_witness_table.8fa = impl_witness_table (%Core.import_ref.59a), @Core.IntLiteral.as.As.impl.e51 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.637 = impl_witness_table (%Core.import_ref.59a), @Core.IntLiteral.as.As.impl.e51 [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.93e = impl_witness_access constants.%ImplicitAs.impl_witness.9c4, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] +// CHECK:STDOUT: %impl.elem0.loc8: %.ed5 = impl_witness_access constants.%ImplicitAs.impl_witness.8d9, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] // CHECK:STDOUT: %bound_method.loc8_56.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_56.2: = bound_method %int_1.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.7e7] @@ -983,7 +983,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc11_64.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc11_64: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc11_64: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc11_64.1: = bound_method %float, %impl.elem0.loc11_64 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_64: = specific_function %impl.elem0.loc11_64, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_64.2: = bound_method %float, %specific_fn.loc11_64 [concrete = constants.%bound_method.3e4] @@ -1000,14 +1000,14 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %unsigned_long_long.ref.loc11: type = name_ref unsigned_long_long, %u64.2 [concrete = constants.%u64] -// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.04a = impl_witness_access constants.%As.impl_witness.8fb, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.990] +// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.b3c = impl_witness_access constants.%As.impl_witness.5477, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.990] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.1: = specific_function %impl.elem0.loc11_30.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_30.2: = bound_method %int_1.loc11, %specific_fn.loc11_30.1 [concrete = constants.%bound_method.318] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %u64 = call %bound_method.loc11_30.2(%int_1.loc11) [concrete = constants.%int_1.01f] // CHECK:STDOUT: %.loc11_30.1: %u64 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.01f] // CHECK:STDOUT: %.loc11_30.2: %u64 = converted %int_1.loc11, %.loc11_30.1 [concrete = constants.%int_1.01f] -// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.637 = impl_witness_access constants.%ImplicitAs.impl_witness.b02, element0 [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.7d0] +// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.2f3 = impl_witness_access constants.%ImplicitAs.impl_witness.faa, element0 [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.7d0] // CHECK:STDOUT: %bound_method.loc11_30.3: = bound_method %.loc11_30.2, %impl.elem0.loc11_30.2 [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.2: = specific_function %impl.elem0.loc11_30.2, @UInt.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_30.4: = bound_method %.loc11_30.2, %specific_fn.loc11_30.2 [concrete = constants.%bound_method.b37] @@ -1058,10 +1058,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete] // CHECK:STDOUT: %ImplicitAs.type.221: type = facet_type <@ImplicitAs, @ImplicitAs(%i64)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.b30: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet.b30 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.eac: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet.eac [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -1086,10 +1086,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %PassLong__carbon_thunk.806a90.2: %PassLong__carbon_thunk.type.ac66cb.2 = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.f57: type = pattern_type %i64 [concrete] // CHECK:STDOUT: %carbon_i64.patt: %pattern_type.f57 = value_binding_pattern carbon_i64 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.cfa: = impl_witness imports.%ImplicitAs.impl_witness_table.035 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.a99: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.cfa) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.629: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.a99) [concrete] -// CHECK:STDOUT: %.bd1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.629, %ImplicitAs.facet.a99 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.95d: = impl_witness imports.%ImplicitAs.impl_witness_table.c12 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.eb1: %ImplicitAs.type.221 = facet_value %Cpp.long, (%ImplicitAs.impl_witness.95d) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.51b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.eb1) [concrete] +// CHECK:STDOUT: %.de8: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.51b, %ImplicitAs.facet.eb1 [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.1: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.1: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.1 = struct_value () [concrete] // CHECK:STDOUT: %Float.type: type = generic_class_type @Float [concrete] @@ -1098,17 +1098,17 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %As.type.116: type = generic_interface_type @As [concrete] // CHECK:STDOUT: %As.generic: %As.type.116 = struct_value () [concrete] // CHECK:STDOUT: %As.type.cbc: type = facet_type <@As, @As(%Cpp.long)> [concrete] -// CHECK:STDOUT: %As.impl_witness.d97: = impl_witness imports.%As.impl_witness_table.a2e [concrete] -// CHECK:STDOUT: %As.facet: %As.type.cbc = facet_value Core.IntLiteral, (%As.impl_witness.d97) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.d45: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.long, %As.facet) [concrete] -// CHECK:STDOUT: %.d2f4: type = fn_type_with_self_type %As.WithSelf.Convert.type.d45, %As.facet [concrete] +// CHECK:STDOUT: %As.impl_witness.e10: = impl_witness imports.%As.impl_witness_table.5ef [concrete] +// CHECK:STDOUT: %As.facet: %As.type.cbc = facet_value Core.IntLiteral, (%As.impl_witness.e10) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.ea2: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.long, %As.facet) [concrete] +// CHECK:STDOUT: %.70a: type = fn_type_with_self_type %As.WithSelf.Convert.type.ea2, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.402: = impl_witness imports.%ImplicitAs.impl_witness_table.a80 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.6c6: %ImplicitAs.type.7cb = facet_value %Cpp.long, (%ImplicitAs.impl_witness.402) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a2a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.6c6) [concrete] -// CHECK:STDOUT: %.49e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a2a, %ImplicitAs.facet.6c6 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f6c: = impl_witness imports.%ImplicitAs.impl_witness_table.f2c [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.2d0: %ImplicitAs.type.7cb = facet_value %Cpp.long, (%ImplicitAs.impl_witness.f6c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.713: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.2d0) [concrete] +// CHECK:STDOUT: %.086: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.713, %ImplicitAs.facet.2d0 [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.2: type = fn_type @Cpp.long.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.2 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.9ce, %Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2 [concrete] @@ -1124,12 +1124,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1171,7 +1171,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.Long32: type = import_ref Core//prelude/types/cpp/int, Long32, loaded [concrete = constants.%Cpp.long] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %LongResult.decl: type = class_decl @LongResult [concrete = constants.%LongResult] {} {} // CHECK:STDOUT: %PassLong.cpp_overload_set.value: %PassLong.cpp_overload_set.type = cpp_overload_set_value @PassLong.cpp_overload_set [concrete = constants.%PassLong.cpp_overload_set.value] // CHECK:STDOUT: %PassLong__carbon_thunk.decl.13dd4e.1: %PassLong__carbon_thunk.type.ac66cb.1 = fn_decl @PassLong__carbon_thunk.1 [concrete = constants.%PassLong__carbon_thunk.806a90.1] { @@ -1187,22 +1187,22 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.2: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.1 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.1] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.035 = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.5a3 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.c12 = impl_witness_table (%Core.import_ref.06c923.2), @Cpp.long.as.ImplicitAs.impl.5a3 [concrete] // CHECK:STDOUT: %Core.Float: %Float.type = import_ref Core//prelude/types/float, Float, loaded [concrete = constants.%Float.generic] // CHECK:STDOUT: %Core.As: %As.type.116 = import_ref Core//prelude/operators/as, As, loaded [concrete = constants.%As.generic] // CHECK:STDOUT: %Core.import_ref.06c923.3: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] -// CHECK:STDOUT: %As.impl_witness_table.a2e = impl_witness_table (%Core.import_ref.06c923.3), @Core.IntLiteral.as.As.impl.f1e [concrete] +// CHECK:STDOUT: %As.impl_witness_table.5ef = impl_witness_table (%Core.import_ref.06c923.3), @Core.IntLiteral.as.As.impl.f1e [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.4: %Cpp.long.as.ImplicitAs.impl.Convert.type.ae6f4c.2 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a80 = impl_witness_table (%Core.import_ref.06c923.4), @Cpp.long.as.ImplicitAs.impl.886 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f2c = impl_witness_table (%Core.import_ref.06c923.4), @Cpp.long.as.ImplicitAs.impl.886 [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc15: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc15: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc15: = bound_method %int_1.loc15, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.long = call %bound_method.loc15(%int_1.loc15) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc15_28.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.9ce] @@ -1286,7 +1286,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %carbon_i32_result.patt: %pattern_type.596 = value_binding_pattern carbon_i32_result [concrete = constants.%carbon_i32_result.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_long.ref.loc24: %Cpp.long = name_ref cpp_long, %cpp_long -// CHECK:STDOUT: %impl.elem0.loc24: %.bd1 = impl_witness_access constants.%ImplicitAs.impl_witness.cfa, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.1] +// CHECK:STDOUT: %impl.elem0.loc24: %.de8 = impl_witness_access constants.%ImplicitAs.impl_witness.95d, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.1] // CHECK:STDOUT: %bound_method.loc24: = bound_method %cpp_long.ref.loc24, %impl.elem0.loc24 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc24: init %i64 = call %bound_method.loc24(%cpp_long.ref.loc24) // CHECK:STDOUT: %.loc24_32.1: %i64 = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc24 @@ -1299,7 +1299,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc26_50.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc26_50: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc26_50: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc26_50.1: = bound_method %float, %impl.elem0.loc26_50 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc26_50, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_50.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] @@ -1316,12 +1316,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.loc26: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc26: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %long.ref.loc26: type = name_ref long, constants.%Cpp.long [concrete = constants.%Cpp.long] -// CHECK:STDOUT: %impl.elem0.loc26_30.1: %.d2f4 = impl_witness_access constants.%As.impl_witness.d97, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc26_30.1: %.70a = impl_witness_access constants.%As.impl_witness.e10, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc26_30.1: = bound_method %int_1.loc26, %impl.elem0.loc26_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %Cpp.long = call %bound_method.loc26_30.1(%int_1.loc26) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc26_30.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc26_30.2: %Cpp.long = converted %int_1.loc26, %.loc26_30.1 [concrete = constants.%int_1.9ce] -// CHECK:STDOUT: %impl.elem0.loc26_30.2: %.49e = impl_witness_access constants.%ImplicitAs.impl_witness.402, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2] +// CHECK:STDOUT: %impl.elem0.loc26_30.2: %.086 = impl_witness_access constants.%ImplicitAs.impl_witness.f6c, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.3cefb0.2] // CHECK:STDOUT: %bound_method.loc26_30.2: = bound_method %.loc26_30.2, %impl.elem0.loc26_30.2 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc26: init Core.IntLiteral = call %bound_method.loc26_30.2(%.loc26_30.2) [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc26_30.3: Core.IntLiteral = value_of_initializer %Cpp.long.as.ImplicitAs.impl.Convert.call.loc26 [concrete = constants.%int_1.5b8] @@ -1370,20 +1370,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7eb: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_1.9ce: %Cpp.long = int_value 1 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.25e = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.25e = var_pattern %b.patt [concrete] -// CHECK:STDOUT: %Copy.impl_witness.fc57: = impl_witness imports.%Copy.impl_witness_table.210 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long, (%Copy.impl_witness.fc57) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8db: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.3dd: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8db, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c0b: = impl_witness imports.%Copy.impl_witness_table.6ef [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long, (%Copy.impl_witness.c0b) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.7c0: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.f58: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7c0, %Copy.facet [concrete] // CHECK:STDOUT: %Cpp.long.as.Copy.impl.Op.type: type = fn_type @Cpp.long.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long.as.Copy.impl.Op: %Cpp.long.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] @@ -1396,16 +1396,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %Core.import_ref.9c3: %Cpp.long.as.Copy.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.210 = impl_witness_table (%Core.import_ref.9c3), @Cpp.long.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.6ef = impl_witness_table (%Core.import_ref.9c3), @Cpp.long.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CopyLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.long = call %bound_method.loc8(%int_1) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc8_3: init %Cpp.long = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.9ce] @@ -1422,7 +1422,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %b.var: ref %Cpp.long = var_storage %b.var_patt // CHECK:STDOUT: %a.ref: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %.loc9_28: %Cpp.long = acquire_value %a.ref -// CHECK:STDOUT: %impl.elem0.loc9: %.3dd = impl_witness_access constants.%Copy.impl_witness.fc57, element0 [concrete = constants.%Cpp.long.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.f58 = impl_witness_access constants.%Copy.impl_witness.c0b, element0 [concrete = constants.%Cpp.long.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %.loc9_28, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.long.as.Copy.impl.Op.call: init %Cpp.long = call %bound_method.loc9(%.loc9_28) // CHECK:STDOUT: assign %b.var, %Cpp.long.as.Copy.impl.Op.call @@ -1462,43 +1462,43 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.patt: %pattern_type.25e = value_binding_pattern a [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7eb: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_1.9ce: %Cpp.long = int_value 1 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.25e = value_binding_pattern b [concrete] // CHECK:STDOUT: %EqWith.type.54a: type = facet_type <@EqWith, @EqWith(%Cpp.long)> [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.cd4: = impl_witness imports.%EqWith.impl_witness_table.48e [concrete] -// CHECK:STDOUT: %EqWith.facet.362: %EqWith.type.54a = facet_value %Cpp.long, (%EqWith.impl_witness.cd4) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.23e: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.362) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.cc5: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.362) [concrete] -// CHECK:STDOUT: %.b25: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.23e, %EqWith.facet.362 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.b5c: = impl_witness imports.%EqWith.impl_witness_table.cbc [concrete] +// CHECK:STDOUT: %EqWith.facet.59b: %EqWith.type.54a = facet_value %Cpp.long, (%EqWith.impl_witness.b5c) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.f98: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.59b) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.755: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.59b) [concrete] +// CHECK:STDOUT: %.f5c: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.f98, %EqWith.facet.59b [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.78c: type = fn_type @Cpp.long.as.EqWith.impl.Equal.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.1ca: %Cpp.long.as.EqWith.impl.Equal.type.78c = struct_value () [concrete] -// CHECK:STDOUT: %.8fe: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.cc5, %EqWith.facet.362 [concrete] +// CHECK:STDOUT: %.23b: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.755, %EqWith.facet.59b [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.8e5: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.a6a: %Cpp.long.as.EqWith.impl.NotEqual.type.8e5 = struct_value () [concrete] // CHECK:STDOUT: %OrderedWith.type.a48: type = facet_type <@OrderedWith, @OrderedWith(%Cpp.long)> [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.c47: = impl_witness imports.%OrderedWith.impl_witness_table.5d0 [concrete] -// CHECK:STDOUT: %OrderedWith.facet.f99: %OrderedWith.type.a48 = facet_value %Cpp.long, (%OrderedWith.impl_witness.c47) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.e6d: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.f99) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.601: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.f99) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.d3f: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.f99) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.2d8: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.f99) [concrete] -// CHECK:STDOUT: %.693: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.d3f, %OrderedWith.facet.f99 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.1ec: = impl_witness imports.%OrderedWith.impl_witness_table.a85 [concrete] +// CHECK:STDOUT: %OrderedWith.facet.96b: %OrderedWith.type.a48 = facet_value %Cpp.long, (%OrderedWith.impl_witness.1ec) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.d27: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.96b) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.b20: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.96b) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.06b: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.96b) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.405: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.96b) [concrete] +// CHECK:STDOUT: %.f12: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.06b, %OrderedWith.facet.96b [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.725: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.7c8: %Cpp.long.as.OrderedWith.impl.Greater.type.725 = struct_value () [concrete] -// CHECK:STDOUT: %.c3c: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.e6d, %OrderedWith.facet.f99 [concrete] +// CHECK:STDOUT: %.7cf: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.d27, %OrderedWith.facet.96b [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.335: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.606: %Cpp.long.as.OrderedWith.impl.Less.type.335 = struct_value () [concrete] -// CHECK:STDOUT: %.9bc: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.2d8, %OrderedWith.facet.f99 [concrete] +// CHECK:STDOUT: %.29c: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.405, %OrderedWith.facet.96b [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.2d9: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.a09: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.2d9 = struct_value () [concrete] -// CHECK:STDOUT: %.df7: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.601, %OrderedWith.facet.f99 [concrete] +// CHECK:STDOUT: %.62e: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.b20, %OrderedWith.facet.96b [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.42c: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0c8: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.42c = struct_value () [concrete] // CHECK:STDOUT: } @@ -1509,21 +1509,21 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %Core.import_ref.a87: %Cpp.long.as.EqWith.impl.Equal.type.78c = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.1ca] -// CHECK:STDOUT: %Core.import_ref.adc9b: %Cpp.long.as.EqWith.impl.NotEqual.type.8e5 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.a6a] -// CHECK:STDOUT: %EqWith.impl_witness_table.48e = impl_witness_table (%Core.import_ref.a87, %Core.import_ref.adc9b), @Cpp.long.as.EqWith.impl.96d [concrete] +// CHECK:STDOUT: %Core.import_ref.adc9: %Cpp.long.as.EqWith.impl.NotEqual.type.8e5 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.a6a] +// CHECK:STDOUT: %EqWith.impl_witness_table.cbc = impl_witness_table (%Core.import_ref.a87, %Core.import_ref.adc9), @Cpp.long.as.EqWith.impl.96d [concrete] // CHECK:STDOUT: %Core.import_ref.0e8: %Cpp.long.as.OrderedWith.impl.Less.type.335 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.606] // CHECK:STDOUT: %Core.import_ref.757ec: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.42c = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0c8] // CHECK:STDOUT: %Core.import_ref.c32c: %Cpp.long.as.OrderedWith.impl.Greater.type.725 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.7c8] // CHECK:STDOUT: %Core.import_ref.381: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.2d9 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.a09] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.5d0 = impl_witness_table (%Core.import_ref.0e8, %Core.import_ref.757ec, %Core.import_ref.c32c, %Core.import_ref.381), @Cpp.long.as.OrderedWith.impl.894 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.a85 = impl_witness_table (%Core.import_ref.0e8, %Core.import_ref.757ec, %Core.import_ref.c32c, %Core.import_ref.381), @Cpp.long.as.OrderedWith.impl.894 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @ComparisonsHomogeneousLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc8_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.9ce] @@ -1537,7 +1537,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.patt: %pattern_type.25e = value_binding_pattern a [concrete = constants.%a.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc9_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.9ce] @@ -1552,32 +1552,32 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc10: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc10: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10: %.b25 = impl_witness_access constants.%EqWith.impl_witness.cd4, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.1ca] +// CHECK:STDOUT: %impl.elem0.loc10: %.f5c = impl_witness_access constants.%EqWith.impl_witness.b5c, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.1ca] // CHECK:STDOUT: %bound_method.loc10: = bound_method %a.ref.loc10, %impl.elem0.loc10 // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.call: init bool = call %bound_method.loc10(%a.ref.loc10, %b.ref.loc10) // CHECK:STDOUT: %a.ref.loc11: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc11: %.8fe = impl_witness_access constants.%EqWith.impl_witness.cd4, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.a6a] +// CHECK:STDOUT: %impl.elem1.loc11: %.23b = impl_witness_access constants.%EqWith.impl_witness.b5c, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.a6a] // CHECK:STDOUT: %bound_method.loc11: = bound_method %a.ref.loc11, %impl.elem1.loc11 // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.call: init bool = call %bound_method.loc11(%a.ref.loc11, %b.ref.loc11) // CHECK:STDOUT: %a.ref.loc12: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem2: %.693 = impl_witness_access constants.%OrderedWith.impl_witness.c47, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.7c8] +// CHECK:STDOUT: %impl.elem2: %.f12 = impl_witness_access constants.%OrderedWith.impl_witness.1ec, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.7c8] // CHECK:STDOUT: %bound_method.loc12: = bound_method %a.ref.loc12, %impl.elem2 // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.call: init bool = call %bound_method.loc12(%a.ref.loc12, %b.ref.loc12) // CHECK:STDOUT: %a.ref.loc13: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13: %.c3c = impl_witness_access constants.%OrderedWith.impl_witness.c47, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.606] +// CHECK:STDOUT: %impl.elem0.loc13: %.7cf = impl_witness_access constants.%OrderedWith.impl_witness.1ec, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.606] // CHECK:STDOUT: %bound_method.loc13: = bound_method %a.ref.loc13, %impl.elem0.loc13 // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.call: init bool = call %bound_method.loc13(%a.ref.loc13, %b.ref.loc13) // CHECK:STDOUT: %a.ref.loc14: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem3: %.9bc = impl_witness_access constants.%OrderedWith.impl_witness.c47, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.a09] +// CHECK:STDOUT: %impl.elem3: %.29c = impl_witness_access constants.%OrderedWith.impl_witness.1ec, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.a09] // CHECK:STDOUT: %bound_method.loc14: = bound_method %a.ref.loc14, %impl.elem3 // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.call: init bool = call %bound_method.loc14(%a.ref.loc14, %b.ref.loc14) // CHECK:STDOUT: %a.ref.loc15: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc15: %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc15: %.df7 = impl_witness_access constants.%OrderedWith.impl_witness.c47, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0c8] +// CHECK:STDOUT: %impl.elem1.loc15: %.62e = impl_witness_access constants.%OrderedWith.impl_witness.1ec, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.0c8] // CHECK:STDOUT: %bound_method.loc15: = bound_method %a.ref.loc15, %impl.elem1.loc15 // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.call: init bool = call %bound_method.loc15(%a.ref.loc15, %b.ref.loc15) // CHECK:STDOUT: @@ -1593,10 +1593,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %pattern_type.25e: type = pattern_type %Cpp.long [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.25e = value_binding_pattern a [concrete] // CHECK:STDOUT: %ImplicitAs.type.7eb: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.b30: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet.b30 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.eac: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet.eac [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -1612,30 +1612,30 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.814973.2: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.5b1(%T.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.4a8971.2: %Cpp.long.as.EqWith.impl.Equal.type.814973.2 = struct_value () [symbolic] // CHECK:STDOUT: %EqWith.type.aee: type = facet_type <@EqWith, @EqWith(Core.IntLiteral)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.f82: = impl_witness imports.%ImplicitAs.impl_witness_table.a75 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.ce4: %ImplicitAs.type.7eb = facet_value %i32, (%ImplicitAs.impl_witness.f82) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.f8a: = impl_witness imports.%EqWith.impl_witness_table.fc9, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.91d370.1: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.1a881e.1: %Cpp.long.as.EqWith.impl.Equal.type.91d370.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.0ae55e.1: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.2, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.7bb2f2.1: %Cpp.long.as.EqWith.impl.NotEqual.type.0ae55e.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.91d370.2: type = fn_type @Cpp.long.as.EqWith.impl.Equal.1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.1a881e.2: %Cpp.long.as.EqWith.impl.Equal.type.91d370.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.0ae55e.2: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.7bb2f2.2: %Cpp.long.as.EqWith.impl.NotEqual.type.0ae55e.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.1af: %EqWith.type.8ee = facet_value %Cpp.long, (%EqWith.impl_witness.f8a) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.59f: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i32, %EqWith.facet.1af) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.92e: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i32, %EqWith.facet.1af) [concrete] -// CHECK:STDOUT: %.ad3: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.59f, %EqWith.facet.1af [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.6692a8.1: = specific_function %Cpp.long.as.EqWith.impl.Equal.1a881e.2, @Cpp.long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.6692a8.2: = specific_function %Cpp.long.as.EqWith.impl.Equal.1a881e.1, @Cpp.long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.59b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.9c4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.59b, %ImplicitAs.facet.ce4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2e1: = impl_witness imports.%ImplicitAs.impl_witness_table.96f [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.2ac: %ImplicitAs.type.7eb = facet_value %i32, (%ImplicitAs.impl_witness.2e1) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.07d: = impl_witness imports.%EqWith.impl_witness_table.3b1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.8a6913.1: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.9da2bb.1: %Cpp.long.as.EqWith.impl.Equal.type.8a6913.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.7b1ae2.1: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.2, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.e15cee.1: %Cpp.long.as.EqWith.impl.NotEqual.type.7b1ae2.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.8a6913.2: type = fn_type @Cpp.long.as.EqWith.impl.Equal.1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.9da2bb.2: %Cpp.long.as.EqWith.impl.Equal.type.8a6913.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.7b1ae2.2: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.e15cee.2: %Cpp.long.as.EqWith.impl.NotEqual.type.7b1ae2.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.bc7: %EqWith.type.8ee = facet_value %Cpp.long, (%EqWith.impl_witness.07d) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.372: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i32, %EqWith.facet.bc7) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.9c0: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i32, %EqWith.facet.bc7) [concrete] +// CHECK:STDOUT: %.73b: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.372, %EqWith.facet.bc7 [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.cb7787.1: = specific_function %Cpp.long.as.EqWith.impl.Equal.9da2bb.2, @Cpp.long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.cb7787.2: = specific_function %Cpp.long.as.EqWith.impl.Equal.9da2bb.1, @Cpp.long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f2d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.08c: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f2d, %ImplicitAs.facet.2ac [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert: %i32.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %.e94: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.92e, %EqWith.facet.1af [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.7605b8.1: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.7bb2f2.2, @Cpp.long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.7605b8.2: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.7bb2f2.1, @Cpp.long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %.2e9: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.9c0, %EqWith.facet.bc7 [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.a29361.1: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.e15cee.2, @Cpp.long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.a29361.2: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.e15cee.1, @Cpp.long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %OrderedWith.type.7dc: type = facet_type <@OrderedWith, @OrderedWith(%i32)> [concrete] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.154997.1: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.3fc(%T.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.e4afa3.1: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.154997.1 = struct_value () [symbolic] @@ -1654,92 +1654,92 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.3ff9ca.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.3fc(%T.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.76c9f3.2: %Cpp.long.as.OrderedWith.impl.Less.type.3ff9ca.2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.type.975: type = facet_type <@OrderedWith, @OrderedWith(Core.IntLiteral)> [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.512: = impl_witness imports.%OrderedWith.impl_witness_table.41e, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.cc154a.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.c497ef.1: %Cpp.long.as.OrderedWith.impl.Less.type.cc154a.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ae2ba0.1: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.998aeb.1: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ae2ba0.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.1eeaf7.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.ea4cc4.1: %Cpp.long.as.OrderedWith.impl.Greater.type.1eeaf7.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a93f64.1: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.b64dd2.1: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a93f64.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.cc154a.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.c497ef.2: %Cpp.long.as.OrderedWith.impl.Less.type.cc154a.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ae2ba0.2: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.998aeb.2: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ae2ba0.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.1eeaf7.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.ea4cc4.2: %Cpp.long.as.OrderedWith.impl.Greater.type.1eeaf7.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a93f64.2: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.b64dd2.2: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a93f64.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.ed3: %OrderedWith.type.7dc = facet_value %Cpp.long, (%OrderedWith.impl_witness.512) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.07d: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.ed3) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.8a7: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.ed3) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.a25: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.ed3) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.ee5: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.ed3) [concrete] -// CHECK:STDOUT: %.30b: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.a25, %OrderedWith.facet.ed3 [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.cc0b83.1: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.ea4cc4.2, @Cpp.long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.cc0b83.2: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.ea4cc4.1, @Cpp.long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.d9d: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.07d, %OrderedWith.facet.ed3 [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.06a809.1: = specific_function %Cpp.long.as.OrderedWith.impl.Less.c497ef.2, @Cpp.long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.06a809.2: = specific_function %Cpp.long.as.OrderedWith.impl.Less.c497ef.1, @Cpp.long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.c8e: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.ee5, %OrderedWith.facet.ed3 [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.a6b8b7.1: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.b64dd2.2, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.a6b8b7.2: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.b64dd2.1, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.3fe: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.8a7, %OrderedWith.facet.ed3 [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9913d3.1: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.998aeb.2, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9913d3.2: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.998aeb.1, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.357: = impl_witness imports.%EqWith.impl_witness_table.fc9, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.10d936.1: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.c5b9b0.1: %Cpp.long.as.EqWith.impl.Equal.type.10d936.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.d8ead4.1: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.2, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.0931ca.1: %Cpp.long.as.EqWith.impl.NotEqual.type.d8ead4.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.10d936.2: type = fn_type @Cpp.long.as.EqWith.impl.Equal.1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.c5b9b0.2: %Cpp.long.as.EqWith.impl.Equal.type.10d936.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.d8ead4.2: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.0931ca.2: %Cpp.long.as.EqWith.impl.NotEqual.type.d8ead4.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.0bf: %EqWith.type.aee = facet_value %Cpp.long, (%EqWith.impl_witness.357) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.f2f: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.0bf) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.621: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.0bf) [concrete] -// CHECK:STDOUT: %.da0: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.f2f, %EqWith.facet.0bf [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.e188b3.1: = specific_function %Cpp.long.as.EqWith.impl.Equal.c5b9b0.2, @Cpp.long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.e188b3.2: = specific_function %Cpp.long.as.EqWith.impl.Equal.c5b9b0.1, @Cpp.long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.b1b: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.621, %EqWith.facet.0bf [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.652cb3.1: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.0931ca.2, @Cpp.long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.652cb3.2: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.0931ca.1, @Cpp.long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.f04: = impl_witness imports.%OrderedWith.impl_witness_table.41e, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.544cda.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.819a43.1: %Cpp.long.as.OrderedWith.impl.Less.type.544cda.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.03c549.1: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.3e29ec.1: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.03c549.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.75fc02.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.f83821.1: %Cpp.long.as.OrderedWith.impl.Greater.type.75fc02.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.f7405b.1: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.76c962.1: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.f7405b.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.544cda.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.819a43.2: %Cpp.long.as.OrderedWith.impl.Less.type.544cda.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.03c549.2: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.3e29ec.2: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.03c549.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.75fc02.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.f83821.2: %Cpp.long.as.OrderedWith.impl.Greater.type.75fc02.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.f7405b.2: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.76c962.2: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.f7405b.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.52b: %OrderedWith.type.975 = facet_value %Cpp.long, (%OrderedWith.impl_witness.f04) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.d3b: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.52b) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.488: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.52b) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.d03: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.52b) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.190: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.52b) [concrete] -// CHECK:STDOUT: %.d77: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.d03, %OrderedWith.facet.52b [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.faeadc.1: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.f83821.2, @Cpp.long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.faeadc.2: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.f83821.1, @Cpp.long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.124: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.d3b, %OrderedWith.facet.52b [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.f8760d.1: = specific_function %Cpp.long.as.OrderedWith.impl.Less.819a43.2, @Cpp.long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.f8760d.2: = specific_function %Cpp.long.as.OrderedWith.impl.Less.819a43.1, @Cpp.long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.3eb: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.190, %OrderedWith.facet.52b [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.ee8dd4.1: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.76c962.2, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.ee8dd4.2: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.76c962.1, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.e14: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.488, %OrderedWith.facet.52b [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.42a4b8.1: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.3e29ec.2, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.42a4b8.2: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.3e29ec.1, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.b30) [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.252: = impl_witness imports.%OrderedWith.impl_witness_table.208, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.cafcc0.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.0c71e7.1: %Cpp.long.as.OrderedWith.impl.Less.type.cafcc0.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3db93e.1: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.ad0f10.1: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3db93e.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.2ae529.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.6c1669.1: %Cpp.long.as.OrderedWith.impl.Greater.type.2ae529.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.74a4b9.1: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.5b5330.1: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.74a4b9.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.cafcc0.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.0c71e7.2: %Cpp.long.as.OrderedWith.impl.Less.type.cafcc0.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3db93e.2: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.ad0f10.2: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3db93e.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.2ae529.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.6c1669.2: %Cpp.long.as.OrderedWith.impl.Greater.type.2ae529.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.74a4b9.2: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.5b5330.2: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.74a4b9.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.102: %OrderedWith.type.7dc = facet_value %Cpp.long, (%OrderedWith.impl_witness.252) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.c00: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.102) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.3e8: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.102) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.8ba: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.102) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.07b: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i32, %OrderedWith.facet.102) [concrete] +// CHECK:STDOUT: %.1db: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.8ba, %OrderedWith.facet.102 [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.ed3812.1: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.6c1669.2, @Cpp.long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.ed3812.2: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.6c1669.1, @Cpp.long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.893: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.c00, %OrderedWith.facet.102 [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.e6cdf0.1: = specific_function %Cpp.long.as.OrderedWith.impl.Less.0c71e7.2, @Cpp.long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.e6cdf0.2: = specific_function %Cpp.long.as.OrderedWith.impl.Less.0c71e7.1, @Cpp.long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.86f: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.07b, %OrderedWith.facet.102 [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.ad350b.1: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.5b5330.2, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.ad350b.2: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.5b5330.1, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.679: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.3e8, %OrderedWith.facet.102 [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8b9e48.1: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.ad0f10.2, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8b9e48.2: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.ad0f10.1, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.8e4: = impl_witness imports.%EqWith.impl_witness_table.3b1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.e11bc3.1: type = fn_type @Cpp.long.as.EqWith.impl.Equal.2, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.d13db6.1: %Cpp.long.as.EqWith.impl.Equal.type.e11bc3.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.64c1e3.1: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.2, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.f8c166.1: %Cpp.long.as.EqWith.impl.NotEqual.type.64c1e3.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.type.e11bc3.2: type = fn_type @Cpp.long.as.EqWith.impl.Equal.1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.d13db6.2: %Cpp.long.as.EqWith.impl.Equal.type.e11bc3.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.type.64c1e3.2: type = fn_type @Cpp.long.as.EqWith.impl.NotEqual.1, @Cpp.long.as.EqWith.impl.5b1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.f8c166.2: %Cpp.long.as.EqWith.impl.NotEqual.type.64c1e3.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.e46: %EqWith.type.aee = facet_value %Cpp.long, (%EqWith.impl_witness.8e4) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.ec7: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.e46) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.468: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.e46) [concrete] +// CHECK:STDOUT: %.9d146: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.ec7, %EqWith.facet.e46 [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.0406f7.1: = specific_function %Cpp.long.as.EqWith.impl.Equal.d13db6.2, @Cpp.long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.0406f7.2: = specific_function %Cpp.long.as.EqWith.impl.Equal.d13db6.1, @Cpp.long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.433: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.468, %EqWith.facet.e46 [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.22a1ef.1: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.f8c166.2, @Cpp.long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.22a1ef.2: = specific_function %Cpp.long.as.EqWith.impl.NotEqual.f8c166.1, @Cpp.long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.438: = impl_witness imports.%OrderedWith.impl_witness_table.208, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.6695e3.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.3c96fc.1: %Cpp.long.as.OrderedWith.impl.Less.type.6695e3.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ca2808.1: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.a47df7.1: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ca2808.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.c0c507.1: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.ca9aaa.1: %Cpp.long.as.OrderedWith.impl.Greater.type.c0c507.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a18fd7.1: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.c640c1.1: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a18fd7.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.type.6695e3.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Less.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.3c96fc.2: %Cpp.long.as.OrderedWith.impl.Less.type.6695e3.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ca2808.2: type = fn_type @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.a47df7.2: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ca2808.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.type.c0c507.2: type = fn_type @Cpp.long.as.OrderedWith.impl.Greater.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.ca9aaa.2: %Cpp.long.as.OrderedWith.impl.Greater.type.c0c507.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a18fd7.2: type = fn_type @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long.as.OrderedWith.impl.3fc(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.c640c1.2: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a18fd7.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.6da: %OrderedWith.type.975 = facet_value %Cpp.long, (%OrderedWith.impl_witness.438) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.110: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.6da) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.ed3: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.6da) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.bc3: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.6da) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.c10: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.6da) [concrete] +// CHECK:STDOUT: %.9fa: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.bc3, %OrderedWith.facet.6da [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.fa04fe.1: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.ca9aaa.2, @Cpp.long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.fa04fe.2: = specific_function %Cpp.long.as.OrderedWith.impl.Greater.ca9aaa.1, @Cpp.long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.16e: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.110, %OrderedWith.facet.6da [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.636be3.1: = specific_function %Cpp.long.as.OrderedWith.impl.Less.3c96fc.2, @Cpp.long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.636be3.2: = specific_function %Cpp.long.as.OrderedWith.impl.Less.3c96fc.1, @Cpp.long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.a77: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.c10, %OrderedWith.facet.6da [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.fca943.1: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.c640c1.2, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.fca943.2: = specific_function %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.c640c1.1, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.f15: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.ed3, %OrderedWith.facet.6da [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8c332b.1: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.a47df7.2, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8c332b.2: = specific_function %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.a47df7.1, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.eac) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1748,19 +1748,19 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Cpp.long.as.EqWith.impl.5b1.%Cpp.long.as.EqWith.impl.Equal.type.2 (%Cpp.long.as.EqWith.impl.Equal.type.814973.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.EqWith.impl.5b1.%Cpp.long.as.EqWith.impl.Equal.2 (constants.%Cpp.long.as.EqWith.impl.Equal.4a8971.1)] // CHECK:STDOUT: %Core.import_ref.40e: @Cpp.long.as.EqWith.impl.5b1.%Cpp.long.as.EqWith.impl.NotEqual.type.2 (%Cpp.long.as.EqWith.impl.NotEqual.type.21e369.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.EqWith.impl.5b1.%Cpp.long.as.EqWith.impl.NotEqual.2 (constants.%Cpp.long.as.EqWith.impl.NotEqual.385432.1)] -// CHECK:STDOUT: %EqWith.impl_witness_table.fc9 = impl_witness_table (%Core.import_ref.cd6, %Core.import_ref.40e), @Cpp.long.as.EqWith.impl.5b1 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table.3b1 = impl_witness_table (%Core.import_ref.cd6, %Core.import_ref.40e), @Cpp.long.as.EqWith.impl.5b1 [concrete] // CHECK:STDOUT: %Core.Equal.025: @Cpp.long.as.EqWith.impl.5b1.%Cpp.long.as.EqWith.impl.Equal.type.1 (%Cpp.long.as.EqWith.impl.Equal.type.814973.2) = import_ref Core//prelude/types/cpp/int, Equal, loaded [symbolic = @Cpp.long.as.EqWith.impl.5b1.%Cpp.long.as.EqWith.impl.Equal.1 (constants.%Cpp.long.as.EqWith.impl.Equal.4a8971.2)] // CHECK:STDOUT: %Core.NotEqual.db5: @Cpp.long.as.EqWith.impl.5b1.%Cpp.long.as.EqWith.impl.NotEqual.type.1 (%Cpp.long.as.EqWith.impl.NotEqual.type.21e369.2) = import_ref Core//prelude/types/cpp/int, NotEqual, loaded [symbolic = @Cpp.long.as.EqWith.impl.5b1.%Cpp.long.as.EqWith.impl.NotEqual.1 (constants.%Cpp.long.as.EqWith.impl.NotEqual.385432.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %i32.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a75 = impl_witness_table (%Core.import_ref.06c923.2), @i32.as.ImplicitAs.impl.133 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.96f = impl_witness_table (%Core.import_ref.06c923.2), @i32.as.ImplicitAs.impl.133 [concrete] // CHECK:STDOUT: %Core.import_ref.d32f: @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Less.type.2 (%Cpp.long.as.OrderedWith.impl.Less.type.3ff9ca.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Less.2 (constants.%Cpp.long.as.OrderedWith.impl.Less.76c9f3.1)] -// CHECK:STDOUT: %Core.import_ref.4be: @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.2 (%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.35cecb.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.351d50.1)] -// CHECK:STDOUT: %Core.import_ref.b5f6: @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Greater.type.2 (%Cpp.long.as.OrderedWith.impl.Greater.type.e2eef7.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Greater.2 (constants.%Cpp.long.as.OrderedWith.impl.Greater.37f70d.1)] +// CHECK:STDOUT: %Core.import_ref.4beb: @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.2 (%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.35cecb.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.351d50.1)] +// CHECK:STDOUT: %Core.import_ref.b5f66: @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Greater.type.2 (%Cpp.long.as.OrderedWith.impl.Greater.type.e2eef7.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Greater.2 (constants.%Cpp.long.as.OrderedWith.impl.Greater.37f70d.1)] // CHECK:STDOUT: %Core.import_ref.a8b: @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.2 (%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.154997.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2 (constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.e4afa3.1)] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.41e = impl_witness_table (%Core.import_ref.d32f, %Core.import_ref.4be, %Core.import_ref.b5f6, %Core.import_ref.a8b), @Cpp.long.as.OrderedWith.impl.3fc [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.208 = impl_witness_table (%Core.import_ref.d32f, %Core.import_ref.4beb, %Core.import_ref.b5f66, %Core.import_ref.a8b), @Cpp.long.as.OrderedWith.impl.3fc [concrete] // CHECK:STDOUT: %Core.Less.a91: @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Less.type.1 (%Cpp.long.as.OrderedWith.impl.Less.type.3ff9ca.2) = import_ref Core//prelude/types/cpp/int, Less, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Less.1 (constants.%Cpp.long.as.OrderedWith.impl.Less.76c9f3.2)] // CHECK:STDOUT: %Core.LessOrEquivalent.a62: @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.1 (%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.35cecb.2) = import_ref Core//prelude/types/cpp/int, LessOrEquivalent, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1 (constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.351d50.2)] // CHECK:STDOUT: %Core.Greater.ac9: @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Greater.type.1 (%Cpp.long.as.OrderedWith.impl.Greater.type.e2eef7.2) = import_ref Core//prelude/types/cpp/int, Greater, loaded [symbolic = @Cpp.long.as.OrderedWith.impl.3fc.%Cpp.long.as.OrderedWith.impl.Greater.1 (constants.%Cpp.long.as.OrderedWith.impl.Greater.37f70d.2)] @@ -1771,7 +1771,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc9_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.9ce] @@ -1786,20 +1786,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc10: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc10: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10_5: %.ad3 = impl_witness_access constants.%EqWith.impl_witness.f8a, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.1a881e.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.73b = impl_witness_access constants.%EqWith.impl_witness.07d, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.9da2bb.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %a.ref.loc10, %impl.elem0.loc10_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.6692a8.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.cb7787.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %a.ref.loc10, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5.3: %Cpp.long.as.EqWith.impl.Equal.type.91d370.1 = specific_constant imports.%Core.Equal.025, @Cpp.long.as.EqWith.impl.5b1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.1a881e.1] -// CHECK:STDOUT: %Equal.ref.loc10: %Cpp.long.as.EqWith.impl.Equal.type.91d370.1 = name_ref Equal, %.loc10_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.1a881e.1] +// CHECK:STDOUT: %.loc10_5.3: %Cpp.long.as.EqWith.impl.Equal.type.8a6913.1 = specific_constant imports.%Core.Equal.025, @Cpp.long.as.EqWith.impl.5b1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.9da2bb.1] +// CHECK:STDOUT: %Equal.ref.loc10: %Cpp.long.as.EqWith.impl.Equal.type.8a6913.1 = name_ref Equal, %.loc10_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.9da2bb.1] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.bound.loc10: = bound_method %a.ref.loc10, %Equal.ref.loc10 -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.loc10: = specific_function %Equal.ref.loc10, @Cpp.long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.6692a8.2] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.loc10: = specific_function %Equal.ref.loc10, @Cpp.long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.cb7787.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %a.ref.loc10, %Cpp.long.as.EqWith.impl.Equal.specific_fn.loc10 -// CHECK:STDOUT: %impl.elem0.loc10_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_8: = bound_method %b.ref.loc10, %impl.elem0.loc10_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc10: init %Cpp.long = call %bound_method.loc10_8(%b.ref.loc10) // CHECK:STDOUT: %.loc10_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc10 @@ -1807,20 +1807,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.call.loc10: init bool = call %bound_method.loc10_5.3(%a.ref.loc10, %.loc10_8.2) // CHECK:STDOUT: %a.ref.loc11: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc11: %.e94 = impl_witness_access constants.%EqWith.impl_witness.f8a, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.7bb2f2.2] +// CHECK:STDOUT: %impl.elem1.loc11: %.2e9 = impl_witness_access constants.%EqWith.impl_witness.07d, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.e15cee.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %a.ref.loc11, %impl.elem1.loc11 -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @Cpp.long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.7605b8.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @Cpp.long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.a29361.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %a.ref.loc11, %specific_fn.loc11 -// CHECK:STDOUT: %.loc11_5.3: %Cpp.long.as.EqWith.impl.NotEqual.type.0ae55e.1 = specific_constant imports.%Core.NotEqual.db5, @Cpp.long.as.EqWith.impl.5b1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.7bb2f2.1] -// CHECK:STDOUT: %NotEqual.ref.loc11: %Cpp.long.as.EqWith.impl.NotEqual.type.0ae55e.1 = name_ref NotEqual, %.loc11_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.7bb2f2.1] +// CHECK:STDOUT: %.loc11_5.3: %Cpp.long.as.EqWith.impl.NotEqual.type.7b1ae2.1 = specific_constant imports.%Core.NotEqual.db5, @Cpp.long.as.EqWith.impl.5b1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.e15cee.1] +// CHECK:STDOUT: %NotEqual.ref.loc11: %Cpp.long.as.EqWith.impl.NotEqual.type.7b1ae2.1 = name_ref NotEqual, %.loc11_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.e15cee.1] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.bound.loc11: = bound_method %a.ref.loc11, %NotEqual.ref.loc11 -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.loc11: = specific_function %NotEqual.ref.loc11, @Cpp.long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.7605b8.2] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.loc11: = specific_function %NotEqual.ref.loc11, @Cpp.long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.a29361.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %a.ref.loc11, %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.loc11 -// CHECK:STDOUT: %impl.elem0.loc11: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_8: = bound_method %b.ref.loc11, %impl.elem0.loc11 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc11: init %Cpp.long = call %bound_method.loc11_8(%b.ref.loc11) // CHECK:STDOUT: %.loc11_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc11 @@ -1828,20 +1828,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.call.loc11: init bool = call %bound_method.loc11_5.3(%a.ref.loc11, %.loc11_8.2) // CHECK:STDOUT: %a.ref.loc12: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem2.loc12: %.30b = impl_witness_access constants.%OrderedWith.impl_witness.512, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.ea4cc4.2] +// CHECK:STDOUT: %impl.elem2.loc12: %.1db = impl_witness_access constants.%OrderedWith.impl_witness.252, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.6c1669.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %a.ref.loc12, %impl.elem2.loc12 -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @Cpp.long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.cc0b83.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @Cpp.long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.ed3812.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %a.ref.loc12, %specific_fn.loc12 -// CHECK:STDOUT: %.loc12_5.3: %Cpp.long.as.OrderedWith.impl.Greater.type.1eeaf7.1 = specific_constant imports.%Core.Greater.ac9, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.ea4cc4.1] -// CHECK:STDOUT: %Greater.ref.loc12: %Cpp.long.as.OrderedWith.impl.Greater.type.1eeaf7.1 = name_ref Greater, %.loc12_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.ea4cc4.1] +// CHECK:STDOUT: %.loc12_5.3: %Cpp.long.as.OrderedWith.impl.Greater.type.2ae529.1 = specific_constant imports.%Core.Greater.ac9, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.6c1669.1] +// CHECK:STDOUT: %Greater.ref.loc12: %Cpp.long.as.OrderedWith.impl.Greater.type.2ae529.1 = name_ref Greater, %.loc12_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.6c1669.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.bound.loc12: = bound_method %a.ref.loc12, %Greater.ref.loc12 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.loc12: = specific_function %Greater.ref.loc12, @Cpp.long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.cc0b83.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.loc12: = specific_function %Greater.ref.loc12, @Cpp.long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.ed3812.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %a.ref.loc12, %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.loc12 -// CHECK:STDOUT: %impl.elem0.loc12: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc12: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc12_7: = bound_method %b.ref.loc12, %impl.elem0.loc12 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc12: init %Cpp.long = call %bound_method.loc12_7(%b.ref.loc12) // CHECK:STDOUT: %.loc12_7.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc12 @@ -1849,20 +1849,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.call.loc12: init bool = call %bound_method.loc12_5.3(%a.ref.loc12, %.loc12_7.2) // CHECK:STDOUT: %a.ref.loc13: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13_5: %.d9d = impl_witness_access constants.%OrderedWith.impl_witness.512, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.c497ef.2] +// CHECK:STDOUT: %impl.elem0.loc13_5: %.893 = impl_witness_access constants.%OrderedWith.impl_witness.252, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.0c71e7.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %a.ref.loc13, %impl.elem0.loc13_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Cpp.long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.06a809.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Cpp.long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.e6cdf0.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %a.ref.loc13, %specific_fn.loc13 -// CHECK:STDOUT: %.loc13_5.3: %Cpp.long.as.OrderedWith.impl.Less.type.cc154a.1 = specific_constant imports.%Core.Less.a91, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.c497ef.1] -// CHECK:STDOUT: %Less.ref.loc13: %Cpp.long.as.OrderedWith.impl.Less.type.cc154a.1 = name_ref Less, %.loc13_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.c497ef.1] +// CHECK:STDOUT: %.loc13_5.3: %Cpp.long.as.OrderedWith.impl.Less.type.cafcc0.1 = specific_constant imports.%Core.Less.a91, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.0c71e7.1] +// CHECK:STDOUT: %Less.ref.loc13: %Cpp.long.as.OrderedWith.impl.Less.type.cafcc0.1 = name_ref Less, %.loc13_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.0c71e7.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.bound.loc13: = bound_method %a.ref.loc13, %Less.ref.loc13 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.loc13: = specific_function %Less.ref.loc13, @Cpp.long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.06a809.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.loc13: = specific_function %Less.ref.loc13, @Cpp.long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.e6cdf0.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %a.ref.loc13, %Cpp.long.as.OrderedWith.impl.Less.specific_fn.loc13 -// CHECK:STDOUT: %impl.elem0.loc13_7: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc13_7: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc13_7: = bound_method %b.ref.loc13, %impl.elem0.loc13_7 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc13: init %Cpp.long = call %bound_method.loc13_7(%b.ref.loc13) // CHECK:STDOUT: %.loc13_7.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc13 @@ -1870,20 +1870,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.call.loc13: init bool = call %bound_method.loc13_5.3(%a.ref.loc13, %.loc13_7.2) // CHECK:STDOUT: %a.ref.loc14: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem3.loc14: %.c8e = impl_witness_access constants.%OrderedWith.impl_witness.512, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.b64dd2.2] +// CHECK:STDOUT: %impl.elem3.loc14: %.86f = impl_witness_access constants.%OrderedWith.impl_witness.252, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.5b5330.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %a.ref.loc14, %impl.elem3.loc14 -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.a6b8b7.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.ad350b.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %a.ref.loc14, %specific_fn.loc14 -// CHECK:STDOUT: %.loc14_5.3: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a93f64.1 = specific_constant imports.%Core.GreaterOrEquivalent.839, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.b64dd2.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a93f64.1 = name_ref GreaterOrEquivalent, %.loc14_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.b64dd2.1] +// CHECK:STDOUT: %.loc14_5.3: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.74a4b9.1 = specific_constant imports.%Core.GreaterOrEquivalent.839, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.5b5330.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.74a4b9.1 = name_ref GreaterOrEquivalent, %.loc14_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.5b5330.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc14: = bound_method %a.ref.loc14, %GreaterOrEquivalent.ref.loc14 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14: = specific_function %GreaterOrEquivalent.ref.loc14, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.a6b8b7.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14: = specific_function %GreaterOrEquivalent.ref.loc14, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.ad350b.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %a.ref.loc14, %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14 -// CHECK:STDOUT: %impl.elem0.loc14: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc14: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc14_8: = bound_method %b.ref.loc14, %impl.elem0.loc14 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc14: init %Cpp.long = call %bound_method.loc14_8(%b.ref.loc14) // CHECK:STDOUT: %.loc14_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc14 @@ -1891,20 +1891,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.call.loc14: init bool = call %bound_method.loc14_5.3(%a.ref.loc14, %.loc14_8.2) // CHECK:STDOUT: %a.ref.loc15: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc15: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc15: %.3fe = impl_witness_access constants.%OrderedWith.impl_witness.512, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.998aeb.2] +// CHECK:STDOUT: %impl.elem1.loc15: %.679 = impl_witness_access constants.%OrderedWith.impl_witness.252, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.ad0f10.2] // CHECK:STDOUT: %bound_method.loc15_5.1: = bound_method %a.ref.loc15, %impl.elem1.loc15 -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9913d3.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8b9e48.1] // CHECK:STDOUT: %bound_method.loc15_5.2: = bound_method %a.ref.loc15, %specific_fn.loc15 -// CHECK:STDOUT: %.loc15_5.3: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ae2ba0.1 = specific_constant imports.%Core.LessOrEquivalent.a62, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.998aeb.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ae2ba0.1 = name_ref LessOrEquivalent, %.loc15_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.998aeb.1] +// CHECK:STDOUT: %.loc15_5.3: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3db93e.1 = specific_constant imports.%Core.LessOrEquivalent.a62, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.ad0f10.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.3db93e.1 = name_ref LessOrEquivalent, %.loc15_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.ad0f10.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.bound.loc15: = bound_method %a.ref.loc15, %LessOrEquivalent.ref.loc15 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15: = specific_function %LessOrEquivalent.ref.loc15, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9913d3.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15: = specific_function %LessOrEquivalent.ref.loc15, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8b9e48.2] // CHECK:STDOUT: %bound_method.loc15_5.3: = bound_method %a.ref.loc15, %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15 -// CHECK:STDOUT: %impl.elem0.loc15: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc15: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc15_8: = bound_method %b.ref.loc15, %impl.elem0.loc15 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc15: init %Cpp.long = call %bound_method.loc15_8(%b.ref.loc15) // CHECK:STDOUT: %.loc15_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc15 @@ -1912,20 +1912,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.call.loc15: init bool = call %bound_method.loc15_5.3(%a.ref.loc15, %.loc15_8.2) // CHECK:STDOUT: %a.ref.loc17: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc17_5: %.da0 = impl_witness_access constants.%EqWith.impl_witness.357, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.c5b9b0.2] +// CHECK:STDOUT: %impl.elem0.loc17_5: %.9d146 = impl_witness_access constants.%EqWith.impl_witness.8e4, element0 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.d13db6.2] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %a.ref.loc17, %impl.elem0.loc17_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.e188b3.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.0406f7.1] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %a.ref.loc17, %specific_fn.loc17 -// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.EqWith.impl.Equal.type.10d936.1 = specific_constant imports.%Core.Equal.025, @Cpp.long.as.EqWith.impl.5b1(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.c5b9b0.1] -// CHECK:STDOUT: %Equal.ref.loc17: %Cpp.long.as.EqWith.impl.Equal.type.10d936.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.c5b9b0.1] +// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.EqWith.impl.Equal.type.e11bc3.1 = specific_constant imports.%Core.Equal.025, @Cpp.long.as.EqWith.impl.5b1(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.d13db6.1] +// CHECK:STDOUT: %Equal.ref.loc17: %Cpp.long.as.EqWith.impl.Equal.type.e11bc3.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.d13db6.1] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.bound.loc17: = bound_method %a.ref.loc17, %Equal.ref.loc17 -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.loc17: = specific_function %Equal.ref.loc17, @Cpp.long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.e188b3.2] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.specific_fn.loc17: = specific_function %Equal.ref.loc17, @Cpp.long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.EqWith.impl.Equal.specific_fn.0406f7.2] // CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %a.ref.loc17, %Cpp.long.as.EqWith.impl.Equal.specific_fn.loc17 -// CHECK:STDOUT: %impl.elem0.loc17_8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc17_8: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc17_8: = bound_method %int_1.loc17, %impl.elem0.loc17_8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17: init %Cpp.long = call %bound_method.loc17_8(%int_1.loc17) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc17_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_1.9ce] @@ -1933,20 +1933,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.Equal.call.loc17: init bool = call %bound_method.loc17_5.3(%a.ref.loc17, %.loc17_8.2) // CHECK:STDOUT: %a.ref.loc18: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem1.loc18: %.b1b = impl_witness_access constants.%EqWith.impl_witness.357, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.0931ca.2] +// CHECK:STDOUT: %impl.elem1.loc18: %.433 = impl_witness_access constants.%EqWith.impl_witness.8e4, element1 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.f8c166.2] // CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %a.ref.loc18, %impl.elem1.loc18 -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @Cpp.long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.652cb3.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @Cpp.long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.22a1ef.1] // CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %a.ref.loc18, %specific_fn.loc18 -// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.EqWith.impl.NotEqual.type.d8ead4.1 = specific_constant imports.%Core.NotEqual.db5, @Cpp.long.as.EqWith.impl.5b1(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.0931ca.1] -// CHECK:STDOUT: %NotEqual.ref.loc18: %Cpp.long.as.EqWith.impl.NotEqual.type.d8ead4.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.0931ca.1] +// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.EqWith.impl.NotEqual.type.64c1e3.1 = specific_constant imports.%Core.NotEqual.db5, @Cpp.long.as.EqWith.impl.5b1(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.f8c166.1] +// CHECK:STDOUT: %NotEqual.ref.loc18: %Cpp.long.as.EqWith.impl.NotEqual.type.64c1e3.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.f8c166.1] // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.bound.loc18: = bound_method %a.ref.loc18, %NotEqual.ref.loc18 -// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.loc18: = specific_function %NotEqual.ref.loc18, @Cpp.long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.652cb3.2] +// CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.loc18: = specific_function %NotEqual.ref.loc18, @Cpp.long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.EqWith.impl.NotEqual.specific_fn.22a1ef.2] // CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %a.ref.loc18, %Cpp.long.as.EqWith.impl.NotEqual.specific_fn.loc18 -// CHECK:STDOUT: %impl.elem0.loc18: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc18: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc18_8: = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long = call %bound_method.loc18_8(%int_1.loc18) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc18_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_1.9ce] @@ -1954,20 +1954,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.EqWith.impl.NotEqual.call.loc18: init bool = call %bound_method.loc18_5.3(%a.ref.loc18, %.loc18_8.2) // CHECK:STDOUT: %a.ref.loc19: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem2.loc19: %.d77 = impl_witness_access constants.%OrderedWith.impl_witness.f04, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.f83821.2] +// CHECK:STDOUT: %impl.elem2.loc19: %.9fa = impl_witness_access constants.%OrderedWith.impl_witness.438, element2 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.ca9aaa.2] // CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %a.ref.loc19, %impl.elem2.loc19 -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @Cpp.long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.faeadc.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @Cpp.long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.fa04fe.1] // CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %a.ref.loc19, %specific_fn.loc19 -// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.OrderedWith.impl.Greater.type.75fc02.1 = specific_constant imports.%Core.Greater.ac9, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.f83821.1] -// CHECK:STDOUT: %Greater.ref.loc19: %Cpp.long.as.OrderedWith.impl.Greater.type.75fc02.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.f83821.1] +// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.OrderedWith.impl.Greater.type.c0c507.1 = specific_constant imports.%Core.Greater.ac9, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.ca9aaa.1] +// CHECK:STDOUT: %Greater.ref.loc19: %Cpp.long.as.OrderedWith.impl.Greater.type.c0c507.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.ca9aaa.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.bound.loc19: = bound_method %a.ref.loc19, %Greater.ref.loc19 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.loc19: = specific_function %Greater.ref.loc19, @Cpp.long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.faeadc.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.loc19: = specific_function %Greater.ref.loc19, @Cpp.long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Greater.specific_fn.fa04fe.2] // CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %a.ref.loc19, %Cpp.long.as.OrderedWith.impl.Greater.specific_fn.loc19 -// CHECK:STDOUT: %impl.elem0.loc19: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc19: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc19_7: = bound_method %int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19: init %Cpp.long = call %bound_method.loc19_7(%int_1.loc19) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc19_7.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19 [concrete = constants.%int_1.9ce] @@ -1975,20 +1975,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Greater.call.loc19: init bool = call %bound_method.loc19_5.3(%a.ref.loc19, %.loc19_7.2) // CHECK:STDOUT: %a.ref.loc20: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc20_5: %.124 = impl_witness_access constants.%OrderedWith.impl_witness.f04, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.819a43.2] +// CHECK:STDOUT: %impl.elem0.loc20_5: %.16e = impl_witness_access constants.%OrderedWith.impl_witness.438, element0 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.3c96fc.2] // CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %a.ref.loc20, %impl.elem0.loc20_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.f8760d.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.636be3.1] // CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %a.ref.loc20, %specific_fn.loc20 -// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.OrderedWith.impl.Less.type.544cda.1 = specific_constant imports.%Core.Less.a91, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.819a43.1] -// CHECK:STDOUT: %Less.ref.loc20: %Cpp.long.as.OrderedWith.impl.Less.type.544cda.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.819a43.1] +// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.OrderedWith.impl.Less.type.6695e3.1 = specific_constant imports.%Core.Less.a91, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.3c96fc.1] +// CHECK:STDOUT: %Less.ref.loc20: %Cpp.long.as.OrderedWith.impl.Less.type.6695e3.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.3c96fc.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.bound.loc20: = bound_method %a.ref.loc20, %Less.ref.loc20 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.loc20: = specific_function %Less.ref.loc20, @Cpp.long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.f8760d.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.specific_fn.loc20: = specific_function %Less.ref.loc20, @Cpp.long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.Less.specific_fn.636be3.2] // CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %a.ref.loc20, %Cpp.long.as.OrderedWith.impl.Less.specific_fn.loc20 -// CHECK:STDOUT: %impl.elem0.loc20_7: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc20_7: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc20_7: = bound_method %int_1.loc20, %impl.elem0.loc20_7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20: init %Cpp.long = call %bound_method.loc20_7(%int_1.loc20) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc20_7.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_1.9ce] @@ -1996,20 +1996,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.Less.call.loc20: init bool = call %bound_method.loc20_5.3(%a.ref.loc20, %.loc20_7.2) // CHECK:STDOUT: %a.ref.loc21: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem3.loc21: %.3eb = impl_witness_access constants.%OrderedWith.impl_witness.f04, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.76c962.2] +// CHECK:STDOUT: %impl.elem3.loc21: %.a77 = impl_witness_access constants.%OrderedWith.impl_witness.438, element3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.c640c1.2] // CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %a.ref.loc21, %impl.elem3.loc21 -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.ee8dd4.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.fca943.1] // CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %a.ref.loc21, %specific_fn.loc21 -// CHECK:STDOUT: %.loc21_5.3: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.f7405b.1 = specific_constant imports.%Core.GreaterOrEquivalent.839, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.76c962.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.f7405b.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.76c962.1] +// CHECK:STDOUT: %.loc21_5.3: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a18fd7.1 = specific_constant imports.%Core.GreaterOrEquivalent.839, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.c640c1.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.type.a18fd7.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.c640c1.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc21: = bound_method %a.ref.loc21, %GreaterOrEquivalent.ref.loc21 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21: = specific_function %GreaterOrEquivalent.ref.loc21, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.ee8dd4.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21: = specific_function %GreaterOrEquivalent.ref.loc21, @Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.fca943.2] // CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %a.ref.loc21, %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21 -// CHECK:STDOUT: %impl.elem0.loc21: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc21: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc21_8: = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21: init %Cpp.long = call %bound_method.loc21_8(%int_1.loc21) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc21_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21 [concrete = constants.%int_1.9ce] @@ -2017,20 +2017,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.GreaterOrEquivalent.call.loc21: init bool = call %bound_method.loc21_5.3(%a.ref.loc21, %.loc21_8.2) // CHECK:STDOUT: %a.ref.loc22: %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem1.loc22: %.e14 = impl_witness_access constants.%OrderedWith.impl_witness.f04, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.3e29ec.2] +// CHECK:STDOUT: %impl.elem1.loc22: %.f15 = impl_witness_access constants.%OrderedWith.impl_witness.438, element1 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.a47df7.2] // CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %a.ref.loc22, %impl.elem1.loc22 -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.42a4b8.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8c332b.1] // CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %a.ref.loc22, %specific_fn.loc22 -// CHECK:STDOUT: %.loc22_5.3: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.03c549.1 = specific_constant imports.%Core.LessOrEquivalent.a62, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.3e29ec.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.03c549.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.3e29ec.1] +// CHECK:STDOUT: %.loc22_5.3: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ca2808.1 = specific_constant imports.%Core.LessOrEquivalent.a62, @Cpp.long.as.OrderedWith.impl.3fc(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.a47df7.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.type.ca2808.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.a47df7.1] // CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.bound.loc22: = bound_method %a.ref.loc22, %LessOrEquivalent.ref.loc22 -// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22: = specific_function %LessOrEquivalent.ref.loc22, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.42a4b8.2] +// CHECK:STDOUT: %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22: = specific_function %LessOrEquivalent.ref.loc22, @Cpp.long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.8c332b.2] // CHECK:STDOUT: %bound_method.loc22_5.3: = bound_method %a.ref.loc22, %Cpp.long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22 -// CHECK:STDOUT: %impl.elem0.loc22: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc22: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc22_8: = bound_method %int_1.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22: init %Cpp.long = call %bound_method.loc22_8(%int_1.loc22) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc22_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22 [concrete = constants.%int_1.9ce] @@ -2049,10 +2049,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %pattern_type.25e: type = pattern_type %Cpp.long [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.25e = value_binding_pattern a [concrete] // CHECK:STDOUT: %ImplicitAs.type.7eb: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.b30: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet.b30 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.eac: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet.eac [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -2067,30 +2067,30 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.a7a615.2: %T.as_type.as.EqWith.impl.NotEqual.type.92df03.2 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.94a46e.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.2, @T.as_type.as.EqWith.impl.673(%T.315) [symbolic] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.3fb574.2: %T.as_type.as.EqWith.impl.Equal.type.94a46e.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.f82: = impl_witness imports.%ImplicitAs.impl_witness_table.a75 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.ce4: %ImplicitAs.type.7eb = facet_value %i32, (%ImplicitAs.impl_witness.f82) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.95d: = impl_witness imports.%EqWith.impl_witness_table.9cc, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.e779ca.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.2, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.f0911b.1: %T.as_type.as.EqWith.impl.Equal.type.e779ca.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.3aca6f.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.2, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.3d3117.1: %T.as_type.as.EqWith.impl.NotEqual.type.3aca6f.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.e779ca.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.1, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.f0911b.2: %T.as_type.as.EqWith.impl.Equal.type.e779ca.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.3aca6f.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.1, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.3d3117.2: %T.as_type.as.EqWith.impl.NotEqual.type.3aca6f.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.253: %EqWith.type.54a = facet_value %i32, (%EqWith.impl_witness.95d) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.2f9: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.253) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.411: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.253) [concrete] -// CHECK:STDOUT: %.a04: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.2f9, %EqWith.facet.253 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.873bd0.1: = specific_function %T.as_type.as.EqWith.impl.Equal.f0911b.2, @T.as_type.as.EqWith.impl.Equal.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.873bd0.2: = specific_function %T.as_type.as.EqWith.impl.Equal.f0911b.1, @T.as_type.as.EqWith.impl.Equal.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.59b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.9c4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.59b, %ImplicitAs.facet.ce4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2e1: = impl_witness imports.%ImplicitAs.impl_witness_table.96f [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.2ac: %ImplicitAs.type.7eb = facet_value %i32, (%ImplicitAs.impl_witness.2e1) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.5cc: = impl_witness imports.%EqWith.impl_witness_table.056, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.001f97.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.2, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.e95956.1: %T.as_type.as.EqWith.impl.Equal.type.001f97.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.2490cc.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.2, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.be472c.1: %T.as_type.as.EqWith.impl.NotEqual.type.2490cc.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.001f97.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.1, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.e95956.2: %T.as_type.as.EqWith.impl.Equal.type.001f97.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.2490cc.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.1, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.be472c.2: %T.as_type.as.EqWith.impl.NotEqual.type.2490cc.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.174: %EqWith.type.54a = facet_value %i32, (%EqWith.impl_witness.5cc) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.967: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.174) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.f79: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.174) [concrete] +// CHECK:STDOUT: %.021: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.967, %EqWith.facet.174 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.3f4dd7.1: = specific_function %T.as_type.as.EqWith.impl.Equal.e95956.2, @T.as_type.as.EqWith.impl.Equal.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.3f4dd7.2: = specific_function %T.as_type.as.EqWith.impl.Equal.e95956.1, @T.as_type.as.EqWith.impl.Equal.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f2d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.08c: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f2d, %ImplicitAs.facet.2ac [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert: %i32.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %.4a6: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.411, %EqWith.facet.253 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.fae6fc.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.3d3117.2, @T.as_type.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.fae6fc.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.3d3117.1, @T.as_type.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %.ac1: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.f79, %EqWith.facet.174 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.b40991.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.be472c.2, @T.as_type.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.b40991.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.be472c.1, @T.as_type.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %OrderedWith.type.a48: type = facet_type <@OrderedWith, @OrderedWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.2225a2.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1, @T.as_type.as.OrderedWith.impl.821(%T.315) [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.56ba82.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.2225a2.1 = struct_value () [symbolic] @@ -2108,116 +2108,116 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.e8206a.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.accc59.2 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.62945a.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.2, @T.as_type.as.OrderedWith.impl.821(%T.315) [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.2ef721.2: %T.as_type.as.OrderedWith.impl.Less.type.62945a.2 = struct_value () [symbolic] -// CHECK:STDOUT: %OrderedWith.impl_witness.029: = impl_witness imports.%OrderedWith.impl_witness_table.969, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.e5a0d6.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.3e6ac0.1: %T.as_type.as.OrderedWith.impl.Less.type.e5a0d6.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.be0eb0.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b51928.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.be0eb0.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.5d146f.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.dcaa48.1: %T.as_type.as.OrderedWith.impl.Greater.type.5d146f.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e46d69.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.e6f558.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e46d69.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.e5a0d6.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.3e6ac0.2: %T.as_type.as.OrderedWith.impl.Less.type.e5a0d6.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.be0eb0.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b51928.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.be0eb0.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.5d146f.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.dcaa48.2: %T.as_type.as.OrderedWith.impl.Greater.type.5d146f.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e46d69.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.e6f558.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e46d69.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.b2e7: %OrderedWith.type.a48 = facet_value %i32, (%OrderedWith.impl_witness.029) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.a16: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.b2e7) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.68c: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.b2e7) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.544: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.b2e7) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.dc3: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.b2e7) [concrete] -// CHECK:STDOUT: %.871: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.544, %OrderedWith.facet.b2e7 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.052d08.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.dcaa48.2, @T.as_type.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.052d08.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.dcaa48.1, @T.as_type.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.68c: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.a16, %OrderedWith.facet.b2e7 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.d4058b.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.3e6ac0.2, @T.as_type.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.d4058b.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.3e6ac0.1, @T.as_type.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.7c0: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.dc3, %OrderedWith.facet.b2e7 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.a37dff.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.e6f558.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.a37dff.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.e6f558.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.a3d: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.68c, %OrderedWith.facet.b2e7 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ad853c.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b51928.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ad853c.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b51928.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.772: = impl_witness imports.%EqWith.impl_witness_table.9cc, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.f5ab79.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.2, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.4e32c9.1: %T.as_type.as.EqWith.impl.Equal.type.f5ab79.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.f0c8ea.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.2, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.7e38ae.1: %T.as_type.as.EqWith.impl.NotEqual.type.f0c8ea.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.f5ab79.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.1, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.4e32c9.2: %T.as_type.as.EqWith.impl.Equal.type.f5ab79.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.f0c8ea.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.1, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.7e38ae.2: %T.as_type.as.EqWith.impl.NotEqual.type.f0c8ea.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.b6a: %EqWith.type.54a = facet_value Core.IntLiteral, (%EqWith.impl_witness.772) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.6a9: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.b6a) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.601: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.b6a) [concrete] -// CHECK:STDOUT: %.651: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.6a9, %EqWith.facet.b6a [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.1038cb.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.4e32c9.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.2002e1.1: = specific_function %T.as_type.as.EqWith.impl.Equal.4e32c9.2, @T.as_type.as.EqWith.impl.Equal.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.5ea17a.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.2002e1.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.1038cb.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.4e32c9.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.2002e1.2: = specific_function %T.as_type.as.EqWith.impl.Equal.4e32c9.1, @T.as_type.as.EqWith.impl.Equal.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.5ea17a.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.2002e1.2 [concrete] -// CHECK:STDOUT: %.830: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.601, %EqWith.facet.b6a [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.750155.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.7e38ae.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.cb3ce7.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.7e38ae.2, @T.as_type.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.c6610c.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.cb3ce7.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.750155.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.7e38ae.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.cb3ce7.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.7e38ae.1, @T.as_type.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.c6610c.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.cb3ce7.2 [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.8ce: = impl_witness imports.%OrderedWith.impl_witness_table.969, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.ea162e.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.0804e2.1: %T.as_type.as.OrderedWith.impl.Less.type.ea162e.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.b869b8.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6b9921.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.b869b8.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.dc545b.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.3f6fcf.1: %T.as_type.as.OrderedWith.impl.Greater.type.dc545b.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1ebc13.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d37e1c.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1ebc13.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.ea162e.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.0804e2.2: %T.as_type.as.OrderedWith.impl.Less.type.ea162e.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.b869b8.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6b9921.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.b869b8.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.dc545b.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.3f6fcf.2: %T.as_type.as.OrderedWith.impl.Greater.type.dc545b.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1ebc13.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d37e1c.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1ebc13.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.09c: %OrderedWith.type.a48 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.8ce) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.068: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.09c) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.1df: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.09c) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.547: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.09c) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.936: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.09c) [concrete] -// CHECK:STDOUT: %.48e: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.547, %OrderedWith.facet.09c [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.b05e6b.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.3f6fcf.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.b46b59.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.3f6fcf.2, @T.as_type.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.84b063.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.b46b59.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.b05e6b.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.3f6fcf.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.b46b59.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.3f6fcf.1, @T.as_type.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.84b063.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.b46b59.2 [concrete] -// CHECK:STDOUT: %.138: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.068, %OrderedWith.facet.09c [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.c0d522.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.0804e2.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.6ba13f.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.0804e2.2, @T.as_type.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.a4c927.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.6ba13f.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.c0d522.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.0804e2.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.6ba13f.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.0804e2.1, @T.as_type.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.a4c927.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.6ba13f.2 [concrete] -// CHECK:STDOUT: %.5fe: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.936, %OrderedWith.facet.09c [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.af5bde.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d37e1c.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8d07ea.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d37e1c.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.d2ea71.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8d07ea.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.af5bde.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d37e1c.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8d07ea.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d37e1c.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.d2ea71.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8d07ea.2 [concrete] -// CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.1df, %OrderedWith.facet.09c [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.1f479f.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6b9921.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9ed43e.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6b9921.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.ce4a7e.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9ed43e.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.1f479f.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6b9921.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9ed43e.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.6b9921.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %bound_method.ce4a7e.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9ed43e.2 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.fff: = impl_witness imports.%OrderedWith.impl_witness_table.413, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.11edcb.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.28b483.1: %T.as_type.as.OrderedWith.impl.Less.type.11edcb.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.f88845.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.19b188.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.f88845.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.5a757b.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.95a750.1: %T.as_type.as.OrderedWith.impl.Greater.type.5a757b.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.58863a.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.0885da.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.58863a.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.11edcb.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.28b483.2: %T.as_type.as.OrderedWith.impl.Less.type.11edcb.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.f88845.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.19b188.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.f88845.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.5a757b.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.95a750.2: %T.as_type.as.OrderedWith.impl.Greater.type.5a757b.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.58863a.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.0885da.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.58863a.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.a78: %OrderedWith.type.a48 = facet_value %i32, (%OrderedWith.impl_witness.fff) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.795: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.a78) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.e31: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.a78) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.c39: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.a78) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.cc8: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.a78) [concrete] +// CHECK:STDOUT: %.02d: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.c39, %OrderedWith.facet.a78 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.ad7129.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.95a750.2, @T.as_type.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.ad7129.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.95a750.1, @T.as_type.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.2ba: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.795, %OrderedWith.facet.a78 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.32248d.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.28b483.2, @T.as_type.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.32248d.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.28b483.1, @T.as_type.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.763: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.cc8, %OrderedWith.facet.a78 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6e9339.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.0885da.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6e9339.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.0885da.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.6a5: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.e31, %OrderedWith.facet.a78 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.5c4337.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.19b188.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.5c4337.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.19b188.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.a16: = impl_witness imports.%EqWith.impl_witness_table.056, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.ab24aa.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.2, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.dc89b5.1: %T.as_type.as.EqWith.impl.Equal.type.ab24aa.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.5660c0.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.2, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.e3e536.1: %T.as_type.as.EqWith.impl.NotEqual.type.5660c0.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.ab24aa.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.1, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.dc89b5.2: %T.as_type.as.EqWith.impl.Equal.type.ab24aa.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.5660c0.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.1, @T.as_type.as.EqWith.impl.673(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.e3e536.2: %T.as_type.as.EqWith.impl.NotEqual.type.5660c0.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.0b5: %EqWith.type.54a = facet_value Core.IntLiteral, (%EqWith.impl_witness.a16) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.07a: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.0b5) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.e19: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long, %EqWith.facet.0b5) [concrete] +// CHECK:STDOUT: %.5ce: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.07a, %EqWith.facet.0b5 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.b4a0eb.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.dc89b5.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.9fe158.1: = specific_function %T.as_type.as.EqWith.impl.Equal.dc89b5.2, @T.as_type.as.EqWith.impl.Equal.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.f19e5b.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.9fe158.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.b4a0eb.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.dc89b5.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.9fe158.2: = specific_function %T.as_type.as.EqWith.impl.Equal.dc89b5.1, @T.as_type.as.EqWith.impl.Equal.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.f19e5b.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.9fe158.2 [concrete] +// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.e19, %EqWith.facet.0b5 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.bc75bd.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.e3e536.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.37e0be.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.e3e536.2, @T.as_type.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.d93212.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.37e0be.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.bc75bd.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.e3e536.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.37e0be.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.e3e536.1, @T.as_type.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.d93212.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.37e0be.2 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.fe5: = impl_witness imports.%OrderedWith.impl_witness_table.413, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.6e20ed.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.13c9a2.1: %T.as_type.as.OrderedWith.impl.Less.type.6e20ed.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.d4c2c5.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.c39b78.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.d4c2c5.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.e11eff.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.b7bd67.1: %T.as_type.as.OrderedWith.impl.Greater.type.e11eff.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.33bfc4.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d02d93.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.33bfc4.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.6e20ed.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.13c9a2.2: %T.as_type.as.OrderedWith.impl.Less.type.6e20ed.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.d4c2c5.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.c39b78.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.d4c2c5.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.e11eff.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.b7bd67.2: %T.as_type.as.OrderedWith.impl.Greater.type.e11eff.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.33bfc4.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1, @T.as_type.as.OrderedWith.impl.821(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d02d93.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.33bfc4.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.686: %OrderedWith.type.a48 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.fe5) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.e0d: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.686) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.cd1: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.686) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.8ea: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.686) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.4fc: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long, %OrderedWith.facet.686) [concrete] +// CHECK:STDOUT: %.9b4: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.8ea, %OrderedWith.facet.686 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.adb702.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.b7bd67.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.16996e.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.b7bd67.2, @T.as_type.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.c8e8b4.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.16996e.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.adb702.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.b7bd67.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.16996e.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.b7bd67.1, @T.as_type.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.c8e8b4.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.16996e.2 [concrete] +// CHECK:STDOUT: %.64e: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.e0d, %OrderedWith.facet.686 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.0e7ad5.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.13c9a2.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.78cc5f.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.13c9a2.2, @T.as_type.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.221c38.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.78cc5f.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.0e7ad5.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.13c9a2.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.78cc5f.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.13c9a2.1, @T.as_type.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.221c38.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.78cc5f.2 [concrete] +// CHECK:STDOUT: %.1b9: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.4fc, %OrderedWith.facet.686 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.430283.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d02d93.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.dc593c.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d02d93.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.220517.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.dc593c.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.430283.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d02d93.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.dc593c.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d02d93.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.220517.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.dc593c.2 [concrete] +// CHECK:STDOUT: %.bf3: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.cd1, %OrderedWith.facet.686 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.35ada2.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.c39b78.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.445191.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.c39b78.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.d9db82.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.445191.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.35ada2.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.c39b78.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.445191.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.c39b78.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %bound_method.d9db82.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.445191.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -2226,19 +2226,19 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] -// CHECK:STDOUT: %Core.import_ref.a8d8: @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.Equal.type.2 (%T.as_type.as.EqWith.impl.Equal.type.94a46e.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.Equal.2 (constants.%T.as_type.as.EqWith.impl.Equal.3fb574.1)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %Core.import_ref.a8d: @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.Equal.type.2 (%T.as_type.as.EqWith.impl.Equal.type.94a46e.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.Equal.2 (constants.%T.as_type.as.EqWith.impl.Equal.3fb574.1)] // CHECK:STDOUT: %Core.import_ref.81b: @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.NotEqual.type.2 (%T.as_type.as.EqWith.impl.NotEqual.type.92df03.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.NotEqual.2 (constants.%T.as_type.as.EqWith.impl.NotEqual.a7a615.1)] -// CHECK:STDOUT: %EqWith.impl_witness_table.9cc = impl_witness_table (%Core.import_ref.a8d8, %Core.import_ref.81b), @T.as_type.as.EqWith.impl.673 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table.056 = impl_witness_table (%Core.import_ref.a8d, %Core.import_ref.81b), @T.as_type.as.EqWith.impl.673 [concrete] // CHECK:STDOUT: %Core.Equal.d4c: @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.Equal.type.1 (%T.as_type.as.EqWith.impl.Equal.type.94a46e.2) = import_ref Core//prelude/types/cpp/int, Equal, loaded [symbolic = @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.Equal.1 (constants.%T.as_type.as.EqWith.impl.Equal.3fb574.2)] // CHECK:STDOUT: %Core.NotEqual.d11: @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.NotEqual.type.1 (%T.as_type.as.EqWith.impl.NotEqual.type.92df03.2) = import_ref Core//prelude/types/cpp/int, NotEqual, loaded [symbolic = @T.as_type.as.EqWith.impl.673.%T.as_type.as.EqWith.impl.NotEqual.1 (constants.%T.as_type.as.EqWith.impl.NotEqual.a7a615.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %i32.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a75 = impl_witness_table (%Core.import_ref.06c923.2), @i32.as.ImplicitAs.impl.133 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.96f = impl_witness_table (%Core.import_ref.06c923.2), @i32.as.ImplicitAs.impl.133 [concrete] // CHECK:STDOUT: %Core.import_ref.0c1: @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.Less.type.2 (%T.as_type.as.OrderedWith.impl.Less.type.62945a.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.Less.2 (constants.%T.as_type.as.OrderedWith.impl.Less.2ef721.1)] // CHECK:STDOUT: %Core.import_ref.f03: @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.accc59.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.e8206a.1)] // CHECK:STDOUT: %Core.import_ref.dc8: @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.Greater.type.2 (%T.as_type.as.OrderedWith.impl.Greater.type.4af657.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.Greater.2 (constants.%T.as_type.as.OrderedWith.impl.Greater.00ebff.1)] -// CHECK:STDOUT: %Core.import_ref.fbeb: @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.2225a2.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.56ba82.1)] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.969 = impl_witness_table (%Core.import_ref.0c1, %Core.import_ref.f03, %Core.import_ref.dc8, %Core.import_ref.fbeb), @T.as_type.as.OrderedWith.impl.821 [concrete] +// CHECK:STDOUT: %Core.import_ref.fbeb1: @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.2225a2.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.56ba82.1)] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.413 = impl_witness_table (%Core.import_ref.0c1, %Core.import_ref.f03, %Core.import_ref.dc8, %Core.import_ref.fbeb1), @T.as_type.as.OrderedWith.impl.821 [concrete] // CHECK:STDOUT: %Core.Less.2f9: @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.Less.type.1 (%T.as_type.as.OrderedWith.impl.Less.type.62945a.2) = import_ref Core//prelude/types/cpp/int, Less, loaded [symbolic = @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.Less.1 (constants.%T.as_type.as.OrderedWith.impl.Less.2ef721.2)] // CHECK:STDOUT: %Core.LessOrEquivalent.27e: @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1 (%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.accc59.2) = import_ref Core//prelude/types/cpp/int, LessOrEquivalent, loaded [symbolic = @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.1 (constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.e8206a.2)] // CHECK:STDOUT: %Core.Greater.0b3: @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.Greater.type.1 (%T.as_type.as.OrderedWith.impl.Greater.type.4af657.2) = import_ref Core//prelude/types/cpp/int, Greater, loaded [symbolic = @T.as_type.as.OrderedWith.impl.821.%T.as_type.as.OrderedWith.impl.Greater.1 (constants.%T.as_type.as.OrderedWith.impl.Greater.00ebff.2)] @@ -2249,7 +2249,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc9_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.9ce] @@ -2264,20 +2264,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %b.ref.loc10: %i32 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc10: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc10_5: %.a04 = impl_witness_access constants.%EqWith.impl_witness.95d, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.f0911b.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.021 = impl_witness_access constants.%EqWith.impl_witness.5cc, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.e95956.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %b.ref.loc10, %impl.elem0.loc10_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @T.as_type.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.873bd0.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @T.as_type.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.3f4dd7.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %b.ref.loc10, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5.3: %T.as_type.as.EqWith.impl.Equal.type.e779ca.1 = specific_constant imports.%Core.Equal.d4c, @T.as_type.as.EqWith.impl.673(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.f0911b.1] -// CHECK:STDOUT: %Equal.ref.loc10: %T.as_type.as.EqWith.impl.Equal.type.e779ca.1 = name_ref Equal, %.loc10_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.f0911b.1] +// CHECK:STDOUT: %.loc10_5.3: %T.as_type.as.EqWith.impl.Equal.type.001f97.1 = specific_constant imports.%Core.Equal.d4c, @T.as_type.as.EqWith.impl.673(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.e95956.1] +// CHECK:STDOUT: %Equal.ref.loc10: %T.as_type.as.EqWith.impl.Equal.type.001f97.1 = name_ref Equal, %.loc10_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.e95956.1] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.loc10: = bound_method %b.ref.loc10, %Equal.ref.loc10 -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.loc10: = specific_function %Equal.ref.loc10, @T.as_type.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.873bd0.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.loc10: = specific_function %Equal.ref.loc10, @T.as_type.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.3f4dd7.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %b.ref.loc10, %T.as_type.as.EqWith.impl.Equal.specific_fn.loc10 -// CHECK:STDOUT: %impl.elem0.loc10_3: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_3: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_3: = bound_method %b.ref.loc10, %impl.elem0.loc10_3 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc10: init %Cpp.long = call %bound_method.loc10_3(%b.ref.loc10) // CHECK:STDOUT: %.loc10_3.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc10 @@ -2285,20 +2285,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.call.loc10: init bool = call %bound_method.loc10_5.3(%.loc10_3.2, %a.ref.loc10) // CHECK:STDOUT: %b.ref.loc11: %i32 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc11: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc11: %.4a6 = impl_witness_access constants.%EqWith.impl_witness.95d, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.3d3117.2] +// CHECK:STDOUT: %impl.elem1.loc11: %.ac1 = impl_witness_access constants.%EqWith.impl_witness.5cc, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.be472c.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %b.ref.loc11, %impl.elem1.loc11 -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @T.as_type.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.fae6fc.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @T.as_type.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.b40991.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %b.ref.loc11, %specific_fn.loc11 -// CHECK:STDOUT: %.loc11_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.3aca6f.1 = specific_constant imports.%Core.NotEqual.d11, @T.as_type.as.EqWith.impl.673(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.3d3117.1] -// CHECK:STDOUT: %NotEqual.ref.loc11: %T.as_type.as.EqWith.impl.NotEqual.type.3aca6f.1 = name_ref NotEqual, %.loc11_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.3d3117.1] +// CHECK:STDOUT: %.loc11_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.2490cc.1 = specific_constant imports.%Core.NotEqual.d11, @T.as_type.as.EqWith.impl.673(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.be472c.1] +// CHECK:STDOUT: %NotEqual.ref.loc11: %T.as_type.as.EqWith.impl.NotEqual.type.2490cc.1 = name_ref NotEqual, %.loc11_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.be472c.1] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.loc11: = bound_method %b.ref.loc11, %NotEqual.ref.loc11 -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc11: = specific_function %NotEqual.ref.loc11, @T.as_type.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.fae6fc.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc11: = specific_function %NotEqual.ref.loc11, @T.as_type.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.b40991.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %b.ref.loc11, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc11 -// CHECK:STDOUT: %impl.elem0.loc11: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_3: = bound_method %b.ref.loc11, %impl.elem0.loc11 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc11: init %Cpp.long = call %bound_method.loc11_3(%b.ref.loc11) // CHECK:STDOUT: %.loc11_3.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc11 @@ -2306,20 +2306,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.call.loc11: init bool = call %bound_method.loc11_5.3(%.loc11_3.2, %a.ref.loc11) // CHECK:STDOUT: %b.ref.loc12: %i32 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc12: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem2.loc12: %.871 = impl_witness_access constants.%OrderedWith.impl_witness.029, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.dcaa48.2] +// CHECK:STDOUT: %impl.elem2.loc12: %.02d = impl_witness_access constants.%OrderedWith.impl_witness.fff, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.95a750.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %b.ref.loc12, %impl.elem2.loc12 -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @T.as_type.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.052d08.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @T.as_type.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.ad7129.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %b.ref.loc12, %specific_fn.loc12 -// CHECK:STDOUT: %.loc12_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.5d146f.1 = specific_constant imports.%Core.Greater.0b3, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.dcaa48.1] -// CHECK:STDOUT: %Greater.ref.loc12: %T.as_type.as.OrderedWith.impl.Greater.type.5d146f.1 = name_ref Greater, %.loc12_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.dcaa48.1] +// CHECK:STDOUT: %.loc12_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.5a757b.1 = specific_constant imports.%Core.Greater.0b3, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.95a750.1] +// CHECK:STDOUT: %Greater.ref.loc12: %T.as_type.as.OrderedWith.impl.Greater.type.5a757b.1 = name_ref Greater, %.loc12_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.95a750.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.loc12: = bound_method %b.ref.loc12, %Greater.ref.loc12 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc12: = specific_function %Greater.ref.loc12, @T.as_type.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.052d08.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc12: = specific_function %Greater.ref.loc12, @T.as_type.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.ad7129.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %b.ref.loc12, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc12 -// CHECK:STDOUT: %impl.elem0.loc12: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc12: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc12_3: = bound_method %b.ref.loc12, %impl.elem0.loc12 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc12: init %Cpp.long = call %bound_method.loc12_3(%b.ref.loc12) // CHECK:STDOUT: %.loc12_3.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc12 @@ -2327,20 +2327,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.call.loc12: init bool = call %bound_method.loc12_5.3(%.loc12_3.2, %a.ref.loc12) // CHECK:STDOUT: %b.ref.loc13: %i32 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc13: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc13_5: %.68c = impl_witness_access constants.%OrderedWith.impl_witness.029, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.3e6ac0.2] +// CHECK:STDOUT: %impl.elem0.loc13_5: %.2ba = impl_witness_access constants.%OrderedWith.impl_witness.fff, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.28b483.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %b.ref.loc13, %impl.elem0.loc13_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @T.as_type.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.d4058b.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @T.as_type.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.32248d.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %b.ref.loc13, %specific_fn.loc13 -// CHECK:STDOUT: %.loc13_5.3: %T.as_type.as.OrderedWith.impl.Less.type.e5a0d6.1 = specific_constant imports.%Core.Less.2f9, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.3e6ac0.1] -// CHECK:STDOUT: %Less.ref.loc13: %T.as_type.as.OrderedWith.impl.Less.type.e5a0d6.1 = name_ref Less, %.loc13_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.3e6ac0.1] +// CHECK:STDOUT: %.loc13_5.3: %T.as_type.as.OrderedWith.impl.Less.type.11edcb.1 = specific_constant imports.%Core.Less.2f9, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.28b483.1] +// CHECK:STDOUT: %Less.ref.loc13: %T.as_type.as.OrderedWith.impl.Less.type.11edcb.1 = name_ref Less, %.loc13_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.28b483.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.loc13: = bound_method %b.ref.loc13, %Less.ref.loc13 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc13: = specific_function %Less.ref.loc13, @T.as_type.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.d4058b.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc13: = specific_function %Less.ref.loc13, @T.as_type.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.32248d.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %b.ref.loc13, %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc13 -// CHECK:STDOUT: %impl.elem0.loc13_3: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc13_3: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc13_3: = bound_method %b.ref.loc13, %impl.elem0.loc13_3 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc13: init %Cpp.long = call %bound_method.loc13_3(%b.ref.loc13) // CHECK:STDOUT: %.loc13_3.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc13 @@ -2348,20 +2348,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.call.loc13: init bool = call %bound_method.loc13_5.3(%.loc13_3.2, %a.ref.loc13) // CHECK:STDOUT: %b.ref.loc14: %i32 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc14: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem3.loc14: %.7c0 = impl_witness_access constants.%OrderedWith.impl_witness.029, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.e6f558.2] +// CHECK:STDOUT: %impl.elem3.loc14: %.763 = impl_witness_access constants.%OrderedWith.impl_witness.fff, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.0885da.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %b.ref.loc14, %impl.elem3.loc14 -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.a37dff.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6e9339.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %b.ref.loc14, %specific_fn.loc14 -// CHECK:STDOUT: %.loc14_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e46d69.1 = specific_constant imports.%Core.GreaterOrEquivalent.e06, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.e6f558.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.e46d69.1 = name_ref GreaterOrEquivalent, %.loc14_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.e6f558.1] +// CHECK:STDOUT: %.loc14_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.58863a.1 = specific_constant imports.%Core.GreaterOrEquivalent.e06, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.0885da.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.58863a.1 = name_ref GreaterOrEquivalent, %.loc14_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.0885da.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc14: = bound_method %b.ref.loc14, %GreaterOrEquivalent.ref.loc14 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14: = specific_function %GreaterOrEquivalent.ref.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.a37dff.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14: = specific_function %GreaterOrEquivalent.ref.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.6e9339.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %b.ref.loc14, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14 -// CHECK:STDOUT: %impl.elem0.loc14: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc14: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc14_3: = bound_method %b.ref.loc14, %impl.elem0.loc14 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc14: init %Cpp.long = call %bound_method.loc14_3(%b.ref.loc14) // CHECK:STDOUT: %.loc14_3.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc14 @@ -2369,20 +2369,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.call.loc14: init bool = call %bound_method.loc14_5.3(%.loc14_3.2, %a.ref.loc14) // CHECK:STDOUT: %b.ref.loc15: %i32 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc15: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc15: %.a3d = impl_witness_access constants.%OrderedWith.impl_witness.029, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.b51928.2] +// CHECK:STDOUT: %impl.elem1.loc15: %.6a5 = impl_witness_access constants.%OrderedWith.impl_witness.fff, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.19b188.2] // CHECK:STDOUT: %bound_method.loc15_5.1: = bound_method %b.ref.loc15, %impl.elem1.loc15 -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ad853c.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.5c4337.1] // CHECK:STDOUT: %bound_method.loc15_5.2: = bound_method %b.ref.loc15, %specific_fn.loc15 -// CHECK:STDOUT: %.loc15_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.be0eb0.1 = specific_constant imports.%Core.LessOrEquivalent.27e, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.b51928.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.be0eb0.1 = name_ref LessOrEquivalent, %.loc15_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.b51928.1] +// CHECK:STDOUT: %.loc15_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.f88845.1 = specific_constant imports.%Core.LessOrEquivalent.27e, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.19b188.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.f88845.1 = name_ref LessOrEquivalent, %.loc15_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.19b188.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.loc15: = bound_method %b.ref.loc15, %LessOrEquivalent.ref.loc15 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15: = specific_function %LessOrEquivalent.ref.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ad853c.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15: = specific_function %LessOrEquivalent.ref.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.5c4337.2] // CHECK:STDOUT: %bound_method.loc15_5.3: = bound_method %b.ref.loc15, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15 -// CHECK:STDOUT: %impl.elem0.loc15: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc15: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc15_3: = bound_method %b.ref.loc15, %impl.elem0.loc15 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc15: init %Cpp.long = call %bound_method.loc15_3(%b.ref.loc15) // CHECK:STDOUT: %.loc15_3.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc15 @@ -2390,20 +2390,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.call.loc15: init bool = call %bound_method.loc15_5.3(%.loc15_3.2, %a.ref.loc15) // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc17: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc17_5: %.651 = impl_witness_access constants.%EqWith.impl_witness.772, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.4e32c9.2] -// CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %int_1.loc17, %impl.elem0.loc17_5 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.1038cb.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @T.as_type.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.2002e1.1] -// CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %int_1.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.5ea17a.1] -// CHECK:STDOUT: %.loc17_5.3: %T.as_type.as.EqWith.impl.Equal.type.f5ab79.1 = specific_constant imports.%Core.Equal.d4c, @T.as_type.as.EqWith.impl.673(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.4e32c9.1] -// CHECK:STDOUT: %Equal.ref.loc17: %T.as_type.as.EqWith.impl.Equal.type.f5ab79.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.4e32c9.1] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.loc17: = bound_method %int_1.loc17, %Equal.ref.loc17 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.1038cb.2] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.loc17: = specific_function %Equal.ref.loc17, @T.as_type.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.2002e1.2] -// CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %int_1.loc17, %T.as_type.as.EqWith.impl.Equal.specific_fn.loc17 [concrete = constants.%bound_method.5ea17a.2] -// CHECK:STDOUT: %impl.elem0.loc17_3: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc17_5: %.5ce = impl_witness_access constants.%EqWith.impl_witness.a16, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.dc89b5.2] +// CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %int_1.loc17, %impl.elem0.loc17_5 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.b4a0eb.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @T.as_type.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.9fe158.1] +// CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %int_1.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.f19e5b.1] +// CHECK:STDOUT: %.loc17_5.3: %T.as_type.as.EqWith.impl.Equal.type.ab24aa.1 = specific_constant imports.%Core.Equal.d4c, @T.as_type.as.EqWith.impl.673(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.dc89b5.1] +// CHECK:STDOUT: %Equal.ref.loc17: %T.as_type.as.EqWith.impl.Equal.type.ab24aa.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.dc89b5.1] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.loc17: = bound_method %int_1.loc17, %Equal.ref.loc17 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.b4a0eb.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.loc17: = specific_function %Equal.ref.loc17, @T.as_type.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.9fe158.2] +// CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %int_1.loc17, %T.as_type.as.EqWith.impl.Equal.specific_fn.loc17 [concrete = constants.%bound_method.f19e5b.2] +// CHECK:STDOUT: %impl.elem0.loc17_3: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc17_3: = bound_method %int_1.loc17, %impl.elem0.loc17_3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17: init %Cpp.long = call %bound_method.loc17_3(%int_1.loc17) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc17_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_1.9ce] @@ -2411,20 +2411,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.call.loc17: init bool = call %bound_method.loc17_5.3(%.loc17_3.2, %a.ref.loc17) // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc18: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc18: %.830 = impl_witness_access constants.%EqWith.impl_witness.772, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.7e38ae.2] -// CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %int_1.loc18, %impl.elem1.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.750155.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @T.as_type.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.cb3ce7.1] -// CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %int_1.loc18, %specific_fn.loc18 [concrete = constants.%bound_method.c6610c.1] -// CHECK:STDOUT: %.loc18_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.f0c8ea.1 = specific_constant imports.%Core.NotEqual.d11, @T.as_type.as.EqWith.impl.673(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.7e38ae.1] -// CHECK:STDOUT: %NotEqual.ref.loc18: %T.as_type.as.EqWith.impl.NotEqual.type.f0c8ea.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.7e38ae.1] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.loc18: = bound_method %int_1.loc18, %NotEqual.ref.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.750155.2] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc18: = specific_function %NotEqual.ref.loc18, @T.as_type.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.cb3ce7.2] -// CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %int_1.loc18, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc18 [concrete = constants.%bound_method.c6610c.2] -// CHECK:STDOUT: %impl.elem0.loc18: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem1.loc18: %.7a6 = impl_witness_access constants.%EqWith.impl_witness.a16, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.e3e536.2] +// CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %int_1.loc18, %impl.elem1.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.bc75bd.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @T.as_type.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.37e0be.1] +// CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %int_1.loc18, %specific_fn.loc18 [concrete = constants.%bound_method.d93212.1] +// CHECK:STDOUT: %.loc18_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.5660c0.1 = specific_constant imports.%Core.NotEqual.d11, @T.as_type.as.EqWith.impl.673(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.e3e536.1] +// CHECK:STDOUT: %NotEqual.ref.loc18: %T.as_type.as.EqWith.impl.NotEqual.type.5660c0.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.e3e536.1] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.loc18: = bound_method %int_1.loc18, %NotEqual.ref.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.bc75bd.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc18: = specific_function %NotEqual.ref.loc18, @T.as_type.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.37e0be.2] +// CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %int_1.loc18, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc18 [concrete = constants.%bound_method.d93212.2] +// CHECK:STDOUT: %impl.elem0.loc18: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc18_3: = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long = call %bound_method.loc18_3(%int_1.loc18) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc18_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_1.9ce] @@ -2432,20 +2432,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.call.loc18: init bool = call %bound_method.loc18_5.3(%.loc18_3.2, %a.ref.loc18) // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc19: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem2.loc19: %.48e = impl_witness_access constants.%OrderedWith.impl_witness.8ce, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.3f6fcf.2] -// CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %int_1.loc19, %impl.elem2.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.b05e6b.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @T.as_type.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.b46b59.1] -// CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %int_1.loc19, %specific_fn.loc19 [concrete = constants.%bound_method.84b063.1] -// CHECK:STDOUT: %.loc19_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.dc545b.1 = specific_constant imports.%Core.Greater.0b3, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.3f6fcf.1] -// CHECK:STDOUT: %Greater.ref.loc19: %T.as_type.as.OrderedWith.impl.Greater.type.dc545b.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.3f6fcf.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.loc19: = bound_method %int_1.loc19, %Greater.ref.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.b05e6b.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc19: = specific_function %Greater.ref.loc19, @T.as_type.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.b46b59.2] -// CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %int_1.loc19, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc19 [concrete = constants.%bound_method.84b063.2] -// CHECK:STDOUT: %impl.elem0.loc19: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem2.loc19: %.9b4 = impl_witness_access constants.%OrderedWith.impl_witness.fe5, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.b7bd67.2] +// CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %int_1.loc19, %impl.elem2.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.adb702.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @T.as_type.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.16996e.1] +// CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %int_1.loc19, %specific_fn.loc19 [concrete = constants.%bound_method.c8e8b4.1] +// CHECK:STDOUT: %.loc19_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.e11eff.1 = specific_constant imports.%Core.Greater.0b3, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.b7bd67.1] +// CHECK:STDOUT: %Greater.ref.loc19: %T.as_type.as.OrderedWith.impl.Greater.type.e11eff.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.b7bd67.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.loc19: = bound_method %int_1.loc19, %Greater.ref.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.adb702.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc19: = specific_function %Greater.ref.loc19, @T.as_type.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.16996e.2] +// CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %int_1.loc19, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc19 [concrete = constants.%bound_method.c8e8b4.2] +// CHECK:STDOUT: %impl.elem0.loc19: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc19_3: = bound_method %int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19: init %Cpp.long = call %bound_method.loc19_3(%int_1.loc19) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc19_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19 [concrete = constants.%int_1.9ce] @@ -2453,20 +2453,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.call.loc19: init bool = call %bound_method.loc19_5.3(%.loc19_3.2, %a.ref.loc19) // CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc20: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc20_5: %.138 = impl_witness_access constants.%OrderedWith.impl_witness.8ce, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.0804e2.2] -// CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %int_1.loc20, %impl.elem0.loc20_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.c0d522.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @T.as_type.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.6ba13f.1] -// CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %int_1.loc20, %specific_fn.loc20 [concrete = constants.%bound_method.a4c927.1] -// CHECK:STDOUT: %.loc20_5.3: %T.as_type.as.OrderedWith.impl.Less.type.ea162e.1 = specific_constant imports.%Core.Less.2f9, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.0804e2.1] -// CHECK:STDOUT: %Less.ref.loc20: %T.as_type.as.OrderedWith.impl.Less.type.ea162e.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.0804e2.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.loc20: = bound_method %int_1.loc20, %Less.ref.loc20 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.c0d522.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc20: = specific_function %Less.ref.loc20, @T.as_type.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.6ba13f.2] -// CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %int_1.loc20, %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc20 [concrete = constants.%bound_method.a4c927.2] -// CHECK:STDOUT: %impl.elem0.loc20_3: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc20_5: %.64e = impl_witness_access constants.%OrderedWith.impl_witness.fe5, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.13c9a2.2] +// CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %int_1.loc20, %impl.elem0.loc20_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.0e7ad5.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @T.as_type.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.78cc5f.1] +// CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %int_1.loc20, %specific_fn.loc20 [concrete = constants.%bound_method.221c38.1] +// CHECK:STDOUT: %.loc20_5.3: %T.as_type.as.OrderedWith.impl.Less.type.6e20ed.1 = specific_constant imports.%Core.Less.2f9, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.13c9a2.1] +// CHECK:STDOUT: %Less.ref.loc20: %T.as_type.as.OrderedWith.impl.Less.type.6e20ed.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.13c9a2.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.loc20: = bound_method %int_1.loc20, %Less.ref.loc20 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.0e7ad5.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc20: = specific_function %Less.ref.loc20, @T.as_type.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.78cc5f.2] +// CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %int_1.loc20, %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc20 [concrete = constants.%bound_method.221c38.2] +// CHECK:STDOUT: %impl.elem0.loc20_3: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc20_3: = bound_method %int_1.loc20, %impl.elem0.loc20_3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20: init %Cpp.long = call %bound_method.loc20_3(%int_1.loc20) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc20_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_1.9ce] @@ -2474,20 +2474,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.call.loc20: init bool = call %bound_method.loc20_5.3(%.loc20_3.2, %a.ref.loc20) // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc21: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem3.loc21: %.5fe = impl_witness_access constants.%OrderedWith.impl_witness.8ce, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d37e1c.2] -// CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %int_1.loc21, %impl.elem3.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.af5bde.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8d07ea.1] -// CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.d2ea71.1] -// CHECK:STDOUT: %.loc21_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1ebc13.1 = specific_constant imports.%Core.GreaterOrEquivalent.e06, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d37e1c.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.1ebc13.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d37e1c.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc21: = bound_method %int_1.loc21, %GreaterOrEquivalent.ref.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.af5bde.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21: = specific_function %GreaterOrEquivalent.ref.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8d07ea.2] -// CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %int_1.loc21, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21 [concrete = constants.%bound_method.d2ea71.2] -// CHECK:STDOUT: %impl.elem0.loc21: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem3.loc21: %.1b9 = impl_witness_access constants.%OrderedWith.impl_witness.fe5, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d02d93.2] +// CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %int_1.loc21, %impl.elem3.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.430283.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.dc593c.1] +// CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.220517.1] +// CHECK:STDOUT: %.loc21_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.33bfc4.1 = specific_constant imports.%Core.GreaterOrEquivalent.e06, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d02d93.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.33bfc4.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.d02d93.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc21: = bound_method %int_1.loc21, %GreaterOrEquivalent.ref.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.430283.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21: = specific_function %GreaterOrEquivalent.ref.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.dc593c.2] +// CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %int_1.loc21, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21 [concrete = constants.%bound_method.220517.2] +// CHECK:STDOUT: %impl.elem0.loc21: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc21_3: = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21: init %Cpp.long = call %bound_method.loc21_3(%int_1.loc21) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc21_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21 [concrete = constants.%int_1.9ce] @@ -2495,20 +2495,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.call.loc21: init bool = call %bound_method.loc21_5.3(%.loc21_3.2, %a.ref.loc21) // CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc22: %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc22: %.9c3 = impl_witness_access constants.%OrderedWith.impl_witness.8ce, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.6b9921.2] -// CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %int_1.loc22, %impl.elem1.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.1f479f.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.b30] -// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9ed43e.1] -// CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %int_1.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.ce4a7e.1] -// CHECK:STDOUT: %.loc22_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.b869b8.1 = specific_constant imports.%Core.LessOrEquivalent.27e, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.6b9921.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.b869b8.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.6b9921.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.loc22: = bound_method %int_1.loc22, %LessOrEquivalent.ref.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.1f479f.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22: = specific_function %LessOrEquivalent.ref.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.b30) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.9ed43e.2] -// CHECK:STDOUT: %bound_method.loc22_5.3: = bound_method %int_1.loc22, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22 [concrete = constants.%bound_method.ce4a7e.2] -// CHECK:STDOUT: %impl.elem0.loc22: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem1.loc22: %.bf3 = impl_witness_access constants.%OrderedWith.impl_witness.fe5, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.c39b78.2] +// CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %int_1.loc22, %impl.elem1.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.35ada2.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.eac] +// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.445191.1] +// CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %int_1.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.d9db82.1] +// CHECK:STDOUT: %.loc22_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.d4c2c5.1 = specific_constant imports.%Core.LessOrEquivalent.27e, @T.as_type.as.OrderedWith.impl.821(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.c39b78.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.d4c2c5.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.c39b78.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.loc22: = bound_method %int_1.loc22, %LessOrEquivalent.ref.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.35ada2.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22: = specific_function %LessOrEquivalent.ref.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.eac) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.445191.2] +// CHECK:STDOUT: %bound_method.loc22_5.3: = bound_method %int_1.loc22, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22 [concrete = constants.%bound_method.d9db82.2] +// CHECK:STDOUT: %impl.elem0.loc22: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc22_3: = bound_method %int_1.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22: init %Cpp.long = call %bound_method.loc22_3(%int_1.loc22) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc22_3.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22 [concrete = constants.%int_1.9ce] @@ -2525,10 +2525,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %x.patt: %pattern_type.25e = value_binding_pattern x [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7eb: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -2538,48 +2538,48 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Negate.type: type = facet_type <@Negate> [concrete] // CHECK:STDOUT: %Negate.impl_witness: = impl_witness imports.%Negate.impl_witness_table [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value %Cpp.long, (%Negate.impl_witness) [concrete] -// CHECK:STDOUT: %Negate.WithSelf.Op.type.b10: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] -// CHECK:STDOUT: %.3b3: type = fn_type_with_self_type %Negate.WithSelf.Op.type.b10, %Negate.facet [concrete] +// CHECK:STDOUT: %Negate.WithSelf.Op.type.83b: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] +// CHECK:STDOUT: %.552: type = fn_type_with_self_type %Negate.WithSelf.Op.type.83b, %Negate.facet [concrete] // CHECK:STDOUT: %Cpp.long.as.Negate.impl.Op.type: type = fn_type @Cpp.long.as.Negate.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long.as.Negate.impl.Op: %Cpp.long.as.Negate.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.25e = value_binding_pattern b [concrete] // CHECK:STDOUT: %AddWith.type.5d0: type = facet_type <@AddWith, @AddWith(%Cpp.long)> [concrete] -// CHECK:STDOUT: %AddWith.impl_witness.ffb: = impl_witness imports.%AddWith.impl_witness_table.08c [concrete] -// CHECK:STDOUT: %AddWith.facet.a35: %AddWith.type.5d0 = facet_value %Cpp.long, (%AddWith.impl_witness.ffb) [concrete] -// CHECK:STDOUT: %AddWith.WithSelf.Op.type.72d: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%Cpp.long, %AddWith.facet.a35) [concrete] -// CHECK:STDOUT: %.4d4: type = fn_type_with_self_type %AddWith.WithSelf.Op.type.72d, %AddWith.facet.a35 [concrete] +// CHECK:STDOUT: %AddWith.impl_witness.24e: = impl_witness imports.%AddWith.impl_witness_table.4f6 [concrete] +// CHECK:STDOUT: %AddWith.facet.35c: %AddWith.type.5d0 = facet_value %Cpp.long, (%AddWith.impl_witness.24e) [concrete] +// CHECK:STDOUT: %AddWith.WithSelf.Op.type.90c: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%Cpp.long, %AddWith.facet.35c) [concrete] +// CHECK:STDOUT: %.d2f: type = fn_type_with_self_type %AddWith.WithSelf.Op.type.90c, %AddWith.facet.35c [concrete] // CHECK:STDOUT: %Cpp.long.as.AddWith.impl.Op.type.43d: type = fn_type @Cpp.long.as.AddWith.impl.Op.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.AddWith.impl.Op.cc7: %Cpp.long.as.AddWith.impl.Op.type.43d = struct_value () [concrete] // CHECK:STDOUT: %c.patt: %pattern_type.25e = value_binding_pattern c [concrete] // CHECK:STDOUT: %SubWith.type.238: type = facet_type <@SubWith, @SubWith(%Cpp.long)> [concrete] -// CHECK:STDOUT: %SubWith.impl_witness.f5e: = impl_witness imports.%SubWith.impl_witness_table.a67 [concrete] -// CHECK:STDOUT: %SubWith.facet.62f: %SubWith.type.238 = facet_value %Cpp.long, (%SubWith.impl_witness.f5e) [concrete] -// CHECK:STDOUT: %SubWith.WithSelf.Op.type.058: type = fn_type @SubWith.WithSelf.Op, @SubWith.WithSelf(%Cpp.long, %SubWith.facet.62f) [concrete] -// CHECK:STDOUT: %.fbe: type = fn_type_with_self_type %SubWith.WithSelf.Op.type.058, %SubWith.facet.62f [concrete] +// CHECK:STDOUT: %SubWith.impl_witness.a91: = impl_witness imports.%SubWith.impl_witness_table.ca7 [concrete] +// CHECK:STDOUT: %SubWith.facet.997: %SubWith.type.238 = facet_value %Cpp.long, (%SubWith.impl_witness.a91) [concrete] +// CHECK:STDOUT: %SubWith.WithSelf.Op.type.c7a: type = fn_type @SubWith.WithSelf.Op, @SubWith.WithSelf(%Cpp.long, %SubWith.facet.997) [concrete] +// CHECK:STDOUT: %.8c4: type = fn_type_with_self_type %SubWith.WithSelf.Op.type.c7a, %SubWith.facet.997 [concrete] // CHECK:STDOUT: %Cpp.long.as.SubWith.impl.Op.type.43d: type = fn_type @Cpp.long.as.SubWith.impl.Op.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.SubWith.impl.Op.cc7: %Cpp.long.as.SubWith.impl.Op.type.43d = struct_value () [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.25e = value_binding_pattern d [concrete] // CHECK:STDOUT: %MulWith.type.567: type = facet_type <@MulWith, @MulWith(%Cpp.long)> [concrete] -// CHECK:STDOUT: %MulWith.impl_witness.217: = impl_witness imports.%MulWith.impl_witness_table.fe0 [concrete] -// CHECK:STDOUT: %MulWith.facet.0f8: %MulWith.type.567 = facet_value %Cpp.long, (%MulWith.impl_witness.217) [concrete] -// CHECK:STDOUT: %MulWith.WithSelf.Op.type.cfb: type = fn_type @MulWith.WithSelf.Op, @MulWith.WithSelf(%Cpp.long, %MulWith.facet.0f8) [concrete] -// CHECK:STDOUT: %.f0a: type = fn_type_with_self_type %MulWith.WithSelf.Op.type.cfb, %MulWith.facet.0f8 [concrete] +// CHECK:STDOUT: %MulWith.impl_witness.d2b: = impl_witness imports.%MulWith.impl_witness_table.07f [concrete] +// CHECK:STDOUT: %MulWith.facet.4a3: %MulWith.type.567 = facet_value %Cpp.long, (%MulWith.impl_witness.d2b) [concrete] +// CHECK:STDOUT: %MulWith.WithSelf.Op.type.579: type = fn_type @MulWith.WithSelf.Op, @MulWith.WithSelf(%Cpp.long, %MulWith.facet.4a3) [concrete] +// CHECK:STDOUT: %.0f6: type = fn_type_with_self_type %MulWith.WithSelf.Op.type.579, %MulWith.facet.4a3 [concrete] // CHECK:STDOUT: %Cpp.long.as.MulWith.impl.Op.type.43d: type = fn_type @Cpp.long.as.MulWith.impl.Op.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.MulWith.impl.Op.cc7: %Cpp.long.as.MulWith.impl.Op.type.43d = struct_value () [concrete] // CHECK:STDOUT: %e.patt: %pattern_type.25e = value_binding_pattern e [concrete] // CHECK:STDOUT: %DivWith.type.204: type = facet_type <@DivWith, @DivWith(%Cpp.long)> [concrete] -// CHECK:STDOUT: %DivWith.impl_witness.f47: = impl_witness imports.%DivWith.impl_witness_table.5f1 [concrete] -// CHECK:STDOUT: %DivWith.facet.f48: %DivWith.type.204 = facet_value %Cpp.long, (%DivWith.impl_witness.f47) [concrete] -// CHECK:STDOUT: %DivWith.WithSelf.Op.type.46c: type = fn_type @DivWith.WithSelf.Op, @DivWith.WithSelf(%Cpp.long, %DivWith.facet.f48) [concrete] -// CHECK:STDOUT: %.f65: type = fn_type_with_self_type %DivWith.WithSelf.Op.type.46c, %DivWith.facet.f48 [concrete] +// CHECK:STDOUT: %DivWith.impl_witness.012: = impl_witness imports.%DivWith.impl_witness_table.20f [concrete] +// CHECK:STDOUT: %DivWith.facet.a94: %DivWith.type.204 = facet_value %Cpp.long, (%DivWith.impl_witness.012) [concrete] +// CHECK:STDOUT: %DivWith.WithSelf.Op.type.485: type = fn_type @DivWith.WithSelf.Op, @DivWith.WithSelf(%Cpp.long, %DivWith.facet.a94) [concrete] +// CHECK:STDOUT: %.422: type = fn_type_with_self_type %DivWith.WithSelf.Op.type.485, %DivWith.facet.a94 [concrete] // CHECK:STDOUT: %Cpp.long.as.DivWith.impl.Op.type.43d: type = fn_type @Cpp.long.as.DivWith.impl.Op.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.DivWith.impl.Op.cc7: %Cpp.long.as.DivWith.impl.Op.type.43d = struct_value () [concrete] // CHECK:STDOUT: %f.patt: %pattern_type.25e = value_binding_pattern f [concrete] // CHECK:STDOUT: %ModWith.type.d81: type = facet_type <@ModWith, @ModWith(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ModWith.impl_witness.8f4: = impl_witness imports.%ModWith.impl_witness_table.4a1 [concrete] -// CHECK:STDOUT: %ModWith.facet.0e0: %ModWith.type.d81 = facet_value %Cpp.long, (%ModWith.impl_witness.8f4) [concrete] -// CHECK:STDOUT: %ModWith.WithSelf.Op.type.19a: type = fn_type @ModWith.WithSelf.Op, @ModWith.WithSelf(%Cpp.long, %ModWith.facet.0e0) [concrete] -// CHECK:STDOUT: %.55c: type = fn_type_with_self_type %ModWith.WithSelf.Op.type.19a, %ModWith.facet.0e0 [concrete] +// CHECK:STDOUT: %ModWith.impl_witness.4cd: = impl_witness imports.%ModWith.impl_witness_table.b28 [concrete] +// CHECK:STDOUT: %ModWith.facet.8e4: %ModWith.type.d81 = facet_value %Cpp.long, (%ModWith.impl_witness.4cd) [concrete] +// CHECK:STDOUT: %ModWith.WithSelf.Op.type.663: type = fn_type @ModWith.WithSelf.Op, @ModWith.WithSelf(%Cpp.long, %ModWith.facet.8e4) [concrete] +// CHECK:STDOUT: %.b93: type = fn_type_with_self_type %ModWith.WithSelf.Op.type.663, %ModWith.facet.8e4 [concrete] // CHECK:STDOUT: %Cpp.long.as.ModWith.impl.Op.type.43d: type = fn_type @Cpp.long.as.ModWith.impl.Op.3 [concrete] // CHECK:STDOUT: %Cpp.long.as.ModWith.impl.Op.cc7: %Cpp.long.as.ModWith.impl.Op.type.43d = struct_value () [concrete] // CHECK:STDOUT: } @@ -2590,31 +2590,31 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %Core.import_ref.099f8c.1 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.9c3475.1: %Cpp.long.as.Negate.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.Negate.impl.Op] // CHECK:STDOUT: %Negate.impl_witness_table = impl_witness_table (%Core.import_ref.099f8c.1, %Core.import_ref.9c3475.1), @Cpp.long.as.Negate.impl [concrete] // CHECK:STDOUT: %Core.import_ref.099f8c.4 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.9c3475.2: %Cpp.long.as.AddWith.impl.Op.type.43d = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.AddWith.impl.Op.cc7] -// CHECK:STDOUT: %AddWith.impl_witness_table.08c = impl_witness_table (%Core.import_ref.099f8c.4, %Core.import_ref.9c3475.2), @Cpp.long.as.AddWith.impl.3a9 [concrete] +// CHECK:STDOUT: %AddWith.impl_witness_table.4f6 = impl_witness_table (%Core.import_ref.099f8c.4, %Core.import_ref.9c3475.2), @Cpp.long.as.AddWith.impl.3a9 [concrete] // CHECK:STDOUT: %Core.import_ref.099f8c.7 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.9c3475.3: %Cpp.long.as.SubWith.impl.Op.type.43d = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.SubWith.impl.Op.cc7] -// CHECK:STDOUT: %SubWith.impl_witness_table.a67 = impl_witness_table (%Core.import_ref.099f8c.7, %Core.import_ref.9c3475.3), @Cpp.long.as.SubWith.impl.ca8 [concrete] +// CHECK:STDOUT: %SubWith.impl_witness_table.ca7 = impl_witness_table (%Core.import_ref.099f8c.7, %Core.import_ref.9c3475.3), @Cpp.long.as.SubWith.impl.ca8 [concrete] // CHECK:STDOUT: %Core.import_ref.099f8c.10 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.9c3475.4: %Cpp.long.as.MulWith.impl.Op.type.43d = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.MulWith.impl.Op.cc7] -// CHECK:STDOUT: %MulWith.impl_witness_table.fe0 = impl_witness_table (%Core.import_ref.099f8c.10, %Core.import_ref.9c3475.4), @Cpp.long.as.MulWith.impl.85a [concrete] +// CHECK:STDOUT: %MulWith.impl_witness_table.07f = impl_witness_table (%Core.import_ref.099f8c.10, %Core.import_ref.9c3475.4), @Cpp.long.as.MulWith.impl.85a [concrete] // CHECK:STDOUT: %Core.import_ref.099f8c.13 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.9c3475.5: %Cpp.long.as.DivWith.impl.Op.type.43d = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.DivWith.impl.Op.cc7] -// CHECK:STDOUT: %DivWith.impl_witness_table.5f1 = impl_witness_table (%Core.import_ref.099f8c.13, %Core.import_ref.9c3475.5), @Cpp.long.as.DivWith.impl.a11 [concrete] +// CHECK:STDOUT: %DivWith.impl_witness_table.20f = impl_witness_table (%Core.import_ref.099f8c.13, %Core.import_ref.9c3475.5), @Cpp.long.as.DivWith.impl.a11 [concrete] // CHECK:STDOUT: %Core.import_ref.099f8c.16 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.9c3475.6: %Cpp.long.as.ModWith.impl.Op.type.43d = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.ModWith.impl.Op.cc7] -// CHECK:STDOUT: %ModWith.impl_witness_table.4a1 = impl_witness_table (%Core.import_ref.099f8c.16, %Core.import_ref.9c3475.6), @Cpp.long.as.ModWith.impl.0a4 [concrete] +// CHECK:STDOUT: %ModWith.impl_witness_table.b28 = impl_witness_table (%Core.import_ref.099f8c.16, %Core.import_ref.9c3475.6), @Cpp.long.as.ModWith.impl.0a4 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @ArithmeticHomogeneousLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc8_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.9ce] @@ -2628,7 +2628,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %x.patt: %pattern_type.25e = value_binding_pattern x [concrete = constants.%x.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc9_21.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.9ce] @@ -2642,7 +2642,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %y.patt: %pattern_type.25e = value_binding_pattern y [concrete = constants.%y.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %x.ref.loc11: %Cpp.long = name_ref x, %x -// CHECK:STDOUT: %impl.elem1.loc11: %.3b3 = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Cpp.long.as.Negate.impl.Op] +// CHECK:STDOUT: %impl.elem1.loc11: %.552 = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Cpp.long.as.Negate.impl.Op] // CHECK:STDOUT: %bound_method.loc11: = bound_method %x.ref.loc11, %impl.elem1.loc11 // CHECK:STDOUT: %Cpp.long.as.Negate.impl.Op.call: init %Cpp.long = call %bound_method.loc11(%x.ref.loc11) // CHECK:STDOUT: %.loc11_28.1: %Cpp.long = value_of_initializer %Cpp.long.as.Negate.impl.Op.call @@ -2657,7 +2657,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %x.ref.loc12: %Cpp.long = name_ref x, %x // CHECK:STDOUT: %y.ref.loc12: %Cpp.long = name_ref y, %y -// CHECK:STDOUT: %impl.elem1.loc12: %.4d4 = impl_witness_access constants.%AddWith.impl_witness.ffb, element1 [concrete = constants.%Cpp.long.as.AddWith.impl.Op.cc7] +// CHECK:STDOUT: %impl.elem1.loc12: %.d2f = impl_witness_access constants.%AddWith.impl_witness.24e, element1 [concrete = constants.%Cpp.long.as.AddWith.impl.Op.cc7] // CHECK:STDOUT: %bound_method.loc12: = bound_method %x.ref.loc12, %impl.elem1.loc12 // CHECK:STDOUT: %Cpp.long.as.AddWith.impl.Op.call: init %Cpp.long = call %bound_method.loc12(%x.ref.loc12, %y.ref.loc12) // CHECK:STDOUT: %.loc12_30.1: %Cpp.long = value_of_initializer %Cpp.long.as.AddWith.impl.Op.call @@ -2672,7 +2672,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %x.ref.loc13: %Cpp.long = name_ref x, %x // CHECK:STDOUT: %y.ref.loc13: %Cpp.long = name_ref y, %y -// CHECK:STDOUT: %impl.elem1.loc13: %.fbe = impl_witness_access constants.%SubWith.impl_witness.f5e, element1 [concrete = constants.%Cpp.long.as.SubWith.impl.Op.cc7] +// CHECK:STDOUT: %impl.elem1.loc13: %.8c4 = impl_witness_access constants.%SubWith.impl_witness.a91, element1 [concrete = constants.%Cpp.long.as.SubWith.impl.Op.cc7] // CHECK:STDOUT: %bound_method.loc13: = bound_method %x.ref.loc13, %impl.elem1.loc13 // CHECK:STDOUT: %Cpp.long.as.SubWith.impl.Op.call: init %Cpp.long = call %bound_method.loc13(%x.ref.loc13, %y.ref.loc13) // CHECK:STDOUT: %.loc13_30.1: %Cpp.long = value_of_initializer %Cpp.long.as.SubWith.impl.Op.call @@ -2687,7 +2687,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %x.ref.loc14: %Cpp.long = name_ref x, %x // CHECK:STDOUT: %y.ref.loc14: %Cpp.long = name_ref y, %y -// CHECK:STDOUT: %impl.elem1.loc14: %.f0a = impl_witness_access constants.%MulWith.impl_witness.217, element1 [concrete = constants.%Cpp.long.as.MulWith.impl.Op.cc7] +// CHECK:STDOUT: %impl.elem1.loc14: %.0f6 = impl_witness_access constants.%MulWith.impl_witness.d2b, element1 [concrete = constants.%Cpp.long.as.MulWith.impl.Op.cc7] // CHECK:STDOUT: %bound_method.loc14: = bound_method %x.ref.loc14, %impl.elem1.loc14 // CHECK:STDOUT: %Cpp.long.as.MulWith.impl.Op.call: init %Cpp.long = call %bound_method.loc14(%x.ref.loc14, %y.ref.loc14) // CHECK:STDOUT: %.loc14_30.1: %Cpp.long = value_of_initializer %Cpp.long.as.MulWith.impl.Op.call @@ -2702,7 +2702,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %x.ref.loc15: %Cpp.long = name_ref x, %x // CHECK:STDOUT: %y.ref.loc15: %Cpp.long = name_ref y, %y -// CHECK:STDOUT: %impl.elem1.loc15: %.f65 = impl_witness_access constants.%DivWith.impl_witness.f47, element1 [concrete = constants.%Cpp.long.as.DivWith.impl.Op.cc7] +// CHECK:STDOUT: %impl.elem1.loc15: %.422 = impl_witness_access constants.%DivWith.impl_witness.012, element1 [concrete = constants.%Cpp.long.as.DivWith.impl.Op.cc7] // CHECK:STDOUT: %bound_method.loc15: = bound_method %x.ref.loc15, %impl.elem1.loc15 // CHECK:STDOUT: %Cpp.long.as.DivWith.impl.Op.call: init %Cpp.long = call %bound_method.loc15(%x.ref.loc15, %y.ref.loc15) // CHECK:STDOUT: %.loc15_30.1: %Cpp.long = value_of_initializer %Cpp.long.as.DivWith.impl.Op.call @@ -2717,7 +2717,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %x.ref.loc16: %Cpp.long = name_ref x, %x // CHECK:STDOUT: %y.ref.loc16: %Cpp.long = name_ref y, %y -// CHECK:STDOUT: %impl.elem1.loc16: %.55c = impl_witness_access constants.%ModWith.impl_witness.8f4, element1 [concrete = constants.%Cpp.long.as.ModWith.impl.Op.cc7] +// CHECK:STDOUT: %impl.elem1.loc16: %.b93 = impl_witness_access constants.%ModWith.impl_witness.4cd, element1 [concrete = constants.%Cpp.long.as.ModWith.impl.Op.cc7] // CHECK:STDOUT: %bound_method.loc16: = bound_method %x.ref.loc16, %impl.elem1.loc16 // CHECK:STDOUT: %Cpp.long.as.ModWith.impl.Op.call: init %Cpp.long = call %bound_method.loc16(%x.ref.loc16, %y.ref.loc16) // CHECK:STDOUT: %.loc16_30.1: %Cpp.long = value_of_initializer %Cpp.long.as.ModWith.impl.Op.call @@ -2750,10 +2750,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %T.f84: %Copy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.ImplicitAs.impl.Convert.type.6c4: type = fn_type @T.as_type.as.ImplicitAs.impl.Convert, @T.as_type.as.ImplicitAs.impl(%T.f84) [symbolic] // CHECK:STDOUT: %T.as_type.as.ImplicitAs.impl.Convert.61d: %T.as_type.as.ImplicitAs.impl.Convert.type.6c4 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.b30: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet.b30 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.eac: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet.eac [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -2766,155 +2766,155 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d1bf47.1: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d1bf47.2: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.fc57: = impl_witness imports.%Copy.impl_witness_table.210 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long, (%Copy.impl_witness.fc57) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a9b: = impl_witness imports.%ImplicitAs.impl_witness_table.5b9, @T.as_type.as.ImplicitAs.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.7ac: %ImplicitAs.type.7eb = facet_value %Cpp.long, (%ImplicitAs.impl_witness.a9b) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.515: = impl_witness imports.%AddAssignWith.impl_witness_table.864, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.3f3409.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.3976e1.1: %Cpp.long.as.AddAssignWith.impl.Op.type.3f3409.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.3f3409.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.3976e1.2: %Cpp.long.as.AddAssignWith.impl.Op.type.3f3409.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.8c2: %AddAssignWith.type.a46 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.515) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.900: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.8c2) [concrete] -// CHECK:STDOUT: %.705: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.900, %AddAssignWith.facet.8c2 [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.42c8d0.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.3976e1.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.42c8d0.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.3976e1.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c0b: = impl_witness imports.%Copy.impl_witness_table.6ef [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long, (%Copy.impl_witness.c0b) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.0b7: = impl_witness imports.%ImplicitAs.impl_witness_table.fac, @T.as_type.as.ImplicitAs.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.4d5: %ImplicitAs.type.7eb = facet_value %Cpp.long, (%ImplicitAs.impl_witness.0b7) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.bde: = impl_witness imports.%AddAssignWith.impl_witness_table.015, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.5aae4e.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.9a91b0.1: %Cpp.long.as.AddAssignWith.impl.Op.type.5aae4e.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.5aae4e.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.9a91b0.2: %Cpp.long.as.AddAssignWith.impl.Op.type.5aae4e.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.d47: %AddAssignWith.type.a46 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.bde) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.169: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long, %AddAssignWith.facet.d47) [concrete] +// CHECK:STDOUT: %.c13: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.169, %AddAssignWith.facet.d47 [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.e26f0f.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.9a91b0.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.e26f0f.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.9a91b0.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %SubAssignWith.type.1e0: type = facet_type <@SubAssignWith, @SubAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.5a5f49.1: %Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.5a5f49.2: %Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.2 = struct_value () [symbolic] -// CHECK:STDOUT: %SubAssignWith.impl_witness.6fd: = impl_witness imports.%SubAssignWith.impl_witness_table.b60, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.2438e2.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.b9d526.1: %Cpp.long.as.SubAssignWith.impl.Op.type.2438e2.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.2438e2.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.b9d526.2: %Cpp.long.as.SubAssignWith.impl.Op.type.2438e2.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.390: %SubAssignWith.type.1e0 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.6fd) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.1b6: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.390) [concrete] -// CHECK:STDOUT: %.0c3: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.1b6, %SubAssignWith.facet.390 [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.cf7f25.1: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.b9d526.2, @Cpp.long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.cf7f25.2: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.b9d526.1, @Cpp.long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness.de4: = impl_witness imports.%SubAssignWith.impl_witness_table.4c9, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.daa4b7.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.7dcd14.1: %Cpp.long.as.SubAssignWith.impl.Op.type.daa4b7.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.daa4b7.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.7dcd14.2: %Cpp.long.as.SubAssignWith.impl.Op.type.daa4b7.2 = struct_value () [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.5f2: %SubAssignWith.type.1e0 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.de4) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.7b4: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long, %SubAssignWith.facet.5f2) [concrete] +// CHECK:STDOUT: %.462: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.7b4, %SubAssignWith.facet.5f2 [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.7d108b.1: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.7dcd14.2, @Cpp.long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.7d108b.2: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.7dcd14.1, @Cpp.long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %MulAssignWith.type.59a: type = facet_type <@MulAssignWith, @MulAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.ad1d2e.1: %Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.ad1d2e.2: %Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.2 = struct_value () [symbolic] -// CHECK:STDOUT: %MulAssignWith.impl_witness.a8e: = impl_witness imports.%MulAssignWith.impl_witness_table.9fc, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.58dc2b.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.e55b21.1: %Cpp.long.as.MulAssignWith.impl.Op.type.58dc2b.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.58dc2b.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.e55b21.2: %Cpp.long.as.MulAssignWith.impl.Op.type.58dc2b.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.d55: %MulAssignWith.type.59a = facet_value %Cpp.long, (%MulAssignWith.impl_witness.a8e) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.b00: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.d55) [concrete] -// CHECK:STDOUT: %.dcc: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.b00, %MulAssignWith.facet.d55 [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.4bcff6.1: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.e55b21.2, @Cpp.long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.4bcff6.2: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.e55b21.1, @Cpp.long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness.986: = impl_witness imports.%MulAssignWith.impl_witness_table.510, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.586840.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.499d80.1: %Cpp.long.as.MulAssignWith.impl.Op.type.586840.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.586840.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.499d80.2: %Cpp.long.as.MulAssignWith.impl.Op.type.586840.2 = struct_value () [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.a04: %MulAssignWith.type.59a = facet_value %Cpp.long, (%MulAssignWith.impl_witness.986) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.092: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long, %MulAssignWith.facet.a04) [concrete] +// CHECK:STDOUT: %.978: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.092, %MulAssignWith.facet.a04 [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.3d0ab0.1: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.499d80.2, @Cpp.long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.3d0ab0.2: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.499d80.1, @Cpp.long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %DivAssignWith.type.27a: type = facet_type <@DivAssignWith, @DivAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.79510c.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.f795df.1: %Cpp.long.as.DivAssignWith.impl.Op.type.79510c.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.79510c.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.f795df.2: %Cpp.long.as.DivAssignWith.impl.Op.type.79510c.2 = struct_value () [symbolic] -// CHECK:STDOUT: %DivAssignWith.impl_witness.27b: = impl_witness imports.%DivAssignWith.impl_witness_table.cf6, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.d65fb4.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.e2cc58.1: %Cpp.long.as.DivAssignWith.impl.Op.type.d65fb4.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.d65fb4.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.e2cc58.2: %Cpp.long.as.DivAssignWith.impl.Op.type.d65fb4.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.959: %DivAssignWith.type.27a = facet_value %Cpp.long, (%DivAssignWith.impl_witness.27b) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.890: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.959) [concrete] -// CHECK:STDOUT: %.85d: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.890, %DivAssignWith.facet.959 [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.3d06eb.1: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.e2cc58.2, @Cpp.long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.3d06eb.2: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.e2cc58.1, @Cpp.long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness.12f: = impl_witness imports.%DivAssignWith.impl_witness_table.4db, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.343c92.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.e3d2e9.1: %Cpp.long.as.DivAssignWith.impl.Op.type.343c92.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.343c92.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.e3d2e9.2: %Cpp.long.as.DivAssignWith.impl.Op.type.343c92.2 = struct_value () [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.2c1: %DivAssignWith.type.27a = facet_value %Cpp.long, (%DivAssignWith.impl_witness.12f) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.48b: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long, %DivAssignWith.facet.2c1) [concrete] +// CHECK:STDOUT: %.ed5: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.48b, %DivAssignWith.facet.2c1 [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.e36f1f.1: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.e3d2e9.2, @Cpp.long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.e36f1f.2: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.e3d2e9.1, @Cpp.long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %ModAssignWith.type.f01: type = facet_type <@ModAssignWith, @ModAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.598f91.1: %Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.598f91.2: %Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ModAssignWith.impl_witness.e1a: = impl_witness imports.%ModAssignWith.impl_witness_table.241, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.cd191a.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.11d0fb.1: %Cpp.long.as.ModAssignWith.impl.Op.type.cd191a.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.cd191a.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.11d0fb.2: %Cpp.long.as.ModAssignWith.impl.Op.type.cd191a.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.398: %ModAssignWith.type.f01 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.e1a) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.101: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.398) [concrete] -// CHECK:STDOUT: %.923: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.101, %ModAssignWith.facet.398 [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.55dd89.1: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.11d0fb.2, @Cpp.long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.55dd89.2: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.11d0fb.1, @Cpp.long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness.aca: = impl_witness imports.%ModAssignWith.impl_witness_table.5c7, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.2747eb.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.3b8ca0.1: %Cpp.long.as.ModAssignWith.impl.Op.type.2747eb.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.2747eb.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.3b8ca0.2: %Cpp.long.as.ModAssignWith.impl.Op.type.2747eb.2 = struct_value () [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.16b: %ModAssignWith.type.f01 = facet_value %Cpp.long, (%ModAssignWith.impl_witness.aca) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.755: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long, %ModAssignWith.facet.16b) [concrete] +// CHECK:STDOUT: %.010: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.755, %ModAssignWith.facet.16b [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0ca3a7.1: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.3b8ca0.2, @Cpp.long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0ca3a7.2: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.3b8ca0.1, @Cpp.long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.648: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.3e6759.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.3e6759.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness.906: = impl_witness imports.%BitAndAssignWith.impl_witness_table.cc2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.e0e6c3.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.86fa41.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.e0e6c3.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.e0e6c3.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.86fa41.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.e0e6c3.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.159: %BitAndAssignWith.type.648 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.906) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.0f8: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.159) [concrete] -// CHECK:STDOUT: %.a45: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.0f8, %BitAndAssignWith.facet.159 [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.022b9e.1: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.86fa41.2, @Cpp.long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.022b9e.2: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.86fa41.1, @Cpp.long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness.b68: = impl_witness imports.%BitAndAssignWith.impl_witness_table.727, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.6ca641.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.45716d.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.6ca641.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.6ca641.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.45716d.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.6ca641.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.d2c: %BitAndAssignWith.type.648 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.b68) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.809: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long, %BitAndAssignWith.facet.d2c) [concrete] +// CHECK:STDOUT: %.a30: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.809, %BitAndAssignWith.facet.d2c [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.f5e90d.1: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.45716d.2, @Cpp.long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.f5e90d.2: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.45716d.1, @Cpp.long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.8a5: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.fdf3e1.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.fdf3e1.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness.ecb: = impl_witness imports.%BitOrAssignWith.impl_witness_table.29c, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.70ac7f.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.737b02.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.70ac7f.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.70ac7f.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.737b02.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.70ac7f.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.735: %BitOrAssignWith.type.8a5 = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.ecb) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.ce3: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.735) [concrete] -// CHECK:STDOUT: %.871: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.ce3, %BitOrAssignWith.facet.735 [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.6acabf.1: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.737b02.2, @Cpp.long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.6acabf.2: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.737b02.1, @Cpp.long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness.5d2: = impl_witness imports.%BitOrAssignWith.impl_witness_table.f41, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.61647a.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.7c19a3.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.61647a.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.61647a.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.7c19a3.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.61647a.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.e11: %BitOrAssignWith.type.8a5 = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.5d2) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.c02: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long, %BitOrAssignWith.facet.e11) [concrete] +// CHECK:STDOUT: %.b56: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.c02, %BitOrAssignWith.facet.e11 [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.bced9c.1: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.7c19a3.2, @Cpp.long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.bced9c.2: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.7c19a3.1, @Cpp.long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.efe: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness.360: = impl_witness imports.%BitXorAssignWith.impl_witness_table.910, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.902397.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.067369.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.902397.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.902397.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.067369.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.902397.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.8ae: %BitXorAssignWith.type.efe = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.360) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.375: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.8ae) [concrete] -// CHECK:STDOUT: %.939: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.375, %BitXorAssignWith.facet.8ae [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.4fedc8.1: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.067369.2, @Cpp.long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.4fedc8.2: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.067369.1, @Cpp.long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness.977: = impl_witness imports.%BitXorAssignWith.impl_witness_table.844, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1482e2.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.40cbe6.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1482e2.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1482e2.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.40cbe6.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1482e2.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.c9f: %BitXorAssignWith.type.efe = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.977) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.6d1: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long, %BitXorAssignWith.facet.c9f) [concrete] +// CHECK:STDOUT: %.b72: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.6d1, %BitXorAssignWith.facet.c9f [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.be2e64.1: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.40cbe6.2, @Cpp.long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.be2e64.2: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.40cbe6.1, @Cpp.long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.428: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.4b382e.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.4b382e.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.2 = struct_value () [symbolic] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.153: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.003, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.71c508.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.ec443b.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.71c508.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.71c508.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.ec443b.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.71c508.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.b88: %LeftShiftAssignWith.type.428 = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.153) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.e39: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.b88) [concrete] -// CHECK:STDOUT: %.1be: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.e39, %LeftShiftAssignWith.facet.b88 [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.9c9ee2.1: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.ec443b.2, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.9c9ee2.2: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.ec443b.1, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.a8f: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.12f, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.881f7a.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.d1601d.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.881f7a.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.881f7a.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.d1601d.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.881f7a.2 = struct_value () [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.ae5: %LeftShiftAssignWith.type.428 = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.a8f) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.844: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long, %LeftShiftAssignWith.facet.ae5) [concrete] +// CHECK:STDOUT: %.5a3: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.844, %LeftShiftAssignWith.facet.ae5 [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.019ef0.1: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.d1601d.2, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.019ef0.2: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.d1601d.1, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.6ac: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%Cpp.long)> [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.27a493.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.27a493.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.2 = struct_value () [symbolic] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.531: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.546, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.253402.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.108e17.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.253402.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.253402.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.108e17.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.253402.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.c66: %RightShiftAssignWith.type.6ac = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.531) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.75e: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.c66) [concrete] -// CHECK:STDOUT: %.7cc: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.75e, %RightShiftAssignWith.facet.c66 [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.5a2726.1: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.108e17.2, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.7ac) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.5a2726.2: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.108e17.1, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.7ac) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.539: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.094, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b96724.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.12df33.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b96724.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b96724.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.12df33.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b96724.2 = struct_value () [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.d0b: %RightShiftAssignWith.type.6ac = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.539) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.459: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long, %RightShiftAssignWith.facet.d0b) [concrete] +// CHECK:STDOUT: %.401: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.459, %RightShiftAssignWith.facet.d0b [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.3dff2c.1: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.12df33.2, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.4d5) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.3dff2c.2: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.12df33.1, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.4d5) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long.as.Copy.impl.Op.type: type = fn_type @Cpp.long.as.Copy.impl.Op [concrete] @@ -2927,40 +2927,40 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.051: @T.as_type.as.ImplicitAs.impl.%T.as_type.as.ImplicitAs.impl.Convert.type (%T.as_type.as.ImplicitAs.impl.Convert.type.6c4) = import_ref Core//prelude/types/cpp/int, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.ImplicitAs.impl.%T.as_type.as.ImplicitAs.impl.Convert (constants.%T.as_type.as.ImplicitAs.impl.Convert.61d)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5b9 = impl_witness_table (%Core.import_ref.051), @T.as_type.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.fac = impl_witness_table (%Core.import_ref.051), @T.as_type.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %Core.import_ref.3ce: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long.as.AddAssignWith.impl.Op.d1bf47.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.864 = impl_witness_table (%Core.import_ref.3ce), @Cpp.long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.015 = impl_witness_table (%Core.import_ref.3ce), @Cpp.long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.7fd: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long.as.AddAssignWith.impl.Op.d1bf47.2)] // CHECK:STDOUT: %Core.import_ref.9c3: %Cpp.long.as.Copy.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.210 = impl_witness_table (%Core.import_ref.9c3), @Cpp.long.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.6ef = impl_witness_table (%Core.import_ref.9c3), @Cpp.long.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.720e: @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.type.2 (%Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.2 (constants.%Cpp.long.as.SubAssignWith.impl.Op.5a5f49.1)] -// CHECK:STDOUT: %SubAssignWith.impl_witness_table.b60 = impl_witness_table (%Core.import_ref.720e), @Cpp.long.as.SubAssignWith.impl [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness_table.4c9 = impl_witness_table (%Core.import_ref.720e), @Cpp.long.as.SubAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.3ae: @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.type.1 (%Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.1 (constants.%Cpp.long.as.SubAssignWith.impl.Op.5a5f49.2)] // CHECK:STDOUT: %Core.import_ref.c1e: @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.type.2 (%Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.2 (constants.%Cpp.long.as.MulAssignWith.impl.Op.ad1d2e.1)] -// CHECK:STDOUT: %MulAssignWith.impl_witness_table.9fc = impl_witness_table (%Core.import_ref.c1e), @Cpp.long.as.MulAssignWith.impl [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness_table.510 = impl_witness_table (%Core.import_ref.c1e), @Cpp.long.as.MulAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.a7f: @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.type.1 (%Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.1 (constants.%Cpp.long.as.MulAssignWith.impl.Op.ad1d2e.2)] // CHECK:STDOUT: %Core.import_ref.c2c: @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.type.2 (%Cpp.long.as.DivAssignWith.impl.Op.type.79510c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.2 (constants.%Cpp.long.as.DivAssignWith.impl.Op.f795df.1)] -// CHECK:STDOUT: %DivAssignWith.impl_witness_table.cf6 = impl_witness_table (%Core.import_ref.c2c), @Cpp.long.as.DivAssignWith.impl [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness_table.4db = impl_witness_table (%Core.import_ref.c2c), @Cpp.long.as.DivAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.8c3: @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.type.1 (%Cpp.long.as.DivAssignWith.impl.Op.type.79510c.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.1 (constants.%Cpp.long.as.DivAssignWith.impl.Op.f795df.2)] // CHECK:STDOUT: %Core.import_ref.db0: @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.type.2 (%Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.2 (constants.%Cpp.long.as.ModAssignWith.impl.Op.598f91.1)] -// CHECK:STDOUT: %ModAssignWith.impl_witness_table.241 = impl_witness_table (%Core.import_ref.db0), @Cpp.long.as.ModAssignWith.impl [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness_table.5c7 = impl_witness_table (%Core.import_ref.db0), @Cpp.long.as.ModAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.da3: @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.type.1 (%Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.1 (constants.%Cpp.long.as.ModAssignWith.impl.Op.598f91.2)] // CHECK:STDOUT: %Core.import_ref.8ce: @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.type.2 (%Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitAndAssignWith.impl.Op.3e6759.1)] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.cc2 = impl_witness_table (%Core.import_ref.8ce), @Cpp.long.as.BitAndAssignWith.impl [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.727 = impl_witness_table (%Core.import_ref.8ce), @Cpp.long.as.BitAndAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.c9e: @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.type.1 (%Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.1 (constants.%Cpp.long.as.BitAndAssignWith.impl.Op.3e6759.2)] // CHECK:STDOUT: %Core.import_ref.fb9: @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.type.2 (%Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitOrAssignWith.impl.Op.fdf3e1.1)] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.29c = impl_witness_table (%Core.import_ref.fb9), @Cpp.long.as.BitOrAssignWith.impl [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.f41 = impl_witness_table (%Core.import_ref.fb9), @Cpp.long.as.BitOrAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.add: @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.type.1 (%Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.1 (constants.%Cpp.long.as.BitOrAssignWith.impl.Op.fdf3e1.2)] -// CHECK:STDOUT: %Core.import_ref.fbf: @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.1)] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.910 = impl_witness_table (%Core.import_ref.fbf), @Cpp.long.as.BitXorAssignWith.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.fbf8: @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.1)] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.844 = impl_witness_table (%Core.import_ref.fbf8), @Cpp.long.as.BitXorAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.a72: @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.type.1 (%Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.1 (constants.%Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.2)] // CHECK:STDOUT: %Core.import_ref.282: @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.2 (%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.2 (constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.4b382e.1)] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.003 = impl_witness_table (%Core.import_ref.282), @Cpp.long.as.LeftShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.12f = impl_witness_table (%Core.import_ref.282), @Cpp.long.as.LeftShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.e4d: @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.1 (%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.1 (constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.4b382e.2)] // CHECK:STDOUT: %Core.import_ref.769: @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.type.2 (%Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.2 (constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.27a493.1)] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.546 = impl_witness_table (%Core.import_ref.769), @Cpp.long.as.RightShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.094 = impl_witness_table (%Core.import_ref.769), @Cpp.long.as.RightShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.127: @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.type.1 (%Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.1 (constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.27a493.2)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2968,7 +2968,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc8_3: init %Cpp.long = converted %int_1.loc8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.9ce] @@ -2984,7 +2984,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %Cpp.long = var_storage %b.var_patt // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc9_3: init %Cpp.long = converted %int_1.loc9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.9ce] @@ -3000,172 +3000,172 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc11: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc11: %.705 = impl_witness_access constants.%AddAssignWith.impl_witness.515, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.3976e1.2] +// CHECK:STDOUT: %impl.elem0.loc11: %.c13 = impl_witness_access constants.%AddAssignWith.impl_witness.bde, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.9a91b0.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %a.ref.loc11, %impl.elem0.loc11 -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.42c8d0.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.e26f0f.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %a.ref.loc11, %specific_fn.loc11 // CHECK:STDOUT: %.loc11_8: %Cpp.long = acquire_value %b.ref.loc11 -// CHECK:STDOUT: %.loc11_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.3f3409.1 = specific_constant imports.%Core.Op.7fd, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.3976e1.1] -// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long.as.AddAssignWith.impl.Op.type.3f3409.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.3976e1.1] +// CHECK:STDOUT: %.loc11_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.5aae4e.1 = specific_constant imports.%Core.Op.7fd, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.9a91b0.1] +// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long.as.AddAssignWith.impl.Op.type.5aae4e.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.9a91b0.1] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref.loc11, %Op.ref.loc11 -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.42c8d0.2] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.e26f0f.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %a.ref.loc11, %Cpp.long.as.AddAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc11_5.3(%a.ref.loc11, %.loc11_8) // CHECK:STDOUT: %a.ref.loc12: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc12: %.0c3 = impl_witness_access constants.%SubAssignWith.impl_witness.6fd, element0 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.b9d526.2] +// CHECK:STDOUT: %impl.elem0.loc12: %.462 = impl_witness_access constants.%SubAssignWith.impl_witness.de4, element0 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.7dcd14.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %a.ref.loc12, %impl.elem0.loc12 -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Cpp.long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.cf7f25.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Cpp.long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.7d108b.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %a.ref.loc12, %specific_fn.loc12 // CHECK:STDOUT: %.loc12_8: %Cpp.long = acquire_value %b.ref.loc12 -// CHECK:STDOUT: %.loc12_5.3: %Cpp.long.as.SubAssignWith.impl.Op.type.2438e2.1 = specific_constant imports.%Core.Op.3ae, @Cpp.long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.b9d526.1] -// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long.as.SubAssignWith.impl.Op.type.2438e2.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.b9d526.1] +// CHECK:STDOUT: %.loc12_5.3: %Cpp.long.as.SubAssignWith.impl.Op.type.daa4b7.1 = specific_constant imports.%Core.Op.3ae, @Cpp.long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.7dcd14.1] +// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long.as.SubAssignWith.impl.Op.type.daa4b7.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.7dcd14.1] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.bound: = bound_method %a.ref.loc12, %Op.ref.loc12 -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.cf7f25.2] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.7d108b.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %a.ref.loc12, %Cpp.long.as.SubAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc12_5.3(%a.ref.loc12, %.loc12_8) // CHECK:STDOUT: %a.ref.loc13: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13: %.dcc = impl_witness_access constants.%MulAssignWith.impl_witness.a8e, element0 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.e55b21.2] +// CHECK:STDOUT: %impl.elem0.loc13: %.978 = impl_witness_access constants.%MulAssignWith.impl_witness.986, element0 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.499d80.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %a.ref.loc13, %impl.elem0.loc13 -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Cpp.long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.4bcff6.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Cpp.long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.3d0ab0.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %a.ref.loc13, %specific_fn.loc13 // CHECK:STDOUT: %.loc13_8: %Cpp.long = acquire_value %b.ref.loc13 -// CHECK:STDOUT: %.loc13_5.3: %Cpp.long.as.MulAssignWith.impl.Op.type.58dc2b.1 = specific_constant imports.%Core.Op.a7f, @Cpp.long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.e55b21.1] -// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long.as.MulAssignWith.impl.Op.type.58dc2b.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.e55b21.1] +// CHECK:STDOUT: %.loc13_5.3: %Cpp.long.as.MulAssignWith.impl.Op.type.586840.1 = specific_constant imports.%Core.Op.a7f, @Cpp.long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.499d80.1] +// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long.as.MulAssignWith.impl.Op.type.586840.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.499d80.1] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.bound: = bound_method %a.ref.loc13, %Op.ref.loc13 -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.4bcff6.2] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.3d0ab0.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %a.ref.loc13, %Cpp.long.as.MulAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc13_5.3(%a.ref.loc13, %.loc13_8) // CHECK:STDOUT: %a.ref.loc14: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc14: %.85d = impl_witness_access constants.%DivAssignWith.impl_witness.27b, element0 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.e2cc58.2] +// CHECK:STDOUT: %impl.elem0.loc14: %.ed5 = impl_witness_access constants.%DivAssignWith.impl_witness.12f, element0 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.e3d2e9.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %a.ref.loc14, %impl.elem0.loc14 -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Cpp.long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.3d06eb.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Cpp.long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.e36f1f.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %a.ref.loc14, %specific_fn.loc14 // CHECK:STDOUT: %.loc14_8: %Cpp.long = acquire_value %b.ref.loc14 -// CHECK:STDOUT: %.loc14_5.3: %Cpp.long.as.DivAssignWith.impl.Op.type.d65fb4.1 = specific_constant imports.%Core.Op.8c3, @Cpp.long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.e2cc58.1] -// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long.as.DivAssignWith.impl.Op.type.d65fb4.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.e2cc58.1] +// CHECK:STDOUT: %.loc14_5.3: %Cpp.long.as.DivAssignWith.impl.Op.type.343c92.1 = specific_constant imports.%Core.Op.8c3, @Cpp.long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.e3d2e9.1] +// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long.as.DivAssignWith.impl.Op.type.343c92.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.e3d2e9.1] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.bound: = bound_method %a.ref.loc14, %Op.ref.loc14 -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.3d06eb.2] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.e36f1f.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %a.ref.loc14, %Cpp.long.as.DivAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc14_5.3(%a.ref.loc14, %.loc14_8) // CHECK:STDOUT: %a.ref.loc15: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc15: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc15: %.923 = impl_witness_access constants.%ModAssignWith.impl_witness.e1a, element0 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.11d0fb.2] +// CHECK:STDOUT: %impl.elem0.loc15: %.010 = impl_witness_access constants.%ModAssignWith.impl_witness.aca, element0 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.3b8ca0.2] // CHECK:STDOUT: %bound_method.loc15_5.1: = bound_method %a.ref.loc15, %impl.elem0.loc15 -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Cpp.long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.55dd89.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Cpp.long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0ca3a7.1] // CHECK:STDOUT: %bound_method.loc15_5.2: = bound_method %a.ref.loc15, %specific_fn.loc15 // CHECK:STDOUT: %.loc15_8: %Cpp.long = acquire_value %b.ref.loc15 -// CHECK:STDOUT: %.loc15_5.3: %Cpp.long.as.ModAssignWith.impl.Op.type.cd191a.1 = specific_constant imports.%Core.Op.da3, @Cpp.long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.11d0fb.1] -// CHECK:STDOUT: %Op.ref.loc15: %Cpp.long.as.ModAssignWith.impl.Op.type.cd191a.1 = name_ref Op, %.loc15_5.3 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.11d0fb.1] +// CHECK:STDOUT: %.loc15_5.3: %Cpp.long.as.ModAssignWith.impl.Op.type.2747eb.1 = specific_constant imports.%Core.Op.da3, @Cpp.long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.3b8ca0.1] +// CHECK:STDOUT: %Op.ref.loc15: %Cpp.long.as.ModAssignWith.impl.Op.type.2747eb.1 = name_ref Op, %.loc15_5.3 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.3b8ca0.1] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.bound: = bound_method %a.ref.loc15, %Op.ref.loc15 -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc15, @Cpp.long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.55dd89.2] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc15, @Cpp.long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0ca3a7.2] // CHECK:STDOUT: %bound_method.loc15_5.3: = bound_method %a.ref.loc15, %Cpp.long.as.ModAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc15_5.3(%a.ref.loc15, %.loc15_8) // CHECK:STDOUT: %a.ref.loc17: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc17: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc17: %.a45 = impl_witness_access constants.%BitAndAssignWith.impl_witness.906, element0 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.86fa41.2] +// CHECK:STDOUT: %impl.elem0.loc17: %.a30 = impl_witness_access constants.%BitAndAssignWith.impl_witness.b68, element0 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.45716d.2] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %a.ref.loc17, %impl.elem0.loc17 -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Cpp.long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.022b9e.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Cpp.long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.f5e90d.1] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %a.ref.loc17, %specific_fn.loc17 // CHECK:STDOUT: %.loc17_8: %Cpp.long = acquire_value %b.ref.loc17 -// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.BitAndAssignWith.impl.Op.type.e0e6c3.1 = specific_constant imports.%Core.Op.c9e, @Cpp.long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.86fa41.1] -// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long.as.BitAndAssignWith.impl.Op.type.e0e6c3.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.86fa41.1] +// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.BitAndAssignWith.impl.Op.type.6ca641.1 = specific_constant imports.%Core.Op.c9e, @Cpp.long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.45716d.1] +// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long.as.BitAndAssignWith.impl.Op.type.6ca641.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.45716d.1] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.bound: = bound_method %a.ref.loc17, %Op.ref.loc17 -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.022b9e.2] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.f5e90d.2] // CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %a.ref.loc17, %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc17_5.3(%a.ref.loc17, %.loc17_8) // CHECK:STDOUT: %a.ref.loc18: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc18: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc18: %.871 = impl_witness_access constants.%BitOrAssignWith.impl_witness.ecb, element0 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.737b02.2] +// CHECK:STDOUT: %impl.elem0.loc18: %.b56 = impl_witness_access constants.%BitOrAssignWith.impl_witness.5d2, element0 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.7c19a3.2] // CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %a.ref.loc18, %impl.elem0.loc18 -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Cpp.long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.6acabf.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Cpp.long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.bced9c.1] // CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %a.ref.loc18, %specific_fn.loc18 // CHECK:STDOUT: %.loc18_8: %Cpp.long = acquire_value %b.ref.loc18 -// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.BitOrAssignWith.impl.Op.type.70ac7f.1 = specific_constant imports.%Core.Op.add, @Cpp.long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.737b02.1] -// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long.as.BitOrAssignWith.impl.Op.type.70ac7f.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.737b02.1] +// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.BitOrAssignWith.impl.Op.type.61647a.1 = specific_constant imports.%Core.Op.add, @Cpp.long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.7c19a3.1] +// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long.as.BitOrAssignWith.impl.Op.type.61647a.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.7c19a3.1] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.bound: = bound_method %a.ref.loc18, %Op.ref.loc18 -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.6acabf.2] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.bced9c.2] // CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %a.ref.loc18, %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc18_5.3(%a.ref.loc18, %.loc18_8) // CHECK:STDOUT: %a.ref.loc19: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc19: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc19: %.939 = impl_witness_access constants.%BitXorAssignWith.impl_witness.360, element0 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.067369.2] +// CHECK:STDOUT: %impl.elem0.loc19: %.b72 = impl_witness_access constants.%BitXorAssignWith.impl_witness.977, element0 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.40cbe6.2] // CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %a.ref.loc19, %impl.elem0.loc19 -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Cpp.long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.4fedc8.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Cpp.long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.be2e64.1] // CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %a.ref.loc19, %specific_fn.loc19 // CHECK:STDOUT: %.loc19_8: %Cpp.long = acquire_value %b.ref.loc19 -// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.BitXorAssignWith.impl.Op.type.902397.1 = specific_constant imports.%Core.Op.a72, @Cpp.long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.067369.1] -// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long.as.BitXorAssignWith.impl.Op.type.902397.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.067369.1] +// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1482e2.1 = specific_constant imports.%Core.Op.a72, @Cpp.long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.40cbe6.1] +// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long.as.BitXorAssignWith.impl.Op.type.1482e2.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.40cbe6.1] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.bound: = bound_method %a.ref.loc19, %Op.ref.loc19 -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.4fedc8.2] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.be2e64.2] // CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %a.ref.loc19, %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc19_5.3(%a.ref.loc19, %.loc19_8) // CHECK:STDOUT: %a.ref.loc20: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc20: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc20: %.1be = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.153, element0 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.ec443b.2] +// CHECK:STDOUT: %impl.elem0.loc20: %.5a3 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.a8f, element0 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.d1601d.2] // CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %a.ref.loc20, %impl.elem0.loc20 -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.9c9ee2.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.019ef0.1] // CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %a.ref.loc20, %specific_fn.loc20 // CHECK:STDOUT: %.loc20_9: %Cpp.long = acquire_value %b.ref.loc20 -// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.71c508.1 = specific_constant imports.%Core.Op.e4d, @Cpp.long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.ec443b.1] -// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.71c508.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.ec443b.1] +// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.881f7a.1 = specific_constant imports.%Core.Op.e4d, @Cpp.long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.d1601d.1] +// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.881f7a.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.d1601d.1] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc20, %Op.ref.loc20 -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.9c9ee2.2] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.019ef0.2] // CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %a.ref.loc20, %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc20_5.3(%a.ref.loc20, %.loc20_9) // CHECK:STDOUT: %a.ref.loc21: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc21: ref %Cpp.long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc21: %.7cc = impl_witness_access constants.%RightShiftAssignWith.impl_witness.531, element0 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.108e17.2] +// CHECK:STDOUT: %impl.elem0.loc21: %.401 = impl_witness_access constants.%RightShiftAssignWith.impl_witness.539, element0 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.12df33.2] // CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %a.ref.loc21, %impl.elem0.loc21 -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.a9b) [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.7ac] -// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.5a2726.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.7eb = facet_value constants.%Cpp.long, (constants.%ImplicitAs.impl_witness.0b7) [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.7eb = converted constants.%Cpp.long, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.4d5] +// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.3dff2c.1] // CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %a.ref.loc21, %specific_fn.loc21 // CHECK:STDOUT: %.loc21_9: %Cpp.long = acquire_value %b.ref.loc21 -// CHECK:STDOUT: %.loc21_5.3: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.253402.1 = specific_constant imports.%Core.Op.127, @Cpp.long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.108e17.1] -// CHECK:STDOUT: %Op.ref.loc21: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.253402.1 = name_ref Op, %.loc21_5.3 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.108e17.1] +// CHECK:STDOUT: %.loc21_5.3: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b96724.1 = specific_constant imports.%Core.Op.127, @Cpp.long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.12df33.1] +// CHECK:STDOUT: %Op.ref.loc21: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.b96724.1 = name_ref Op, %.loc21_5.3 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.12df33.1] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc21, %Op.ref.loc21 -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc21, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7ac) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.5a2726.2] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc21, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.4d5) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.3dff2c.2] // CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %a.ref.loc21, %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc21_5.3(%a.ref.loc21, %.loc21_9) // CHECK:STDOUT: %Destroy.Op.bound.loc9: = bound_method %b.var, constants.%Destroy.Op.1a2547.3 @@ -3200,10 +3200,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.patt: %pattern_type.25e = ref_binding_pattern a [concrete] // CHECK:STDOUT: %a.var_patt: %pattern_type.25e = var_pattern %a.patt [concrete] // CHECK:STDOUT: %ImplicitAs.type.7eb: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.b30: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet.b30 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.eac: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet.eac [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -3214,20 +3214,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d1bf47.1: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d1bf47.2: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.f82: = impl_witness imports.%ImplicitAs.impl_witness_table.a75 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.ce4: %ImplicitAs.type.7eb = facet_value %i32, (%ImplicitAs.impl_witness.f82) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.b48: = impl_witness imports.%AddAssignWith.impl_witness_table.864, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d3c936.1: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d3c936.2: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.58f: %AddAssignWith.type.941 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.b48) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.e0e: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.58f) [concrete] -// CHECK:STDOUT: %.68d: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.e0e, %AddAssignWith.facet.58f [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.d4d8c8.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.d3c936.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.d4d8c8.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.d3c936.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.59b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.9c4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.59b, %ImplicitAs.facet.ce4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2e1: = impl_witness imports.%ImplicitAs.impl_witness_table.96f [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.2ac: %ImplicitAs.type.7eb = facet_value %i32, (%ImplicitAs.impl_witness.2e1) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.1cb: = impl_witness imports.%AddAssignWith.impl_witness_table.015, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.400e0c.1: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.400e0c.2: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.bbf: %AddAssignWith.type.941 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.1cb) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.6b2: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.bbf) [concrete] +// CHECK:STDOUT: %.76a: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.6b2, %AddAssignWith.facet.bbf [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9957b9.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.400e0c.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9957b9.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.400e0c.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f2d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.08c: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f2d, %ImplicitAs.facet.2ac [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert: %i32.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %SubAssignWith.type.9c3: type = facet_type <@SubAssignWith, @SubAssignWith(%i32)> [concrete] @@ -3235,136 +3235,136 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.5a5f49.1: %Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.5a5f49.2: %Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.2 = struct_value () [symbolic] -// CHECK:STDOUT: %SubAssignWith.impl_witness.9be: = impl_witness imports.%SubAssignWith.impl_witness_table.b60, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.b59bc8.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.e73c53.1: %Cpp.long.as.SubAssignWith.impl.Op.type.b59bc8.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.b59bc8.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.e73c53.2: %Cpp.long.as.SubAssignWith.impl.Op.type.b59bc8.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.6fa: %SubAssignWith.type.9c3 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.9be) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.18e: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%i32, %SubAssignWith.facet.6fa) [concrete] -// CHECK:STDOUT: %.8cc: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.18e, %SubAssignWith.facet.6fa [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.ed33cb.1: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.e73c53.2, @Cpp.long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.ed33cb.2: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.e73c53.1, @Cpp.long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness.680: = impl_witness imports.%SubAssignWith.impl_witness_table.4c9, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.9ad35e.1: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.2, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.1587d8.1: %Cpp.long.as.SubAssignWith.impl.Op.type.9ad35e.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.type.9ad35e.2: type = fn_type @Cpp.long.as.SubAssignWith.impl.Op.1, @Cpp.long.as.SubAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.1587d8.2: %Cpp.long.as.SubAssignWith.impl.Op.type.9ad35e.2 = struct_value () [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.d06: %SubAssignWith.type.9c3 = facet_value %Cpp.long, (%SubAssignWith.impl_witness.680) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.46f: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%i32, %SubAssignWith.facet.d06) [concrete] +// CHECK:STDOUT: %.7bd: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.46f, %SubAssignWith.facet.d06 [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.8d8f78.1: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.1587d8.2, @Cpp.long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn.8d8f78.2: = specific_function %Cpp.long.as.SubAssignWith.impl.Op.1587d8.1, @Cpp.long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %MulAssignWith.type.d34: type = facet_type <@MulAssignWith, @MulAssignWith(%i32)> [concrete] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.ad1d2e.1: %Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.ad1d2e.2: %Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.2 = struct_value () [symbolic] -// CHECK:STDOUT: %MulAssignWith.impl_witness.fb1: = impl_witness imports.%MulAssignWith.impl_witness_table.9fc, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.6461a2.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.6fa29e.1: %Cpp.long.as.MulAssignWith.impl.Op.type.6461a2.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.6461a2.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.6fa29e.2: %Cpp.long.as.MulAssignWith.impl.Op.type.6461a2.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.a69: %MulAssignWith.type.d34 = facet_value %Cpp.long, (%MulAssignWith.impl_witness.fb1) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.dde: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%i32, %MulAssignWith.facet.a69) [concrete] -// CHECK:STDOUT: %.e51: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.dde, %MulAssignWith.facet.a69 [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.674e38.1: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.6fa29e.2, @Cpp.long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.674e38.2: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.6fa29e.1, @Cpp.long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness.eda: = impl_witness imports.%MulAssignWith.impl_witness_table.510, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.dccdee.1: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.2, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.fa6097.1: %Cpp.long.as.MulAssignWith.impl.Op.type.dccdee.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.type.dccdee.2: type = fn_type @Cpp.long.as.MulAssignWith.impl.Op.1, @Cpp.long.as.MulAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.fa6097.2: %Cpp.long.as.MulAssignWith.impl.Op.type.dccdee.2 = struct_value () [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.5b9: %MulAssignWith.type.d34 = facet_value %Cpp.long, (%MulAssignWith.impl_witness.eda) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.55c: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%i32, %MulAssignWith.facet.5b9) [concrete] +// CHECK:STDOUT: %.b6a: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.55c, %MulAssignWith.facet.5b9 [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.b71d7f.1: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.fa6097.2, @Cpp.long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn.b71d7f.2: = specific_function %Cpp.long.as.MulAssignWith.impl.Op.fa6097.1, @Cpp.long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %DivAssignWith.type.57c: type = facet_type <@DivAssignWith, @DivAssignWith(%i32)> [concrete] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.79510c.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.f795df.1: %Cpp.long.as.DivAssignWith.impl.Op.type.79510c.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.79510c.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.f795df.2: %Cpp.long.as.DivAssignWith.impl.Op.type.79510c.2 = struct_value () [symbolic] -// CHECK:STDOUT: %DivAssignWith.impl_witness.1c3: = impl_witness imports.%DivAssignWith.impl_witness_table.cf6, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.5edb2e.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.aa5aae.1: %Cpp.long.as.DivAssignWith.impl.Op.type.5edb2e.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.5edb2e.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.aa5aae.2: %Cpp.long.as.DivAssignWith.impl.Op.type.5edb2e.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.062: %DivAssignWith.type.57c = facet_value %Cpp.long, (%DivAssignWith.impl_witness.1c3) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.370: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%i32, %DivAssignWith.facet.062) [concrete] -// CHECK:STDOUT: %.182: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.370, %DivAssignWith.facet.062 [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.53323c.1: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.aa5aae.2, @Cpp.long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.53323c.2: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.aa5aae.1, @Cpp.long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness.da4: = impl_witness imports.%DivAssignWith.impl_witness_table.4db, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.952b8b.1: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.2, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.3612b2.1: %Cpp.long.as.DivAssignWith.impl.Op.type.952b8b.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.type.952b8b.2: type = fn_type @Cpp.long.as.DivAssignWith.impl.Op.1, @Cpp.long.as.DivAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.3612b2.2: %Cpp.long.as.DivAssignWith.impl.Op.type.952b8b.2 = struct_value () [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.792: %DivAssignWith.type.57c = facet_value %Cpp.long, (%DivAssignWith.impl_witness.da4) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.ce4: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%i32, %DivAssignWith.facet.792) [concrete] +// CHECK:STDOUT: %.600: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.ce4, %DivAssignWith.facet.792 [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.08bc41.1: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.3612b2.2, @Cpp.long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn.08bc41.2: = specific_function %Cpp.long.as.DivAssignWith.impl.Op.3612b2.1, @Cpp.long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %ModAssignWith.type.87b: type = facet_type <@ModAssignWith, @ModAssignWith(%i32)> [concrete] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.598f91.1: %Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.598f91.2: %Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ModAssignWith.impl_witness.535: = impl_witness imports.%ModAssignWith.impl_witness_table.241, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.0bedac.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.be932a.1: %Cpp.long.as.ModAssignWith.impl.Op.type.0bedac.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.0bedac.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.be932a.2: %Cpp.long.as.ModAssignWith.impl.Op.type.0bedac.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.4bd: %ModAssignWith.type.87b = facet_value %Cpp.long, (%ModAssignWith.impl_witness.535) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.5a9: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%i32, %ModAssignWith.facet.4bd) [concrete] -// CHECK:STDOUT: %.3cd: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.5a9, %ModAssignWith.facet.4bd [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.922dd8.1: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.be932a.2, @Cpp.long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.922dd8.2: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.be932a.1, @Cpp.long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness.07f: = impl_witness imports.%ModAssignWith.impl_witness_table.5c7, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.4e804d.1: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.2, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.3bd399.1: %Cpp.long.as.ModAssignWith.impl.Op.type.4e804d.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.type.4e804d.2: type = fn_type @Cpp.long.as.ModAssignWith.impl.Op.1, @Cpp.long.as.ModAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.3bd399.2: %Cpp.long.as.ModAssignWith.impl.Op.type.4e804d.2 = struct_value () [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.bb0: %ModAssignWith.type.87b = facet_value %Cpp.long, (%ModAssignWith.impl_witness.07f) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.7dd: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%i32, %ModAssignWith.facet.bb0) [concrete] +// CHECK:STDOUT: %.67e: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.7dd, %ModAssignWith.facet.bb0 [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0cd224.1: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.3bd399.2, @Cpp.long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0cd224.2: = specific_function %Cpp.long.as.ModAssignWith.impl.Op.3bd399.1, @Cpp.long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.9b1: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%i32)> [concrete] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.3e6759.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.3e6759.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness.ca3: = impl_witness imports.%BitAndAssignWith.impl_witness_table.cc2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.4ea5c7.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.c55c9d.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.4ea5c7.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.4ea5c7.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.c55c9d.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.4ea5c7.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.241: %BitAndAssignWith.type.9b1 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.ca3) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.99b: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%i32, %BitAndAssignWith.facet.241) [concrete] -// CHECK:STDOUT: %.d84: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.99b, %BitAndAssignWith.facet.241 [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.b2e276.1: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.c55c9d.2, @Cpp.long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.b2e276.2: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.c55c9d.1, @Cpp.long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness.e37: = impl_witness imports.%BitAndAssignWith.impl_witness_table.727, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.39be42.1: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.2, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.a2ff6b.1: %Cpp.long.as.BitAndAssignWith.impl.Op.type.39be42.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.type.39be42.2: type = fn_type @Cpp.long.as.BitAndAssignWith.impl.Op.1, @Cpp.long.as.BitAndAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.a2ff6b.2: %Cpp.long.as.BitAndAssignWith.impl.Op.type.39be42.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.914: %BitAndAssignWith.type.9b1 = facet_value %Cpp.long, (%BitAndAssignWith.impl_witness.e37) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.35c: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%i32, %BitAndAssignWith.facet.914) [concrete] +// CHECK:STDOUT: %.0f7: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.35c, %BitAndAssignWith.facet.914 [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.4998ac.1: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.a2ff6b.2, @Cpp.long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.4998ac.2: = specific_function %Cpp.long.as.BitAndAssignWith.impl.Op.a2ff6b.1, @Cpp.long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.f2b: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%i32)> [concrete] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.fdf3e1.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.fdf3e1.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness.936: = impl_witness imports.%BitOrAssignWith.impl_witness_table.29c, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.1bf7d5.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.f127f0.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.1bf7d5.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.1bf7d5.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.f127f0.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.1bf7d5.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.5a5: %BitOrAssignWith.type.f2b = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.936) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.615: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%i32, %BitOrAssignWith.facet.5a5) [concrete] -// CHECK:STDOUT: %.0f7: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.615, %BitOrAssignWith.facet.5a5 [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.1bd8b4.1: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.f127f0.2, @Cpp.long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.1bd8b4.2: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.f127f0.1, @Cpp.long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness.9c5: = impl_witness imports.%BitOrAssignWith.impl_witness_table.f41, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.36aa58.1: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.2, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.d123fd.1: %Cpp.long.as.BitOrAssignWith.impl.Op.type.36aa58.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.type.36aa58.2: type = fn_type @Cpp.long.as.BitOrAssignWith.impl.Op.1, @Cpp.long.as.BitOrAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.d123fd.2: %Cpp.long.as.BitOrAssignWith.impl.Op.type.36aa58.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.27f: %BitOrAssignWith.type.f2b = facet_value %Cpp.long, (%BitOrAssignWith.impl_witness.9c5) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.6c7: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%i32, %BitOrAssignWith.facet.27f) [concrete] +// CHECK:STDOUT: %.73b: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.6c7, %BitOrAssignWith.facet.27f [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.0e12d0.1: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.d123fd.2, @Cpp.long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.0e12d0.2: = specific_function %Cpp.long.as.BitOrAssignWith.impl.Op.d123fd.1, @Cpp.long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.112: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%i32)> [concrete] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness.7a9: = impl_witness imports.%BitXorAssignWith.impl_witness_table.910, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.d0da74.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.99c425.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.d0da74.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.d0da74.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.99c425.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.d0da74.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.9d3: %BitXorAssignWith.type.112 = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.7a9) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.089: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%i32, %BitXorAssignWith.facet.9d3) [concrete] -// CHECK:STDOUT: %.580: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.089, %BitXorAssignWith.facet.9d3 [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.503a1b.1: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.99c425.2, @Cpp.long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.503a1b.2: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.99c425.1, @Cpp.long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness.3ec: = impl_witness imports.%BitXorAssignWith.impl_witness_table.844, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.92ff22.1: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.2, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.230930.1: %Cpp.long.as.BitXorAssignWith.impl.Op.type.92ff22.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.type.92ff22.2: type = fn_type @Cpp.long.as.BitXorAssignWith.impl.Op.1, @Cpp.long.as.BitXorAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.230930.2: %Cpp.long.as.BitXorAssignWith.impl.Op.type.92ff22.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.c41: %BitXorAssignWith.type.112 = facet_value %Cpp.long, (%BitXorAssignWith.impl_witness.3ec) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.f5a: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%i32, %BitXorAssignWith.facet.c41) [concrete] +// CHECK:STDOUT: %.a40: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.f5a, %BitXorAssignWith.facet.c41 [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.45b0ba.1: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.230930.2, @Cpp.long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.45b0ba.2: = specific_function %Cpp.long.as.BitXorAssignWith.impl.Op.230930.1, @Cpp.long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.fae: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%i32)> [concrete] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.4b382e.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.4b382e.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.2 = struct_value () [symbolic] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.4c7: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.003, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.8878df.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.80597f.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.8878df.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.8878df.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.80597f.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.8878df.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.a0f: %LeftShiftAssignWith.type.fae = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.4c7) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.fbb: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%i32, %LeftShiftAssignWith.facet.a0f) [concrete] -// CHECK:STDOUT: %.683: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.fbb, %LeftShiftAssignWith.facet.a0f [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.df2fa0.1: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.80597f.2, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.df2fa0.2: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.80597f.1, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.55c: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.12f, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c44424.1: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.ee6af6.1: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c44424.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c44424.2: type = fn_type @Cpp.long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.ee6af6.2: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c44424.2 = struct_value () [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.8e4: %LeftShiftAssignWith.type.fae = facet_value %Cpp.long, (%LeftShiftAssignWith.impl_witness.55c) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.a5c: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%i32, %LeftShiftAssignWith.facet.8e4) [concrete] +// CHECK:STDOUT: %.335: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.a5c, %LeftShiftAssignWith.facet.8e4 [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.ca972d.1: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.ee6af6.2, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.ca972d.2: = specific_function %Cpp.long.as.LeftShiftAssignWith.impl.Op.ee6af6.1, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.af5: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%i32)> [concrete] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.27a493.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.27a493.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.2 = struct_value () [symbolic] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.348: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.546, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.3aa338.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.76ada1.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.3aa338.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.3aa338.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.76ada1.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.3aa338.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.4cd: %RightShiftAssignWith.type.af5 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.348) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.caf: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%i32, %RightShiftAssignWith.facet.4cd) [concrete] -// CHECK:STDOUT: %.17e: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.caf, %RightShiftAssignWith.facet.4cd [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.708585.1: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.76ada1.2, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.708585.2: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.76ada1.1, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.554: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.094, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.2ebe19.1: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.30352f.1: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.2ebe19.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.2ebe19.2: type = fn_type @Cpp.long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.30352f.2: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.2ebe19.2 = struct_value () [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.940: %RightShiftAssignWith.type.af5 = facet_value %Cpp.long, (%RightShiftAssignWith.impl_witness.554) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.155: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%i32, %RightShiftAssignWith.facet.940) [concrete] +// CHECK:STDOUT: %.f59: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.155, %RightShiftAssignWith.facet.940 [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.03ccc7.1: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.30352f.2, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.03ccc7.2: = specific_function %Cpp.long.as.RightShiftAssignWith.impl.Op.30352f.1, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] // CHECK:STDOUT: } @@ -3375,38 +3375,38 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %Core.import_ref.3ce: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long.as.AddAssignWith.impl.Op.d1bf47.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.864 = impl_witness_table (%Core.import_ref.3ce), @Cpp.long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.015 = impl_witness_table (%Core.import_ref.3ce), @Cpp.long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.7fd: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long.as.AddAssignWith.impl.Op.d1bf47.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %i32.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a75 = impl_witness_table (%Core.import_ref.06c923.2), @i32.as.ImplicitAs.impl.133 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.96f = impl_witness_table (%Core.import_ref.06c923.2), @i32.as.ImplicitAs.impl.133 [concrete] // CHECK:STDOUT: %Core.import_ref.720: @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.type.2 (%Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.2 (constants.%Cpp.long.as.SubAssignWith.impl.Op.5a5f49.1)] -// CHECK:STDOUT: %SubAssignWith.impl_witness_table.b60 = impl_witness_table (%Core.import_ref.720), @Cpp.long.as.SubAssignWith.impl [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness_table.4c9 = impl_witness_table (%Core.import_ref.720), @Cpp.long.as.SubAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.3ae: @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.type.1 (%Cpp.long.as.SubAssignWith.impl.Op.type.f4b2d1.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.SubAssignWith.impl.%Cpp.long.as.SubAssignWith.impl.Op.1 (constants.%Cpp.long.as.SubAssignWith.impl.Op.5a5f49.2)] // CHECK:STDOUT: %Core.import_ref.c1e: @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.type.2 (%Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.2 (constants.%Cpp.long.as.MulAssignWith.impl.Op.ad1d2e.1)] -// CHECK:STDOUT: %MulAssignWith.impl_witness_table.9fc = impl_witness_table (%Core.import_ref.c1e), @Cpp.long.as.MulAssignWith.impl [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness_table.510 = impl_witness_table (%Core.import_ref.c1e), @Cpp.long.as.MulAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.a7f: @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.type.1 (%Cpp.long.as.MulAssignWith.impl.Op.type.b2e99c.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.MulAssignWith.impl.%Cpp.long.as.MulAssignWith.impl.Op.1 (constants.%Cpp.long.as.MulAssignWith.impl.Op.ad1d2e.2)] // CHECK:STDOUT: %Core.import_ref.c2c: @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.type.2 (%Cpp.long.as.DivAssignWith.impl.Op.type.79510c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.2 (constants.%Cpp.long.as.DivAssignWith.impl.Op.f795df.1)] -// CHECK:STDOUT: %DivAssignWith.impl_witness_table.cf6 = impl_witness_table (%Core.import_ref.c2c), @Cpp.long.as.DivAssignWith.impl [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness_table.4db = impl_witness_table (%Core.import_ref.c2c), @Cpp.long.as.DivAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.8c3: @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.type.1 (%Cpp.long.as.DivAssignWith.impl.Op.type.79510c.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.DivAssignWith.impl.%Cpp.long.as.DivAssignWith.impl.Op.1 (constants.%Cpp.long.as.DivAssignWith.impl.Op.f795df.2)] // CHECK:STDOUT: %Core.import_ref.db0: @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.type.2 (%Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.2 (constants.%Cpp.long.as.ModAssignWith.impl.Op.598f91.1)] -// CHECK:STDOUT: %ModAssignWith.impl_witness_table.241 = impl_witness_table (%Core.import_ref.db0), @Cpp.long.as.ModAssignWith.impl [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness_table.5c7 = impl_witness_table (%Core.import_ref.db0), @Cpp.long.as.ModAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.da3: @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.type.1 (%Cpp.long.as.ModAssignWith.impl.Op.type.d0560a.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.ModAssignWith.impl.%Cpp.long.as.ModAssignWith.impl.Op.1 (constants.%Cpp.long.as.ModAssignWith.impl.Op.598f91.2)] // CHECK:STDOUT: %Core.import_ref.8ce: @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.type.2 (%Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitAndAssignWith.impl.Op.3e6759.1)] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.cc2 = impl_witness_table (%Core.import_ref.8ce), @Cpp.long.as.BitAndAssignWith.impl [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.727 = impl_witness_table (%Core.import_ref.8ce), @Cpp.long.as.BitAndAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.c9e: @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.type.1 (%Cpp.long.as.BitAndAssignWith.impl.Op.type.b5ab33.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitAndAssignWith.impl.%Cpp.long.as.BitAndAssignWith.impl.Op.1 (constants.%Cpp.long.as.BitAndAssignWith.impl.Op.3e6759.2)] // CHECK:STDOUT: %Core.import_ref.fb9: @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.type.2 (%Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitOrAssignWith.impl.Op.fdf3e1.1)] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.29c = impl_witness_table (%Core.import_ref.fb9), @Cpp.long.as.BitOrAssignWith.impl [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.f41 = impl_witness_table (%Core.import_ref.fb9), @Cpp.long.as.BitOrAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.add: @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.type.1 (%Cpp.long.as.BitOrAssignWith.impl.Op.type.570e47.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitOrAssignWith.impl.%Cpp.long.as.BitOrAssignWith.impl.Op.1 (constants.%Cpp.long.as.BitOrAssignWith.impl.Op.fdf3e1.2)] -// CHECK:STDOUT: %Core.import_ref.fbf: @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.1)] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.910 = impl_witness_table (%Core.import_ref.fbf), @Cpp.long.as.BitXorAssignWith.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.fbf8: @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.1)] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.844 = impl_witness_table (%Core.import_ref.fbf8), @Cpp.long.as.BitXorAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.a72: @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.type.1 (%Cpp.long.as.BitXorAssignWith.impl.Op.type.af9891.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.BitXorAssignWith.impl.%Cpp.long.as.BitXorAssignWith.impl.Op.1 (constants.%Cpp.long.as.BitXorAssignWith.impl.Op.b5d70a.2)] // CHECK:STDOUT: %Core.import_ref.282: @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.2 (%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.2 (constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.4b382e.1)] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.003 = impl_witness_table (%Core.import_ref.282), @Cpp.long.as.LeftShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.12f = impl_witness_table (%Core.import_ref.282), @Cpp.long.as.LeftShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.e4d: @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.1 (%Cpp.long.as.LeftShiftAssignWith.impl.Op.type.075dc9.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.LeftShiftAssignWith.impl.%Cpp.long.as.LeftShiftAssignWith.impl.Op.1 (constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.4b382e.2)] // CHECK:STDOUT: %Core.import_ref.769: @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.type.2 (%Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.2 (constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.27a493.1)] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.546 = impl_witness_table (%Core.import_ref.769), @Cpp.long.as.RightShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.094 = impl_witness_table (%Core.import_ref.769), @Cpp.long.as.RightShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.127: @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.type.1 (%Cpp.long.as.RightShiftAssignWith.impl.Op.type.e450db.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.RightShiftAssignWith.impl.%Cpp.long.as.RightShiftAssignWith.impl.Op.1 (constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.27a493.2)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -3415,7 +3415,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc9_3: init %Cpp.long = converted %int_1.loc9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.9ce] @@ -3431,20 +3431,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc10: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc10: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10_5: %.68d = impl_witness_access constants.%AddAssignWith.impl_witness.b48, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.d3c936.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.76a = impl_witness_access constants.%AddAssignWith.impl_witness.1cb, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.400e0c.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %a.ref.loc10, %impl.elem0.loc10_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.d4d8c8.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9957b9.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %a.ref.loc10, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.1 = specific_constant imports.%Core.Op.7fd, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.d3c936.1] -// CHECK:STDOUT: %Op.ref.loc10: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.1 = name_ref Op, %.loc10_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.d3c936.1] +// CHECK:STDOUT: %.loc10_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.1 = specific_constant imports.%Core.Op.7fd, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.400e0c.1] +// CHECK:STDOUT: %Op.ref.loc10: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.1 = name_ref Op, %.loc10_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.400e0c.1] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref.loc10, %Op.ref.loc10 -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc10, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.d4d8c8.2] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc10, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9957b9.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %a.ref.loc10, %Cpp.long.as.AddAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc10_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_8: = bound_method %b.ref.loc10, %impl.elem0.loc10_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc10: init %Cpp.long = call %bound_method.loc10_8(%b.ref.loc10) // CHECK:STDOUT: %.loc10_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc10 @@ -3452,20 +3452,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc10_5.3(%a.ref.loc10, %.loc10_8.2) // CHECK:STDOUT: %a.ref.loc11: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc11_5: %.8cc = impl_witness_access constants.%SubAssignWith.impl_witness.9be, element0 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.e73c53.2] +// CHECK:STDOUT: %impl.elem0.loc11_5: %.7bd = impl_witness_access constants.%SubAssignWith.impl_witness.680, element0 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.1587d8.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %a.ref.loc11, %impl.elem0.loc11_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11_5, @Cpp.long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.ed33cb.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11_5, @Cpp.long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.8d8f78.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %a.ref.loc11, %specific_fn.loc11 -// CHECK:STDOUT: %.loc11_5.3: %Cpp.long.as.SubAssignWith.impl.Op.type.b59bc8.1 = specific_constant imports.%Core.Op.3ae, @Cpp.long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.e73c53.1] -// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long.as.SubAssignWith.impl.Op.type.b59bc8.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.e73c53.1] +// CHECK:STDOUT: %.loc11_5.3: %Cpp.long.as.SubAssignWith.impl.Op.type.9ad35e.1 = specific_constant imports.%Core.Op.3ae, @Cpp.long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.1587d8.1] +// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long.as.SubAssignWith.impl.Op.type.9ad35e.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.1587d8.1] // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.bound: = bound_method %a.ref.loc11, %Op.ref.loc11 -// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.ed33cb.2] +// CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.SubAssignWith.impl.Op.specific_fn.8d8f78.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %a.ref.loc11, %Cpp.long.as.SubAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc11_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_8: = bound_method %b.ref.loc11, %impl.elem0.loc11_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc11: init %Cpp.long = call %bound_method.loc11_8(%b.ref.loc11) // CHECK:STDOUT: %.loc11_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc11 @@ -3473,20 +3473,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.SubAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc11_5.3(%a.ref.loc11, %.loc11_8.2) // CHECK:STDOUT: %a.ref.loc12: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc12_5: %.e51 = impl_witness_access constants.%MulAssignWith.impl_witness.fb1, element0 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.6fa29e.2] +// CHECK:STDOUT: %impl.elem0.loc12_5: %.b6a = impl_witness_access constants.%MulAssignWith.impl_witness.eda, element0 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.fa6097.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %a.ref.loc12, %impl.elem0.loc12_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12_5, @Cpp.long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.674e38.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12_5, @Cpp.long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.b71d7f.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %a.ref.loc12, %specific_fn.loc12 -// CHECK:STDOUT: %.loc12_5.3: %Cpp.long.as.MulAssignWith.impl.Op.type.6461a2.1 = specific_constant imports.%Core.Op.a7f, @Cpp.long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.6fa29e.1] -// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long.as.MulAssignWith.impl.Op.type.6461a2.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.6fa29e.1] +// CHECK:STDOUT: %.loc12_5.3: %Cpp.long.as.MulAssignWith.impl.Op.type.dccdee.1 = specific_constant imports.%Core.Op.a7f, @Cpp.long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.fa6097.1] +// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long.as.MulAssignWith.impl.Op.type.dccdee.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.fa6097.1] // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.bound: = bound_method %a.ref.loc12, %Op.ref.loc12 -// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.674e38.2] +// CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.MulAssignWith.impl.Op.specific_fn.b71d7f.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %a.ref.loc12, %Cpp.long.as.MulAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc12_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc12_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc12_8: = bound_method %b.ref.loc12, %impl.elem0.loc12_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc12: init %Cpp.long = call %bound_method.loc12_8(%b.ref.loc12) // CHECK:STDOUT: %.loc12_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc12 @@ -3494,20 +3494,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.MulAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc12_5.3(%a.ref.loc12, %.loc12_8.2) // CHECK:STDOUT: %a.ref.loc13: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13_5: %.182 = impl_witness_access constants.%DivAssignWith.impl_witness.1c3, element0 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.aa5aae.2] +// CHECK:STDOUT: %impl.elem0.loc13_5: %.600 = impl_witness_access constants.%DivAssignWith.impl_witness.da4, element0 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.3612b2.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %a.ref.loc13, %impl.elem0.loc13_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Cpp.long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.53323c.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Cpp.long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.08bc41.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %a.ref.loc13, %specific_fn.loc13 -// CHECK:STDOUT: %.loc13_5.3: %Cpp.long.as.DivAssignWith.impl.Op.type.5edb2e.1 = specific_constant imports.%Core.Op.8c3, @Cpp.long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.aa5aae.1] -// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long.as.DivAssignWith.impl.Op.type.5edb2e.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.aa5aae.1] +// CHECK:STDOUT: %.loc13_5.3: %Cpp.long.as.DivAssignWith.impl.Op.type.952b8b.1 = specific_constant imports.%Core.Op.8c3, @Cpp.long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.3612b2.1] +// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long.as.DivAssignWith.impl.Op.type.952b8b.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.3612b2.1] // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.bound: = bound_method %a.ref.loc13, %Op.ref.loc13 -// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.53323c.2] +// CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.DivAssignWith.impl.Op.specific_fn.08bc41.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %a.ref.loc13, %Cpp.long.as.DivAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc13_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc13_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc13_8: = bound_method %b.ref.loc13, %impl.elem0.loc13_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc13: init %Cpp.long = call %bound_method.loc13_8(%b.ref.loc13) // CHECK:STDOUT: %.loc13_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc13 @@ -3515,20 +3515,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.DivAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc13_5.3(%a.ref.loc13, %.loc13_8.2) // CHECK:STDOUT: %a.ref.loc14: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc14_5: %.3cd = impl_witness_access constants.%ModAssignWith.impl_witness.535, element0 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.be932a.2] +// CHECK:STDOUT: %impl.elem0.loc14_5: %.67e = impl_witness_access constants.%ModAssignWith.impl_witness.07f, element0 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.3bd399.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %a.ref.loc14, %impl.elem0.loc14_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14_5, @Cpp.long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.922dd8.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14_5, @Cpp.long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0cd224.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %a.ref.loc14, %specific_fn.loc14 -// CHECK:STDOUT: %.loc14_5.3: %Cpp.long.as.ModAssignWith.impl.Op.type.0bedac.1 = specific_constant imports.%Core.Op.da3, @Cpp.long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.be932a.1] -// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long.as.ModAssignWith.impl.Op.type.0bedac.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.be932a.1] +// CHECK:STDOUT: %.loc14_5.3: %Cpp.long.as.ModAssignWith.impl.Op.type.4e804d.1 = specific_constant imports.%Core.Op.da3, @Cpp.long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.3bd399.1] +// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long.as.ModAssignWith.impl.Op.type.4e804d.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.3bd399.1] // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.bound: = bound_method %a.ref.loc14, %Op.ref.loc14 -// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.922dd8.2] +// CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.ModAssignWith.impl.Op.specific_fn.0cd224.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %a.ref.loc14, %Cpp.long.as.ModAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc14_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc14_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc14_8: = bound_method %b.ref.loc14, %impl.elem0.loc14_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc14: init %Cpp.long = call %bound_method.loc14_8(%b.ref.loc14) // CHECK:STDOUT: %.loc14_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc14 @@ -3536,20 +3536,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.ModAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc14_5.3(%a.ref.loc14, %.loc14_8.2) // CHECK:STDOUT: %a.ref.loc16: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc16: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc16_5: %.d84 = impl_witness_access constants.%BitAndAssignWith.impl_witness.ca3, element0 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.c55c9d.2] +// CHECK:STDOUT: %impl.elem0.loc16_5: %.0f7 = impl_witness_access constants.%BitAndAssignWith.impl_witness.e37, element0 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.a2ff6b.2] // CHECK:STDOUT: %bound_method.loc16_5.1: = bound_method %a.ref.loc16, %impl.elem0.loc16_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc16_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc16_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc16_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc16_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc16_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc16_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16_5, @Cpp.long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.b2e276.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc16_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc16_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc16_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc16_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc16_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc16_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16_5, @Cpp.long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.4998ac.1] // CHECK:STDOUT: %bound_method.loc16_5.2: = bound_method %a.ref.loc16, %specific_fn.loc16 -// CHECK:STDOUT: %.loc16_5.3: %Cpp.long.as.BitAndAssignWith.impl.Op.type.4ea5c7.1 = specific_constant imports.%Core.Op.c9e, @Cpp.long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.c55c9d.1] -// CHECK:STDOUT: %Op.ref.loc16: %Cpp.long.as.BitAndAssignWith.impl.Op.type.4ea5c7.1 = name_ref Op, %.loc16_5.3 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.c55c9d.1] +// CHECK:STDOUT: %.loc16_5.3: %Cpp.long.as.BitAndAssignWith.impl.Op.type.39be42.1 = specific_constant imports.%Core.Op.c9e, @Cpp.long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.a2ff6b.1] +// CHECK:STDOUT: %Op.ref.loc16: %Cpp.long.as.BitAndAssignWith.impl.Op.type.39be42.1 = name_ref Op, %.loc16_5.3 [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.a2ff6b.1] // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.bound: = bound_method %a.ref.loc16, %Op.ref.loc16 -// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc16, @Cpp.long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.b2e276.2] +// CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc16, @Cpp.long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn.4998ac.2] // CHECK:STDOUT: %bound_method.loc16_5.3: = bound_method %a.ref.loc16, %Cpp.long.as.BitAndAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc16_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc16_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc16_8: = bound_method %b.ref.loc16, %impl.elem0.loc16_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc16: init %Cpp.long = call %bound_method.loc16_8(%b.ref.loc16) // CHECK:STDOUT: %.loc16_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc16 @@ -3557,20 +3557,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitAndAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc16_5.3(%a.ref.loc16, %.loc16_8.2) // CHECK:STDOUT: %a.ref.loc17: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc17: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc17_5: %.0f7 = impl_witness_access constants.%BitOrAssignWith.impl_witness.936, element0 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.f127f0.2] +// CHECK:STDOUT: %impl.elem0.loc17_5: %.73b = impl_witness_access constants.%BitOrAssignWith.impl_witness.9c5, element0 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.d123fd.2] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %a.ref.loc17, %impl.elem0.loc17_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.1bd8b4.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.0e12d0.1] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %a.ref.loc17, %specific_fn.loc17 -// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.BitOrAssignWith.impl.Op.type.1bf7d5.1 = specific_constant imports.%Core.Op.add, @Cpp.long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.f127f0.1] -// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long.as.BitOrAssignWith.impl.Op.type.1bf7d5.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.f127f0.1] +// CHECK:STDOUT: %.loc17_5.3: %Cpp.long.as.BitOrAssignWith.impl.Op.type.36aa58.1 = specific_constant imports.%Core.Op.add, @Cpp.long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.d123fd.1] +// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long.as.BitOrAssignWith.impl.Op.type.36aa58.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.d123fd.1] // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.bound: = bound_method %a.ref.loc17, %Op.ref.loc17 -// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.1bd8b4.2] +// CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn.0e12d0.2] // CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %a.ref.loc17, %Cpp.long.as.BitOrAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc17_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc17_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc17_8: = bound_method %b.ref.loc17, %impl.elem0.loc17_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc17: init %Cpp.long = call %bound_method.loc17_8(%b.ref.loc17) // CHECK:STDOUT: %.loc17_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc17 @@ -3578,20 +3578,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitOrAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc17_5.3(%a.ref.loc17, %.loc17_8.2) // CHECK:STDOUT: %a.ref.loc18: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc18: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc18_5: %.580 = impl_witness_access constants.%BitXorAssignWith.impl_witness.7a9, element0 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.99c425.2] +// CHECK:STDOUT: %impl.elem0.loc18_5: %.a40 = impl_witness_access constants.%BitXorAssignWith.impl_witness.3ec, element0 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.230930.2] // CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %a.ref.loc18, %impl.elem0.loc18_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18_5, @Cpp.long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.503a1b.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18_5, @Cpp.long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.45b0ba.1] // CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %a.ref.loc18, %specific_fn.loc18 -// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.BitXorAssignWith.impl.Op.type.d0da74.1 = specific_constant imports.%Core.Op.a72, @Cpp.long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.99c425.1] -// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long.as.BitXorAssignWith.impl.Op.type.d0da74.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.99c425.1] +// CHECK:STDOUT: %.loc18_5.3: %Cpp.long.as.BitXorAssignWith.impl.Op.type.92ff22.1 = specific_constant imports.%Core.Op.a72, @Cpp.long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.230930.1] +// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long.as.BitXorAssignWith.impl.Op.type.92ff22.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.230930.1] // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.bound: = bound_method %a.ref.loc18, %Op.ref.loc18 -// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.503a1b.2] +// CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn.45b0ba.2] // CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %a.ref.loc18, %Cpp.long.as.BitXorAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc18_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc18_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc18_8: = bound_method %b.ref.loc18, %impl.elem0.loc18_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long = call %bound_method.loc18_8(%b.ref.loc18) // CHECK:STDOUT: %.loc18_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc18 @@ -3599,20 +3599,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.BitXorAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc18_5.3(%a.ref.loc18, %.loc18_8.2) // CHECK:STDOUT: %a.ref.loc19: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc19: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc19_5: %.683 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.4c7, element0 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.80597f.2] +// CHECK:STDOUT: %impl.elem0.loc19_5: %.335 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.55c, element0 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.ee6af6.2] // CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %a.ref.loc19, %impl.elem0.loc19_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19_5, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.df2fa0.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19_5, @Cpp.long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.ca972d.1] // CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %a.ref.loc19, %specific_fn.loc19 -// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.8878df.1 = specific_constant imports.%Core.Op.e4d, @Cpp.long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.80597f.1] -// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.8878df.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.80597f.1] +// CHECK:STDOUT: %.loc19_5.3: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c44424.1 = specific_constant imports.%Core.Op.e4d, @Cpp.long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.ee6af6.1] +// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long.as.LeftShiftAssignWith.impl.Op.type.c44424.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.ee6af6.1] // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc19, %Op.ref.loc19 -// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.df2fa0.2] +// CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn.ca972d.2] // CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %a.ref.loc19, %Cpp.long.as.LeftShiftAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc19_9: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc19_9: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc19_9: = bound_method %b.ref.loc19, %impl.elem0.loc19_9 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc19: init %Cpp.long = call %bound_method.loc19_9(%b.ref.loc19) // CHECK:STDOUT: %.loc19_9.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc19 @@ -3620,20 +3620,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.LeftShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc19_5.3(%a.ref.loc19, %.loc19_9.2) // CHECK:STDOUT: %a.ref.loc20: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc20: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc20_5: %.17e = impl_witness_access constants.%RightShiftAssignWith.impl_witness.348, element0 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.76ada1.2] +// CHECK:STDOUT: %impl.elem0.loc20_5: %.f59 = impl_witness_access constants.%RightShiftAssignWith.impl_witness.554, element0 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.30352f.2] // CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %a.ref.loc20, %impl.elem0.loc20_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.708585.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.03ccc7.1] // CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %a.ref.loc20, %specific_fn.loc20 -// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.3aa338.1 = specific_constant imports.%Core.Op.127, @Cpp.long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.76ada1.1] -// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.3aa338.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.76ada1.1] +// CHECK:STDOUT: %.loc20_5.3: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.2ebe19.1 = specific_constant imports.%Core.Op.127, @Cpp.long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.30352f.1] +// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long.as.RightShiftAssignWith.impl.Op.type.2ebe19.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.30352f.1] // CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc20, %Op.ref.loc20 -// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.708585.2] +// CHECK:STDOUT: %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn.03ccc7.2] // CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %a.ref.loc20, %Cpp.long.as.RightShiftAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc20_9: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc20_9: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc20_9: = bound_method %b.ref.loc20, %impl.elem0.loc20_9 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call.loc20: init %Cpp.long = call %bound_method.loc20_9(%b.ref.loc20) // CHECK:STDOUT: %.loc20_9.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call.loc20 @@ -3669,10 +3669,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.25e = var_pattern %a.patt [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7eb: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -3683,16 +3683,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d1bf47.1: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d1bf47.2: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2 = struct_value () [symbolic] -// CHECK:STDOUT: %AddAssignWith.impl_witness.e58: = impl_witness imports.%AddAssignWith.impl_witness_table.864, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.59ea6c.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.2303e0.1: %Cpp.long.as.AddAssignWith.impl.Op.type.59ea6c.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.59ea6c.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.2303e0.2: %Cpp.long.as.AddAssignWith.impl.Op.type.59ea6c.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.c43: %AddAssignWith.type.5ab = facet_value %Cpp.long, (%AddAssignWith.impl_witness.e58) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.a65: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.c43) [concrete] -// CHECK:STDOUT: %.f86: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.a65, %AddAssignWith.facet.c43 [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.ffe0b1.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.2303e0.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.ffe0b1.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.2303e0.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.fbe: = impl_witness imports.%AddAssignWith.impl_witness_table.015, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.48c987.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.99fe7e.1: %Cpp.long.as.AddAssignWith.impl.Op.type.48c987.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.48c987.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.99fe7e.2: %Cpp.long.as.AddAssignWith.impl.Op.type.48c987.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.e2c: %AddAssignWith.type.5ab = facet_value %Cpp.long, (%AddAssignWith.impl_witness.fbe) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.b43: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.e2c) [concrete] +// CHECK:STDOUT: %.fd5: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.b43, %AddAssignWith.facet.e2c [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.c6f135.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.99fe7e.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.c6f135.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.99fe7e.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc8_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] // CHECK:STDOUT: } @@ -3703,9 +3703,9 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %Core.import_ref.3ce: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long.as.AddAssignWith.impl.Op.d1bf47.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.864 = impl_witness_table (%Core.import_ref.3ce), @Cpp.long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.015 = impl_witness_table (%Core.import_ref.3ce), @Cpp.long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.7fd: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long.as.AddAssignWith.impl.Op.d1bf47.2)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -3713,7 +3713,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc8_3: init %Cpp.long = converted %int_1.loc8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.9ce] @@ -3729,20 +3729,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9_5: %.f86 = impl_witness_access constants.%AddAssignWith.impl_witness.e58, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.2303e0.2] +// CHECK:STDOUT: %impl.elem0.loc9_5: %.fd5 = impl_witness_access constants.%AddAssignWith.impl_witness.fbe, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.99fe7e.2] // CHECK:STDOUT: %bound_method.loc9_5.1: = bound_method %a.ref, %impl.elem0.loc9_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.1: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc9_5.1: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc9_5.1 [concrete = constants.%ImplicitAs.facet] -// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.e27) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.2: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.820) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc9_5.2: %ImplicitAs.type.7eb = converted Core.IntLiteral, %ImplicitAs.facet.loc9_5.2 [concrete = constants.%ImplicitAs.facet] -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc9_5, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.ffe0b1.1] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc9_5, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.c6f135.1] // CHECK:STDOUT: %bound_method.loc9_5.2: = bound_method %a.ref, %specific_fn -// CHECK:STDOUT: %.loc9_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.59ea6c.1 = specific_constant imports.%Core.Op.7fd, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.2303e0.1] -// CHECK:STDOUT: %Op.ref: %Cpp.long.as.AddAssignWith.impl.Op.type.59ea6c.1 = name_ref Op, %.loc9_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.2303e0.1] +// CHECK:STDOUT: %.loc9_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.48c987.1 = specific_constant imports.%Core.Op.7fd, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.99fe7e.1] +// CHECK:STDOUT: %Op.ref: %Cpp.long.as.AddAssignWith.impl.Op.type.48c987.1 = name_ref Op, %.loc9_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.99fe7e.1] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref, %Op.ref -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.ffe0b1.2] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.c6f135.2] // CHECK:STDOUT: %bound_method.loc9_5.3: = bound_method %a.ref, %Cpp.long.as.AddAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc9_8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9_8: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9_8: = bound_method %int_1.loc9, %impl.elem0.loc9_8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long = call %bound_method.loc9_8(%int_1.loc9) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc9_8.1: %Cpp.long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.9ce] @@ -3778,10 +3778,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.25e = var_pattern %a.patt [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7eb: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.b30: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.b30) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet.b30 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.eac: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.eac) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet.eac [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -3792,12 +3792,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -3808,20 +3808,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d1bf47.1: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%U.315) [symbolic] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d1bf47.2: %Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.f82: = impl_witness imports.%ImplicitAs.impl_witness_table.a75 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.ce4: %ImplicitAs.type.7eb = facet_value %i32, (%ImplicitAs.impl_witness.f82) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.b48: = impl_witness imports.%AddAssignWith.impl_witness_table.864, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d3c936.1: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.d3c936.2: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.58f: %AddAssignWith.type.941 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.b48) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.e0e: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.58f) [concrete] -// CHECK:STDOUT: %.68d: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.e0e, %AddAssignWith.facet.58f [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.d4d8c8.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.d3c936.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.d4d8c8.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.d3c936.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.59b: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.ce4) [concrete] -// CHECK:STDOUT: %.9c4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.59b, %ImplicitAs.facet.ce4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2e1: = impl_witness imports.%ImplicitAs.impl_witness_table.96f [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.2ac: %ImplicitAs.type.7eb = facet_value %i32, (%ImplicitAs.impl_witness.2e1) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.1cb: = impl_witness imports.%AddAssignWith.impl_witness_table.015, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.1: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.2, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.400e0c.1: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.2: type = fn_type @Cpp.long.as.AddAssignWith.impl.Op.1, @Cpp.long.as.AddAssignWith.impl(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.400e0c.2: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.bbf: %AddAssignWith.type.941 = facet_value %Cpp.long, (%AddAssignWith.impl_witness.1cb) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.6b2: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.bbf) [concrete] +// CHECK:STDOUT: %.76a: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.6b2, %AddAssignWith.facet.bbf [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9957b9.1: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.400e0c.2, @Cpp.long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9957b9.2: = specific_function %Cpp.long.as.AddAssignWith.impl.Op.400e0c.1, @Cpp.long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.f2d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet.2ac) [concrete] +// CHECK:STDOUT: %.08c: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.f2d, %ImplicitAs.facet.2ac [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert: %i32.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc8_3.3 [concrete] @@ -3834,21 +3834,21 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.3ce: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long.as.AddAssignWith.impl.Op.d1bf47.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.864 = impl_witness_table (%Core.import_ref.3ce), @Cpp.long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.015 = impl_witness_table (%Core.import_ref.3ce), @Cpp.long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.7fd: @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long.as.AddAssignWith.impl.Op.type.3959e4.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long.as.AddAssignWith.impl.%Cpp.long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long.as.AddAssignWith.impl.Op.d1bf47.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %i32.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a75 = impl_witness_table (%Core.import_ref.06c923.2), @i32.as.ImplicitAs.impl.133 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.96f = impl_witness_table (%Core.import_ref.06c923.2), @i32.as.ImplicitAs.impl.133 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CompoundAssignmentLongAndRuntimeI32() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc8: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc8_3: init %Cpp.long = converted %int_1.loc8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.9ce] @@ -3863,7 +3863,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.25e = var_pattern %a.patt [concrete = constants.%a.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_16.1: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_16.2: = bound_method %int_1.loc9, %specific_fn.loc9 [concrete = constants.%bound_method] @@ -3877,20 +3877,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: ref %Cpp.long = name_ref a, %a // CHECK:STDOUT: %b.ref: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10_5: %.68d = impl_witness_access constants.%AddAssignWith.impl_witness.b48, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.d3c936.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.76a = impl_witness_access constants.%AddAssignWith.impl_witness.1cb, element0 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.400e0c.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %a.ref, %impl.elem0.loc10_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.f82) [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.ce4] -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.d4d8c8.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.7eb = facet_value constants.%i32, (constants.%ImplicitAs.impl_witness.2e1) [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.7eb = converted constants.%i32, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.2ac] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9957b9.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %a.ref, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.1 = specific_constant imports.%Core.Op.7fd, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.d3c936.1] -// CHECK:STDOUT: %Op.ref: %Cpp.long.as.AddAssignWith.impl.Op.type.0c4994.1 = name_ref Op, %.loc10_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.d3c936.1] +// CHECK:STDOUT: %.loc10_5.3: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.1 = specific_constant imports.%Core.Op.7fd, @Cpp.long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.400e0c.1] +// CHECK:STDOUT: %Op.ref: %Cpp.long.as.AddAssignWith.impl.Op.type.16c06d.1 = name_ref Op, %.loc10_5.3 [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.400e0c.1] // CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref, %Op.ref -// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.ce4) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.d4d8c8.2] +// CHECK:STDOUT: %Cpp.long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2ac) [concrete = constants.%Cpp.long.as.AddAssignWith.impl.Op.specific_fn.9957b9.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %a.ref, %Cpp.long.as.AddAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc10_8: %.9c4 = impl_witness_access constants.%ImplicitAs.impl_witness.f82, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_8: %.08c = impl_witness_access constants.%ImplicitAs.impl_witness.2e1, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_8: = bound_method %b.ref, %impl.elem0.loc10_8 // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.call: init %Cpp.long = call %bound_method.loc10_8(%b.ref) // CHECK:STDOUT: %.loc10_8.1: %Cpp.long = value_of_initializer %i32.as.ImplicitAs.impl.Convert.call @@ -3926,10 +3926,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.25e = var_pattern %a.patt [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7eb: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e27: = impl_witness imports.%ImplicitAs.impl_witness_table.635 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.e27) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7dc, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.820: = impl_witness imports.%ImplicitAs.impl_witness_table.95b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.7eb = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.820) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.63e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e0, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -3937,15 +3937,15 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Inc.type: type = facet_type <@Inc> [concrete] // CHECK:STDOUT: %Inc.impl_witness: = impl_witness imports.%Inc.impl_witness_table [concrete] // CHECK:STDOUT: %Inc.facet: %Inc.type = facet_value %Cpp.long, (%Inc.impl_witness) [concrete] -// CHECK:STDOUT: %Inc.WithSelf.Op.type.329: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] -// CHECK:STDOUT: %.466: type = fn_type_with_self_type %Inc.WithSelf.Op.type.329, %Inc.facet [concrete] +// CHECK:STDOUT: %Inc.WithSelf.Op.type.b2b: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] +// CHECK:STDOUT: %.1a6: type = fn_type_with_self_type %Inc.WithSelf.Op.type.b2b, %Inc.facet [concrete] // CHECK:STDOUT: %Cpp.long.as.Inc.impl.Op.type: type = fn_type @Cpp.long.as.Inc.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long.as.Inc.impl.Op: %Cpp.long.as.Inc.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Dec.type: type = facet_type <@Dec> [concrete] // CHECK:STDOUT: %Dec.impl_witness: = impl_witness imports.%Dec.impl_witness_table [concrete] // CHECK:STDOUT: %Dec.facet: %Dec.type = facet_value %Cpp.long, (%Dec.impl_witness) [concrete] -// CHECK:STDOUT: %Dec.WithSelf.Op.type.cb3: type = fn_type @Dec.WithSelf.Op, @Dec.WithSelf(%Dec.facet) [concrete] -// CHECK:STDOUT: %.9e8: type = fn_type_with_self_type %Dec.WithSelf.Op.type.cb3, %Dec.facet [concrete] +// CHECK:STDOUT: %Dec.WithSelf.Op.type.e5a: type = fn_type @Dec.WithSelf.Op, @Dec.WithSelf(%Dec.facet) [concrete] +// CHECK:STDOUT: %.2e4: type = fn_type_with_self_type %Dec.WithSelf.Op.type.e5a, %Dec.facet [concrete] // CHECK:STDOUT: %Cpp.long.as.Dec.impl.Op.type: type = fn_type @Cpp.long.as.Dec.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long.as.Dec.impl.Op: %Cpp.long.as.Dec.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc8_3.3 [concrete] @@ -3958,7 +3958,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.635 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.95b = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.94b [concrete] // CHECK:STDOUT: %Core.import_ref.9c3475.1: %Cpp.long.as.Inc.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.Inc.impl.Op] // CHECK:STDOUT: %Inc.impl_witness_table = impl_witness_table (%Core.import_ref.9c3475.1), @Cpp.long.as.Inc.impl [concrete] // CHECK:STDOUT: %Core.import_ref.9c3475.2: %Cpp.long.as.Dec.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long.as.Dec.impl.Op] @@ -3969,7 +3969,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.e27, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.63e = impl_witness_access constants.%ImplicitAs.impl_witness.820, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.long = call %bound_method.loc8(%int_1) [concrete = constants.%int_1.9ce] // CHECK:STDOUT: %.loc8_3: init %Cpp.long = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.9ce] @@ -3984,11 +3984,11 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.25e = var_pattern %a.patt [concrete = constants.%a.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc9: ref %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc9: %.466 = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%Cpp.long.as.Inc.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.1a6 = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%Cpp.long.as.Inc.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %a.ref.loc9, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.long.as.Inc.impl.Op.call: init %empty_tuple.type = call %bound_method.loc9(%a.ref.loc9) // CHECK:STDOUT: %a.ref.loc10: ref %Cpp.long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc10: %.9e8 = impl_witness_access constants.%Dec.impl_witness, element0 [concrete = constants.%Cpp.long.as.Dec.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc10: %.2e4 = impl_witness_access constants.%Dec.impl_witness, element0 [concrete = constants.%Cpp.long.as.Dec.impl.Op] // CHECK:STDOUT: %bound_method.loc10: = bound_method %a.ref.loc10, %impl.elem0.loc10 // CHECK:STDOUT: %Cpp.long.as.Dec.impl.Op.call: init %empty_tuple.type = call %bound_method.loc10(%a.ref.loc10) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %a.var, constants.%Destroy.Op.1a2547.3 @@ -4025,10 +4025,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.0ff = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.b0c: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.unsigned_long)> [concrete] // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.2d1: = impl_witness imports.%ImplicitAs.impl_witness_table.643 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.23e: %ImplicitAs.type.b0c = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2d1) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.bc5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet.23e) [concrete] -// CHECK:STDOUT: %.cce: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.bc5, %ImplicitAs.facet.23e [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.cbe: = impl_witness imports.%ImplicitAs.impl_witness_table.e15 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.bc0: %ImplicitAs.type.b0c = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.cbe) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d78: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet.bc0) [concrete] +// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d78, %ImplicitAs.facet.bc0 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -4049,12 +4049,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %To.fe9: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b68(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.170: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.0a1: = impl_witness imports.%ImplicitAs.impl_witness_table.42f, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.231: = impl_witness imports.%ImplicitAs.impl_witness_table.f01, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.957: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.9db: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.957 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.134: %ImplicitAs.type.efe = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.0a1) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.b71: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u32, %ImplicitAs.facet.134) [concrete] -// CHECK:STDOUT: %.22b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.b71, %ImplicitAs.facet.134 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.11a: %ImplicitAs.type.efe = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.231) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.342: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u32, %ImplicitAs.facet.11a) [concrete] +// CHECK:STDOUT: %.c4e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.342, %ImplicitAs.facet.11a [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.9db [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.9db, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.c6d: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -4071,17 +4071,17 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %As.type.116: type = generic_interface_type @As [concrete] // CHECK:STDOUT: %As.generic: %As.type.116 = struct_value () [concrete] // CHECK:STDOUT: %As.type.dce: type = facet_type <@As, @As(%Cpp.unsigned_long)> [concrete] -// CHECK:STDOUT: %As.impl_witness.82b: = impl_witness imports.%As.impl_witness_table.309 [concrete] -// CHECK:STDOUT: %As.facet: %As.type.dce = facet_value Core.IntLiteral, (%As.impl_witness.82b) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.894: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.unsigned_long, %As.facet) [concrete] -// CHECK:STDOUT: %.dfb: type = fn_type_with_self_type %As.WithSelf.Convert.type.894, %As.facet [concrete] +// CHECK:STDOUT: %As.impl_witness.d83: = impl_witness imports.%As.impl_witness_table.e87 [concrete] +// CHECK:STDOUT: %As.facet: %As.type.dce = facet_value Core.IntLiteral, (%As.impl_witness.d83) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.5d7: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.unsigned_long, %As.facet) [concrete] +// CHECK:STDOUT: %.51b: type = fn_type_with_self_type %As.WithSelf.Convert.type.5d7, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.e5c: = impl_witness imports.%ImplicitAs.impl_witness_table.12c [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.089: %ImplicitAs.type.7cb = facet_value %Cpp.unsigned_long, (%ImplicitAs.impl_witness.e5c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.e92: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.089) [concrete] -// CHECK:STDOUT: %.d9d: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.e92, %ImplicitAs.facet.089 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.4ad: = impl_witness imports.%ImplicitAs.impl_witness_table.4d8 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.93f: %ImplicitAs.type.7cb = facet_value %Cpp.unsigned_long, (%ImplicitAs.impl_witness.4ad) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.4e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.93f) [concrete] +// CHECK:STDOUT: %.370: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.4e4, %ImplicitAs.facet.93f [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.unsigned_long.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.0e4, %Cpp.unsigned_long.as.ImplicitAs.impl.Convert [concrete] @@ -4097,12 +4097,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -4144,7 +4144,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.ULong32: type = import_ref Core//prelude/types/cpp/int, ULong32, loaded [concrete = constants.%Cpp.unsigned_long] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.643 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.4a4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e15 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.4a4 [concrete] // CHECK:STDOUT: %ULongResult.decl: type = class_decl @ULongResult [concrete = constants.%ULongResult] {} {} // CHECK:STDOUT: %PassULong.cpp_overload_set.value: %PassULong.cpp_overload_set.type = cpp_overload_set_value @PassULong.cpp_overload_set [concrete = constants.%PassULong.cpp_overload_set.value] // CHECK:STDOUT: %PassULong__carbon_thunk.decl.5da2e0.1: %PassULong__carbon_thunk.type.c65dc2.1 = fn_decl @PassULong__carbon_thunk.1 [concrete = constants.%PassULong__carbon_thunk.65c133.1] { @@ -4154,7 +4154,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.UInt: %UInt.type = import_ref Core//prelude/types/uint, UInt, loaded [concrete = constants.%UInt.generic] // CHECK:STDOUT: %Core.import_ref.aa5: @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.170)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.42f = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f01 = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] // CHECK:STDOUT: %UIntResult.decl: type = class_decl @UIntResult [concrete = constants.%UIntResult] {} {} // CHECK:STDOUT: %PassULong__carbon_thunk.decl.5da2e0.2: %PassULong__carbon_thunk.type.c65dc2.2 = fn_decl @PassULong__carbon_thunk.2 [concrete = constants.%PassULong__carbon_thunk.65c133.2] { // CHECK:STDOUT: @@ -4164,18 +4164,18 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %Core.Float: %Float.type = import_ref Core//prelude/types/float, Float, loaded [concrete = constants.%Float.generic] // CHECK:STDOUT: %Core.As: %As.type.116 = import_ref Core//prelude/operators/as, As, loaded [concrete = constants.%As.generic] // CHECK:STDOUT: %Core.import_ref.06c923.2: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] -// CHECK:STDOUT: %As.impl_witness_table.309 = impl_witness_table (%Core.import_ref.06c923.2), @Core.IntLiteral.as.As.impl.4bc [concrete] +// CHECK:STDOUT: %As.impl_witness_table.e87 = impl_witness_table (%Core.import_ref.06c923.2), @Core.IntLiteral.as.As.impl.4bc [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.3: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.12c = impl_witness_table (%Core.import_ref.06c923.3), @Cpp.unsigned_long.as.ImplicitAs.impl.b57 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.4d8 = impl_witness_table (%Core.import_ref.06c923.3), @Cpp.unsigned_long.as.ImplicitAs.impl.b57 [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc15: %.cce = impl_witness_access constants.%ImplicitAs.impl_witness.2d1, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc15: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.cbe, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc15: = bound_method %int_1.loc15, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc15: init %Cpp.unsigned_long = call %bound_method.loc15(%int_1.loc15) [concrete = constants.%int_1.0e4] // CHECK:STDOUT: %.loc15_46.1: %Cpp.unsigned_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc15 [concrete = constants.%int_1.0e4] @@ -4233,7 +4233,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %cpp_compat_ulong_result.patt: %pattern_type.f8a = value_binding_pattern cpp_compat_ulong_result [concrete = constants.%cpp_compat_ulong_result.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc21: %.22b = impl_witness_access constants.%ImplicitAs.impl_witness.0a1, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.9db] +// CHECK:STDOUT: %impl.elem0.loc21: %.c4e = impl_witness_access constants.%ImplicitAs.impl_witness.231, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.9db] // CHECK:STDOUT: %bound_method.loc21_25.1: = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.cc8] // CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_25.2: = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.c6d] @@ -4265,7 +4265,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc24_59.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc24_59: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc24_59: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc24_59.1: = bound_method %float, %impl.elem0.loc24_59 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc24: = specific_function %impl.elem0.loc24_59, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_59.2: = bound_method %float, %specific_fn.loc24 [concrete = constants.%bound_method.3e4] @@ -4282,12 +4282,12 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc24: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %unsigned_long.ref.loc24: type = name_ref unsigned_long, constants.%Cpp.unsigned_long [concrete = constants.%Cpp.unsigned_long] -// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.dfb = impl_witness_access constants.%As.impl_witness.82b, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.51b = impl_witness_access constants.%As.impl_witness.d83, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc24_30.1: = bound_method %int_1.loc24, %impl.elem0.loc24_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %Cpp.unsigned_long = call %bound_method.loc24_30.1(%int_1.loc24) [concrete = constants.%int_1.0e4] // CHECK:STDOUT: %.loc24_30.1: %Cpp.unsigned_long = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.0e4] // CHECK:STDOUT: %.loc24_30.2: %Cpp.unsigned_long = converted %int_1.loc24, %.loc24_30.1 [concrete = constants.%int_1.0e4] -// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.d9d = impl_witness_access constants.%ImplicitAs.impl_witness.e5c, element0 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.370 = impl_witness_access constants.%ImplicitAs.impl_witness.4ad, element0 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc24_30.2: = bound_method %.loc24_30.2, %impl.elem0.loc24_30.2 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.call: init Core.IntLiteral = call %bound_method.loc24_30.2(%.loc24_30.2) [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc24_30.3: Core.IntLiteral = value_of_initializer %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.5b8] @@ -4336,20 +4336,20 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.b0c: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.unsigned_long)> [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.2d1: = impl_witness imports.%ImplicitAs.impl_witness_table.643 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.b0c = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.2d1) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.bc5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.cce: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.bc5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.cbe: = impl_witness imports.%ImplicitAs.impl_witness_table.e15 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.b0c = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.cbe) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d78: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b13: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d78, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_1.0e4: %Cpp.unsigned_long = int_value 1 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.1a0 = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.1a0 = var_pattern %b.patt [concrete] -// CHECK:STDOUT: %Copy.impl_witness.845: = impl_witness imports.%Copy.impl_witness_table.304 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.unsigned_long, (%Copy.impl_witness.845) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.2ea: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.a6d: type = fn_type_with_self_type %Copy.WithSelf.Op.type.2ea, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.659: = impl_witness imports.%Copy.impl_witness_table.786 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.unsigned_long, (%Copy.impl_witness.659) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.5ce: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.78b: type = fn_type_with_self_type %Copy.WithSelf.Op.type.5ce, %Copy.facet [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.Copy.impl.Op.type: type = fn_type @Cpp.unsigned_long.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Cpp.unsigned_long.as.Copy.impl.Op: %Cpp.unsigned_long.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] @@ -4362,16 +4362,16 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.643 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.4a4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e15 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.4a4 [concrete] // CHECK:STDOUT: %Core.import_ref.9c3: %Cpp.unsigned_long.as.Copy.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.unsigned_long.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.304 = impl_witness_table (%Core.import_ref.9c3), @Cpp.unsigned_long.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.786 = impl_witness_table (%Core.import_ref.9c3), @Cpp.unsigned_long.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CopyUnsignedLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.unsigned_long = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.cce = impl_witness_access constants.%ImplicitAs.impl_witness.2d1, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.b13 = impl_witness_access constants.%ImplicitAs.impl_witness.cbe, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.unsigned_long = call %bound_method.loc8(%int_1) [concrete = constants.%int_1.0e4] // CHECK:STDOUT: %.loc8_3: init %Cpp.unsigned_long = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.0e4] @@ -4388,7 +4388,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %b.var: ref %Cpp.unsigned_long = var_storage %b.var_patt // CHECK:STDOUT: %a.ref: ref %Cpp.unsigned_long = name_ref a, %a // CHECK:STDOUT: %.loc9_37: %Cpp.unsigned_long = acquire_value %a.ref -// CHECK:STDOUT: %impl.elem0.loc9: %.a6d = impl_witness_access constants.%Copy.impl_witness.845, element0 [concrete = constants.%Cpp.unsigned_long.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.78b = impl_witness_access constants.%Copy.impl_witness.659, element0 [concrete = constants.%Cpp.unsigned_long.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %.loc9_37, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.unsigned_long.as.Copy.impl.Op.call: init %Cpp.unsigned_long = call %bound_method.loc9(%.loc9_37) // CHECK:STDOUT: assign %b.var, %Cpp.unsigned_long.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.lp64.carbon b/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.lp64.carbon index 10376bf15186..beaa25bc8d5a 100644 --- a/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.lp64.carbon +++ b/toolchain/check/testdata/interop/cpp/primitive_types/long_and_long_long.lp64.carbon @@ -650,12 +650,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.48d: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%From.fe9) [symbolic] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.0f9: %Int.as.ImplicitAs.impl.Convert.type.48d = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.091: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.227: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.6e8: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.091) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a04: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.6e8) [concrete] -// CHECK:STDOUT: %.f34: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a04, %ImplicitAs.facet.6e8 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.235: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.227) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.da7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.235) [concrete] +// CHECK:STDOUT: %.03f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.da7, %ImplicitAs.facet.235 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.c5e: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -666,21 +666,21 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %As.type.998: type = facet_type <@As, @As(%i64)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.2e1: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl.f25(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.0fe: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl.f25(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.1a1: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.f25(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.3d9: %Core.IntLiteral.as.As.impl.Convert.type.1a1 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.998 = facet_value Core.IntLiteral, (%As.impl_witness.2e1) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.2b4: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i64, %As.facet) [concrete] -// CHECK:STDOUT: %.01b: type = fn_type_with_self_type %As.WithSelf.Convert.type.2b4, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.998 = facet_value Core.IntLiteral, (%As.impl_witness.0fe) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.7f7: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i64, %As.facet) [concrete] +// CHECK:STDOUT: %.8fd: type = fn_type_with_self_type %As.WithSelf.Convert.type.7f7, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.3d9 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.3d9, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.991: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a75: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d20: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.ad9: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.be5: %Int.as.ImplicitAs.impl.Convert.type.ad9 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.cee: %ImplicitAs.type.7cb = facet_value %i64, (%ImplicitAs.impl_witness.a75) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.004: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.cee) [concrete] -// CHECK:STDOUT: %.779: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.004, %ImplicitAs.facet.cee [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b6d: %ImplicitAs.type.7cb = facet_value %i64, (%ImplicitAs.impl_witness.d20) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.95a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.b6d) [concrete] +// CHECK:STDOUT: %.f05: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.95a, %ImplicitAs.facet.b6d [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.d98, %Int.as.ImplicitAs.impl.Convert.be5 [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.be5, @Int.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.e21: = bound_method %int_1.d98, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -696,12 +696,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -717,19 +717,19 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.f25.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl.f25 [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.f34 = impl_witness_access constants.%ImplicitAs.impl_witness.091, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] +// CHECK:STDOUT: %impl.elem0.loc8: %.03f = impl_witness_access constants.%ImplicitAs.impl_witness.227, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] // CHECK:STDOUT: %bound_method.loc8_28.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_28.2: = bound_method %int_1.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.c5e] @@ -754,7 +754,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc11_50.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc11_50: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc11_50: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc11_50.1: = bound_method %float, %impl.elem0.loc11_50 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_50: = specific_function %impl.elem0.loc11_50, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_50.2: = bound_method %float, %specific_fn.loc11_50 [concrete = constants.%bound_method.3e4] @@ -771,14 +771,14 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %long.ref.loc11: type = name_ref long, %i64.2 [concrete = constants.%i64] -// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.01b = impl_witness_access constants.%As.impl_witness.2e1, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.3d9] +// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.8fd = impl_witness_access constants.%As.impl_witness.0fe, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.3d9] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.1: = specific_function %impl.elem0.loc11_30.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_30.2: = bound_method %int_1.loc11, %specific_fn.loc11_30.1 [concrete = constants.%bound_method.991] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i64 = call %bound_method.loc11_30.2(%int_1.loc11) [concrete = constants.%int_1.d98] // CHECK:STDOUT: %.loc11_30.1: %i64 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.d98] // CHECK:STDOUT: %.loc11_30.2: %i64 = converted %int_1.loc11, %.loc11_30.1 [concrete = constants.%int_1.d98] -// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.779 = impl_witness_access constants.%ImplicitAs.impl_witness.a75, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.be5] +// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.f05 = impl_witness_access constants.%ImplicitAs.impl_witness.d20, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.be5] // CHECK:STDOUT: %bound_method.loc11_30.3: = bound_method %.loc11_30.2, %impl.elem0.loc11_30.2 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.2: = specific_function %impl.elem0.loc11_30.2, @Int.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_30.4: = bound_method %.loc11_30.2, %specific_fn.loc11_30.2 [concrete = constants.%bound_method.e21] @@ -827,12 +827,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.3ec: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.3d3(%From.fe9) [symbolic] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.06e: %UInt.as.ImplicitAs.impl.Convert.type.3ec = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.9c4: = impl_witness imports.%ImplicitAs.impl_witness_table.42f, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.8d9: = impl_witness imports.%ImplicitAs.impl_witness_table.f01, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b18: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.633: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b18 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.d29: %ImplicitAs.type.14f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.9c4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8cc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.d29) [concrete] -// CHECK:STDOUT: %.93e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8cc, %ImplicitAs.facet.d29 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.e08: %ImplicitAs.type.14f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.8d9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.17c: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.e08) [concrete] +// CHECK:STDOUT: %.ed5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.17c, %ImplicitAs.facet.e08 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.633 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.633, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.7e7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -843,21 +843,21 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %As.type.72f: type = facet_type <@As, @As(%u64)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.fb3: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.e51(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.f86: %Core.IntLiteral.as.As.impl.Convert.type.fb3 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.8fb: = impl_witness imports.%As.impl_witness_table.8fa, @Core.IntLiteral.as.As.impl.e51(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.5477: = impl_witness imports.%As.impl_witness_table.637, @Core.IntLiteral.as.As.impl.e51(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.49f: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl.e51(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.990: %Core.IntLiteral.as.As.impl.Convert.type.49f = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.72f = facet_value Core.IntLiteral, (%As.impl_witness.8fb) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8dd: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u64, %As.facet) [concrete] -// CHECK:STDOUT: %.04a: type = fn_type_with_self_type %As.WithSelf.Convert.type.8dd, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.72f = facet_value Core.IntLiteral, (%As.impl_witness.5477) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.e94: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%u64, %As.facet) [concrete] +// CHECK:STDOUT: %.b3c: type = fn_type_with_self_type %As.WithSelf.Convert.type.e94, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.990 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.990, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.318: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.b02: = impl_witness imports.%ImplicitAs.impl_witness_table.a83, @UInt.as.ImplicitAs.impl.3d3(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.faa: = impl_witness imports.%ImplicitAs.impl_witness_table.465, @UInt.as.ImplicitAs.impl.3d3(%int_64) [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.type.cd8: type = fn_type @UInt.as.ImplicitAs.impl.Convert.1, @UInt.as.ImplicitAs.impl.3d3(%int_64) [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.7d0: %UInt.as.ImplicitAs.impl.Convert.type.cd8 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.e41: %ImplicitAs.type.7cb = facet_value %u64, (%ImplicitAs.impl_witness.b02) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.da8: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.e41) [concrete] -// CHECK:STDOUT: %.637: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.da8, %ImplicitAs.facet.e41 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.256: %ImplicitAs.type.7cb = facet_value %u64, (%ImplicitAs.impl_witness.faa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.802: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.256) [concrete] +// CHECK:STDOUT: %.2f3: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.802, %ImplicitAs.facet.256 [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.01f, %UInt.as.ImplicitAs.impl.Convert.7d0 [concrete] // CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %UInt.as.ImplicitAs.impl.Convert.7d0, @UInt.as.ImplicitAs.impl.Convert.1(%int_64) [concrete] // CHECK:STDOUT: %bound_method.b37: = bound_method %int_1.01f, %UInt.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -873,12 +873,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -894,19 +894,19 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.aa5: @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.170)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.42f = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f01 = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] // CHECK:STDOUT: %Core.import_ref.baa: @UInt.as.ImplicitAs.impl.3d3.%UInt.as.ImplicitAs.impl.Convert.type (%UInt.as.ImplicitAs.impl.Convert.type.3ec) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @UInt.as.ImplicitAs.impl.3d3.%UInt.as.ImplicitAs.impl.Convert (constants.%UInt.as.ImplicitAs.impl.Convert.06e)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a83 = impl_witness_table (%Core.import_ref.baa), @UInt.as.ImplicitAs.impl.3d3 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.465 = impl_witness_table (%Core.import_ref.baa), @UInt.as.ImplicitAs.impl.3d3 [concrete] // CHECK:STDOUT: %Core.import_ref.59a: @Core.IntLiteral.as.As.impl.e51.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.fb3) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.e51.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.f86)] -// CHECK:STDOUT: %As.impl_witness_table.8fa = impl_witness_table (%Core.import_ref.59a), @Core.IntLiteral.as.As.impl.e51 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.637 = impl_witness_table (%Core.import_ref.59a), @Core.IntLiteral.as.As.impl.e51 [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.93e = impl_witness_access constants.%ImplicitAs.impl_witness.9c4, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] +// CHECK:STDOUT: %impl.elem0.loc8: %.ed5 = impl_witness_access constants.%ImplicitAs.impl_witness.8d9, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] // CHECK:STDOUT: %bound_method.loc8_46.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_46.2: = bound_method %int_1.loc8, %specific_fn.loc8 [concrete = constants.%bound_method.7e7] @@ -931,7 +931,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc11_59.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc11_59: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc11_59: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc11_59.1: = bound_method %float, %impl.elem0.loc11_59 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_59: = specific_function %impl.elem0.loc11_59, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_59.2: = bound_method %float, %specific_fn.loc11_59 [concrete = constants.%bound_method.3e4] @@ -948,14 +948,14 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %unsigned_long.ref.loc11: type = name_ref unsigned_long, %u64.2 [concrete = constants.%u64] -// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.04a = impl_witness_access constants.%As.impl_witness.8fb, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.990] +// CHECK:STDOUT: %impl.elem0.loc11_30.1: %.b3c = impl_witness_access constants.%As.impl_witness.5477, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.990] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.1: = specific_function %impl.elem0.loc11_30.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_30.2: = bound_method %int_1.loc11, %specific_fn.loc11_30.1 [concrete = constants.%bound_method.318] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %u64 = call %bound_method.loc11_30.2(%int_1.loc11) [concrete = constants.%int_1.01f] // CHECK:STDOUT: %.loc11_30.1: %u64 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.01f] // CHECK:STDOUT: %.loc11_30.2: %u64 = converted %int_1.loc11, %.loc11_30.1 [concrete = constants.%int_1.01f] -// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.637 = impl_witness_access constants.%ImplicitAs.impl_witness.b02, element0 [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.7d0] +// CHECK:STDOUT: %impl.elem0.loc11_30.2: %.2f3 = impl_witness_access constants.%ImplicitAs.impl_witness.faa, element0 [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.7d0] // CHECK:STDOUT: %bound_method.loc11_30.3: = bound_method %.loc11_30.2, %impl.elem0.loc11_30.2 [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.2: = specific_function %impl.elem0.loc11_30.2, @UInt.as.ImplicitAs.impl.Convert.1(constants.%int_64) [concrete = constants.%UInt.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_30.4: = bound_method %.loc11_30.2, %specific_fn.loc11_30.2 [concrete = constants.%bound_method.b37] @@ -1004,10 +1004,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.type.0ec: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.2ed: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet.2ed [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.82d: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet.82d [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -1036,17 +1036,17 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %As.type.116: type = generic_interface_type @As [concrete] // CHECK:STDOUT: %As.generic: %As.type.116 = struct_value () [concrete] // CHECK:STDOUT: %As.type.d39: type = facet_type <@As, @As(%Cpp.long_long)> [concrete] -// CHECK:STDOUT: %As.impl_witness.cc2: = impl_witness imports.%As.impl_witness_table.742 [concrete] -// CHECK:STDOUT: %As.facet: %As.type.d39 = facet_value Core.IntLiteral, (%As.impl_witness.cc2) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.ee9: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.long_long, %As.facet) [concrete] -// CHECK:STDOUT: %.8af: type = fn_type_with_self_type %As.WithSelf.Convert.type.ee9, %As.facet [concrete] +// CHECK:STDOUT: %As.impl_witness.0f7: = impl_witness imports.%As.impl_witness_table.27c [concrete] +// CHECK:STDOUT: %As.facet: %As.type.d39 = facet_value Core.IntLiteral, (%As.impl_witness.0f7) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.702: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.long_long, %As.facet) [concrete] +// CHECK:STDOUT: %.d3f: type = fn_type_with_self_type %As.WithSelf.Convert.type.702, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.f86: = impl_witness imports.%ImplicitAs.impl_witness_table.da7 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.474: %ImplicitAs.type.7cb = facet_value %Cpp.long_long, (%ImplicitAs.impl_witness.f86) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.aef: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.474) [concrete] -// CHECK:STDOUT: %.c52: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.aef, %ImplicitAs.facet.474 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.9c1: = impl_witness imports.%ImplicitAs.impl_witness_table.859 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.c2c: %ImplicitAs.type.7cb = facet_value %Cpp.long_long, (%ImplicitAs.impl_witness.9c1) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.0ca: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.c2c) [concrete] +// CHECK:STDOUT: %.3f2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.0ca, %ImplicitAs.facet.c2c [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.long_long.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ImplicitAs.impl.Convert: %Cpp.long_long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.b19, %Cpp.long_long.as.ImplicitAs.impl.Convert [concrete] @@ -1062,12 +1062,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1109,7 +1109,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.LongLong64: type = import_ref Core//prelude/types/cpp/int, LongLong64, loaded [concrete = constants.%Cpp.long_long] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %LongLongResult.decl: type = class_decl @LongLongResult [concrete = constants.%LongLongResult] {} {} // CHECK:STDOUT: %PassLongLong.cpp_overload_set.value: %PassLongLong.cpp_overload_set.type = cpp_overload_set_value @PassLongLong.cpp_overload_set [concrete = constants.%PassLongLong.cpp_overload_set.value] // CHECK:STDOUT: %PassLongLong__carbon_thunk.decl.204cd1.1: %PassLongLong__carbon_thunk.type.4c6a2a.1 = fn_decl @PassLongLong__carbon_thunk.1 [concrete = constants.%PassLongLong__carbon_thunk.8eb04c.1] { @@ -1127,18 +1127,18 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.Float: %Float.type = import_ref Core//prelude/types/float, Float, loaded [concrete = constants.%Float.generic] // CHECK:STDOUT: %Core.As: %As.type.116 = import_ref Core//prelude/operators/as, As, loaded [concrete = constants.%As.generic] // CHECK:STDOUT: %Core.import_ref.06c923.2: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] -// CHECK:STDOUT: %As.impl_witness_table.742 = impl_witness_table (%Core.import_ref.06c923.2), @Core.IntLiteral.as.As.impl.084 [concrete] +// CHECK:STDOUT: %As.impl_witness_table.27c = impl_witness_table (%Core.import_ref.06c923.2), @Core.IntLiteral.as.As.impl.084 [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.3: %Cpp.long_long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.da7 = impl_witness_table (%Core.import_ref.06c923.3), @Cpp.long_long.as.ImplicitAs.impl.c90 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.859 = impl_witness_table (%Core.import_ref.06c923.3), @Cpp.long_long.as.ImplicitAs.impl.c90 [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc15: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc15: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc15: = bound_method %int_1.loc15, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.long_long = call %bound_method.loc15(%int_1.loc15) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc15_38.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.b19] @@ -1224,7 +1224,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc24_55.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc24_55: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc24_55: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc24_55.1: = bound_method %float, %impl.elem0.loc24_55 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc24_55, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_55.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] @@ -1241,12 +1241,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc24: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %long_long.ref.loc24: type = name_ref long_long, constants.%Cpp.long_long [concrete = constants.%Cpp.long_long] -// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.8af = impl_witness_access constants.%As.impl_witness.cc2, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.d3f = impl_witness_access constants.%As.impl_witness.0f7, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc24_30.1: = bound_method %int_1.loc24, %impl.elem0.loc24_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %Cpp.long_long = call %bound_method.loc24_30.1(%int_1.loc24) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc24_30.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc24_30.2: %Cpp.long_long = converted %int_1.loc24, %.loc24_30.1 [concrete = constants.%int_1.b19] -// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.c52 = impl_witness_access constants.%ImplicitAs.impl_witness.f86, element0 [concrete = constants.%Cpp.long_long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.3f2 = impl_witness_access constants.%ImplicitAs.impl_witness.9c1, element0 [concrete = constants.%Cpp.long_long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc24_30.2: = bound_method %.loc24_30.2, %impl.elem0.loc24_30.2 [concrete = constants.%Cpp.long_long.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Cpp.long_long.as.ImplicitAs.impl.Convert.call: init Core.IntLiteral = call %bound_method.loc24_30.2(%.loc24_30.2) [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc24_30.3: Core.IntLiteral = value_of_initializer %Cpp.long_long.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.5b8] @@ -1295,20 +1295,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ec: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_1.b19: %Cpp.long_long = int_value 1 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.d58 = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.d58 = var_pattern %b.patt [concrete] -// CHECK:STDOUT: %Copy.impl_witness.5c7: = impl_witness imports.%Copy.impl_witness_table.a14 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long_long, (%Copy.impl_witness.5c7) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4bd: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.3c3: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4bd, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ae: = impl_witness imports.%Copy.impl_witness_table.d10 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long_long, (%Copy.impl_witness.1ae) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.1b6: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.252: type = fn_type_with_self_type %Copy.WithSelf.Op.type.1b6, %Copy.facet [concrete] // CHECK:STDOUT: %Cpp.long_long.as.Copy.impl.Op.type: type = fn_type @Cpp.long_long.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long_long.as.Copy.impl.Op: %Cpp.long_long.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] @@ -1321,16 +1321,16 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %Core.import_ref.9c3: %Cpp.long_long.as.Copy.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.a14 = impl_witness_table (%Core.import_ref.9c3), @Cpp.long_long.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.d10 = impl_witness_table (%Core.import_ref.9c3), @Cpp.long_long.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CopyLongLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long_long = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.long_long = call %bound_method.loc8(%int_1) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc8_3: init %Cpp.long_long = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.b19] @@ -1347,7 +1347,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %b.var: ref %Cpp.long_long = var_storage %b.var_patt // CHECK:STDOUT: %a.ref: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %.loc9_33: %Cpp.long_long = acquire_value %a.ref -// CHECK:STDOUT: %impl.elem0.loc9: %.3c3 = impl_witness_access constants.%Copy.impl_witness.5c7, element0 [concrete = constants.%Cpp.long_long.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.252 = impl_witness_access constants.%Copy.impl_witness.1ae, element0 [concrete = constants.%Cpp.long_long.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %.loc9_33, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.long_long.as.Copy.impl.Op.call: init %Cpp.long_long = call %bound_method.loc9(%.loc9_33) // CHECK:STDOUT: assign %b.var, %Cpp.long_long.as.Copy.impl.Op.call @@ -1387,43 +1387,43 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.patt: %pattern_type.d58 = value_binding_pattern a [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ec: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long_long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_1.b19: %Cpp.long_long = int_value 1 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.d58 = value_binding_pattern b [concrete] // CHECK:STDOUT: %EqWith.type.9fc: type = facet_type <@EqWith, @EqWith(%Cpp.long_long)> [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.77a: = impl_witness imports.%EqWith.impl_witness_table.ed1 [concrete] -// CHECK:STDOUT: %EqWith.facet.757: %EqWith.type.9fc = facet_value %Cpp.long_long, (%EqWith.impl_witness.77a) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.140: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.757) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.eb1: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.757) [concrete] -// CHECK:STDOUT: %.ac4: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.140, %EqWith.facet.757 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.f8a: = impl_witness imports.%EqWith.impl_witness_table.0b8 [concrete] +// CHECK:STDOUT: %EqWith.facet.a82: %EqWith.type.9fc = facet_value %Cpp.long_long, (%EqWith.impl_witness.f8a) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.d0b: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.a82) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.e51: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.a82) [concrete] +// CHECK:STDOUT: %.594: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.d0b, %EqWith.facet.a82 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.78c: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.1ca: %Cpp.long_long.as.EqWith.impl.Equal.type.78c = struct_value () [concrete] -// CHECK:STDOUT: %.e72: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.eb1, %EqWith.facet.757 [concrete] +// CHECK:STDOUT: %.3ab: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.e51, %EqWith.facet.a82 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.8e5: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.a6a: %Cpp.long_long.as.EqWith.impl.NotEqual.type.8e5 = struct_value () [concrete] // CHECK:STDOUT: %OrderedWith.type.456: type = facet_type <@OrderedWith, @OrderedWith(%Cpp.long_long)> [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.4b7: = impl_witness imports.%OrderedWith.impl_witness_table.cc0 [concrete] -// CHECK:STDOUT: %OrderedWith.facet.cd7: %OrderedWith.type.456 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.4b7) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.ddc: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cd7) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.d85: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cd7) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.232: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cd7) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.1ff: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.cd7) [concrete] -// CHECK:STDOUT: %.4cd: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.232, %OrderedWith.facet.cd7 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.b11: = impl_witness imports.%OrderedWith.impl_witness_table.1aa [concrete] +// CHECK:STDOUT: %OrderedWith.facet.68f: %OrderedWith.type.456 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.b11) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.4ee: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.68f) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.3de: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.68f) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.41f: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.68f) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.517: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.68f) [concrete] +// CHECK:STDOUT: %.315: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.41f, %OrderedWith.facet.68f [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.type.725: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Greater.3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.7c8: %Cpp.long_long.as.OrderedWith.impl.Greater.type.725 = struct_value () [concrete] -// CHECK:STDOUT: %.c03: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.ddc, %OrderedWith.facet.cd7 [concrete] +// CHECK:STDOUT: %.c88: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.4ee, %OrderedWith.facet.68f [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.335: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.606: %Cpp.long_long.as.OrderedWith.impl.Less.type.335 = struct_value () [concrete] -// CHECK:STDOUT: %.ce5: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.1ff, %OrderedWith.facet.cd7 [concrete] +// CHECK:STDOUT: %.0fd: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.517, %OrderedWith.facet.68f [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.2d9: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.a09: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.2d9 = struct_value () [concrete] -// CHECK:STDOUT: %.663: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.d85, %OrderedWith.facet.cd7 [concrete] +// CHECK:STDOUT: %.d5a: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.3de, %OrderedWith.facet.68f [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.42c: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.3 [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0c8: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.42c = struct_value () [concrete] // CHECK:STDOUT: } @@ -1434,21 +1434,21 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %Core.import_ref.a87: %Cpp.long_long.as.EqWith.impl.Equal.type.78c = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.1ca] -// CHECK:STDOUT: %Core.import_ref.adc9b: %Cpp.long_long.as.EqWith.impl.NotEqual.type.8e5 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.a6a] -// CHECK:STDOUT: %EqWith.impl_witness_table.ed1 = impl_witness_table (%Core.import_ref.a87, %Core.import_ref.adc9b), @Cpp.long_long.as.EqWith.impl.eaa [concrete] +// CHECK:STDOUT: %Core.import_ref.adc9: %Cpp.long_long.as.EqWith.impl.NotEqual.type.8e5 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.a6a] +// CHECK:STDOUT: %EqWith.impl_witness_table.0b8 = impl_witness_table (%Core.import_ref.a87, %Core.import_ref.adc9), @Cpp.long_long.as.EqWith.impl.eaa [concrete] // CHECK:STDOUT: %Core.import_ref.0e8: %Cpp.long_long.as.OrderedWith.impl.Less.type.335 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.606] // CHECK:STDOUT: %Core.import_ref.757ec: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.42c = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0c8] // CHECK:STDOUT: %Core.import_ref.c32c: %Cpp.long_long.as.OrderedWith.impl.Greater.type.725 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.7c8] // CHECK:STDOUT: %Core.import_ref.381: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.2d9 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.a09] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.cc0 = impl_witness_table (%Core.import_ref.0e8, %Core.import_ref.757ec, %Core.import_ref.c32c, %Core.import_ref.381), @Cpp.long_long.as.OrderedWith.impl.278 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.0e8, %Core.import_ref.757ec, %Core.import_ref.c32c, %Core.import_ref.381), @Cpp.long_long.as.OrderedWith.impl.278 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @ComparisonsHomogeneousLongLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long_long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc8_26.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.b19] @@ -1462,7 +1462,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.patt: %pattern_type.d58 = value_binding_pattern a [concrete = constants.%a.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long_long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc9_26.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.b19] @@ -1477,32 +1477,32 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc10: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc10: %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10: %.ac4 = impl_witness_access constants.%EqWith.impl_witness.77a, element0 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.1ca] +// CHECK:STDOUT: %impl.elem0.loc10: %.594 = impl_witness_access constants.%EqWith.impl_witness.f8a, element0 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.1ca] // CHECK:STDOUT: %bound_method.loc10: = bound_method %a.ref.loc10, %impl.elem0.loc10 // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.call: init bool = call %bound_method.loc10(%a.ref.loc10, %b.ref.loc10) // CHECK:STDOUT: %a.ref.loc11: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc11: %.e72 = impl_witness_access constants.%EqWith.impl_witness.77a, element1 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.a6a] +// CHECK:STDOUT: %impl.elem1.loc11: %.3ab = impl_witness_access constants.%EqWith.impl_witness.f8a, element1 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.a6a] // CHECK:STDOUT: %bound_method.loc11: = bound_method %a.ref.loc11, %impl.elem1.loc11 // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.call: init bool = call %bound_method.loc11(%a.ref.loc11, %b.ref.loc11) // CHECK:STDOUT: %a.ref.loc12: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem2: %.4cd = impl_witness_access constants.%OrderedWith.impl_witness.4b7, element2 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.7c8] +// CHECK:STDOUT: %impl.elem2: %.315 = impl_witness_access constants.%OrderedWith.impl_witness.b11, element2 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.7c8] // CHECK:STDOUT: %bound_method.loc12: = bound_method %a.ref.loc12, %impl.elem2 // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.call: init bool = call %bound_method.loc12(%a.ref.loc12, %b.ref.loc12) // CHECK:STDOUT: %a.ref.loc13: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13: %.c03 = impl_witness_access constants.%OrderedWith.impl_witness.4b7, element0 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.606] +// CHECK:STDOUT: %impl.elem0.loc13: %.c88 = impl_witness_access constants.%OrderedWith.impl_witness.b11, element0 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.606] // CHECK:STDOUT: %bound_method.loc13: = bound_method %a.ref.loc13, %impl.elem0.loc13 // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.call: init bool = call %bound_method.loc13(%a.ref.loc13, %b.ref.loc13) // CHECK:STDOUT: %a.ref.loc14: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem3: %.ce5 = impl_witness_access constants.%OrderedWith.impl_witness.4b7, element3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.a09] +// CHECK:STDOUT: %impl.elem3: %.0fd = impl_witness_access constants.%OrderedWith.impl_witness.b11, element3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.a09] // CHECK:STDOUT: %bound_method.loc14: = bound_method %a.ref.loc14, %impl.elem3 // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.call: init bool = call %bound_method.loc14(%a.ref.loc14, %b.ref.loc14) // CHECK:STDOUT: %a.ref.loc15: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc15: %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc15: %.663 = impl_witness_access constants.%OrderedWith.impl_witness.4b7, element1 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0c8] +// CHECK:STDOUT: %impl.elem1.loc15: %.d5a = impl_witness_access constants.%OrderedWith.impl_witness.b11, element1 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0c8] // CHECK:STDOUT: %bound_method.loc15: = bound_method %a.ref.loc15, %impl.elem1.loc15 // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.call: init bool = call %bound_method.loc15(%a.ref.loc15, %b.ref.loc15) // CHECK:STDOUT: @@ -1518,10 +1518,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %pattern_type.d58: type = pattern_type %Cpp.long_long [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.d58 = value_binding_pattern a [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ec: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long_long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.2ed: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet.2ed [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.82d: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet.82d [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -1537,30 +1537,30 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.f2c091.2: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.2, @Cpp.long_long.as.EqWith.impl.600(%T.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.ec6d64.2: %Cpp.long_long.as.EqWith.impl.Equal.type.f2c091.2 = struct_value () [symbolic] // CHECK:STDOUT: %EqWith.type.aee: type = facet_type <@EqWith, @EqWith(Core.IntLiteral)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.305: = impl_witness imports.%ImplicitAs.impl_witness_table.a87 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.7a4: %ImplicitAs.type.0ec = facet_value %i64, (%ImplicitAs.impl_witness.305) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.621: = impl_witness imports.%EqWith.impl_witness_table.efb, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.73aeb2.1: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.2, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.01ccf4.1: %Cpp.long_long.as.EqWith.impl.Equal.type.73aeb2.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.7f7ea7.1: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.2, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.ac575d.1: %Cpp.long_long.as.EqWith.impl.NotEqual.type.7f7ea7.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.73aeb2.2: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.1, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.01ccf4.2: %Cpp.long_long.as.EqWith.impl.Equal.type.73aeb2.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.7f7ea7.2: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.1, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.ac575d.2: %Cpp.long_long.as.EqWith.impl.NotEqual.type.7f7ea7.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.016: %EqWith.type.d67 = facet_value %Cpp.long_long, (%EqWith.impl_witness.621) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.e1d: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i64, %EqWith.facet.016) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.0d6: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i64, %EqWith.facet.016) [concrete] -// CHECK:STDOUT: %.5d2: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.e1d, %EqWith.facet.016 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.2dd31b.1: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.01ccf4.2, @Cpp.long_long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.2dd31b.2: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.01ccf4.1, @Cpp.long_long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.3ae: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.25e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.3ae, %ImplicitAs.facet.7a4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.b39: = impl_witness imports.%ImplicitAs.impl_witness_table.527 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.2d9: %ImplicitAs.type.0ec = facet_value %i64, (%ImplicitAs.impl_witness.b39) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.38f: = impl_witness imports.%EqWith.impl_witness_table.48a, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.f5043e.1: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.2, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.c62891.1: %Cpp.long_long.as.EqWith.impl.Equal.type.f5043e.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.db0c7e.1: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.2, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.d7a6e1.1: %Cpp.long_long.as.EqWith.impl.NotEqual.type.db0c7e.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.f5043e.2: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.1, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.c62891.2: %Cpp.long_long.as.EqWith.impl.Equal.type.f5043e.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.db0c7e.2: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.1, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.d7a6e1.2: %Cpp.long_long.as.EqWith.impl.NotEqual.type.db0c7e.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.651: %EqWith.type.d67 = facet_value %Cpp.long_long, (%EqWith.impl_witness.38f) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.d36: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%i64, %EqWith.facet.651) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.9bb: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%i64, %EqWith.facet.651) [concrete] +// CHECK:STDOUT: %.195: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.d36, %EqWith.facet.651 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.845748.1: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.c62891.2, @Cpp.long_long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.845748.2: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.c62891.1, @Cpp.long_long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.561: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.c2b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.561, %ImplicitAs.facet.2d9 [concrete] // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.type: type = fn_type @i64.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert: %i64.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %.c98: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.0d6, %EqWith.facet.016 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.38af67.1: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.ac575d.2, @Cpp.long_long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.38af67.2: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.ac575d.1, @Cpp.long_long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %.7f6: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.9bb, %EqWith.facet.651 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.00e4d4.1: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.d7a6e1.2, @Cpp.long_long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.00e4d4.2: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.d7a6e1.1, @Cpp.long_long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %OrderedWith.type.af1: type = facet_type <@OrderedWith, @OrderedWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.362d6d.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.deb(%T.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.c812d5.1: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.362d6d.1 = struct_value () [symbolic] @@ -1579,92 +1579,92 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.a2518e.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.2, @Cpp.long_long.as.OrderedWith.impl.deb(%T.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.0057df.2: %Cpp.long_long.as.OrderedWith.impl.Less.type.a2518e.2 = struct_value () [symbolic] // CHECK:STDOUT: %OrderedWith.type.975: type = facet_type <@OrderedWith, @OrderedWith(Core.IntLiteral)> [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.d8f: = impl_witness imports.%OrderedWith.impl_witness_table.cdc, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.c8dbf2.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.844627.1: %Cpp.long_long.as.OrderedWith.impl.Less.type.c8dbf2.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.128dfd.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.ba53b2.1: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.128dfd.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.type.88b872.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Greater.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.b57b33.1: %Cpp.long_long.as.OrderedWith.impl.Greater.type.88b872.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.78fc74.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.4798a8.1: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.78fc74.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.c8dbf2.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.844627.2: %Cpp.long_long.as.OrderedWith.impl.Less.type.c8dbf2.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.128dfd.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.ba53b2.2: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.128dfd.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.type.88b872.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Greater.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.b57b33.2: %Cpp.long_long.as.OrderedWith.impl.Greater.type.88b872.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.78fc74.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.4798a8.2: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.78fc74.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.519: %OrderedWith.type.af1 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.d8f) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.f1a: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.519) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.e05: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.519) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.005: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.519) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.86e: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.519) [concrete] -// CHECK:STDOUT: %.105: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.005, %OrderedWith.facet.519 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.625b09.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.b57b33.2, @Cpp.long_long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.625b09.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.b57b33.1, @Cpp.long_long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.054: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.f1a, %OrderedWith.facet.519 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.53698d.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Less.844627.2, @Cpp.long_long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.53698d.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Less.844627.1, @Cpp.long_long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.bb8: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.86e, %OrderedWith.facet.519 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.1115b0.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.4798a8.2, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.1115b0.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.4798a8.1, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.6e5: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.e05, %OrderedWith.facet.519 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3cc3f1.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.ba53b2.2, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3cc3f1.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.ba53b2.1, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.fa6: = impl_witness imports.%EqWith.impl_witness_table.efb, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.520dd9.1: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.2, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.f6cc6a.1: %Cpp.long_long.as.EqWith.impl.Equal.type.520dd9.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.dc208e.1: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.2, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.06262e.1: %Cpp.long_long.as.EqWith.impl.NotEqual.type.dc208e.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.520dd9.2: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.1, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.f6cc6a.2: %Cpp.long_long.as.EqWith.impl.Equal.type.520dd9.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.dc208e.2: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.1, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.06262e.2: %Cpp.long_long.as.EqWith.impl.NotEqual.type.dc208e.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.0eb: %EqWith.type.aee = facet_value %Cpp.long_long, (%EqWith.impl_witness.fa6) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.97a: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.0eb) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.f3e: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.0eb) [concrete] -// CHECK:STDOUT: %.590: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.97a, %EqWith.facet.0eb [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.3ab10a.1: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.f6cc6a.2, @Cpp.long_long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.3ab10a.2: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.f6cc6a.1, @Cpp.long_long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.97f: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.f3e, %EqWith.facet.0eb [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.8d8af1.1: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.06262e.2, @Cpp.long_long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.8d8af1.2: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.06262e.1, @Cpp.long_long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.784: = impl_witness imports.%OrderedWith.impl_witness_table.cdc, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.29a8c5.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.7bb755.1: %Cpp.long_long.as.OrderedWith.impl.Less.type.29a8c5.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.c460d8.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0b5eb3.1: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.c460d8.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.type.f8fc10.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Greater.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.a43ce7.1: %Cpp.long_long.as.OrderedWith.impl.Greater.type.f8fc10.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.6f3433.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2b5b9d.1: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.6f3433.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.29a8c5.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.7bb755.2: %Cpp.long_long.as.OrderedWith.impl.Less.type.29a8c5.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.c460d8.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0b5eb3.2: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.c460d8.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.type.f8fc10.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Greater.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.a43ce7.2: %Cpp.long_long.as.OrderedWith.impl.Greater.type.f8fc10.2 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.6f3433.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2b5b9d.2: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.6f3433.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.84c: %OrderedWith.type.975 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.784) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.05e: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.84c) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.437: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.84c) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.ce0: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.84c) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.b92: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.84c) [concrete] -// CHECK:STDOUT: %.671: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.ce0, %OrderedWith.facet.84c [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.50a98d.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.a43ce7.2, @Cpp.long_long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.50a98d.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.a43ce7.1, @Cpp.long_long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.168: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.05e, %OrderedWith.facet.84c [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.ac6947.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Less.7bb755.2, @Cpp.long_long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.ac6947.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Less.7bb755.1, @Cpp.long_long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.db2: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.b92, %OrderedWith.facet.84c [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.32ac6e.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2b5b9d.2, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.32ac6e.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2b5b9d.1, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.ada: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.437, %OrderedWith.facet.84c [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.640035.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0b5eb3.2, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.640035.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0b5eb3.1, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.2ed) [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.c78: = impl_witness imports.%OrderedWith.impl_witness_table.fe4, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.82967f.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.a485d6.1: %Cpp.long_long.as.OrderedWith.impl.Less.type.82967f.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.8801f7.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.397e23.1: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.8801f7.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.type.eb31d3.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Greater.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.ab0365.1: %Cpp.long_long.as.OrderedWith.impl.Greater.type.eb31d3.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.9f5592.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.8ff390.1: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.9f5592.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.82967f.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.a485d6.2: %Cpp.long_long.as.OrderedWith.impl.Less.type.82967f.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.8801f7.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.397e23.2: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.8801f7.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.type.eb31d3.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Greater.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.ab0365.2: %Cpp.long_long.as.OrderedWith.impl.Greater.type.eb31d3.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.9f5592.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.8ff390.2: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.9f5592.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.233: %OrderedWith.type.af1 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.c78) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.997: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.233) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.943: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.233) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.f31: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.233) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.ee5: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%i64, %OrderedWith.facet.233) [concrete] +// CHECK:STDOUT: %.76d: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.f31, %OrderedWith.facet.233 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.c5d4fc.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.ab0365.2, @Cpp.long_long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.c5d4fc.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.ab0365.1, @Cpp.long_long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.7d2: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.997, %OrderedWith.facet.233 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.8e4ef9.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Less.a485d6.2, @Cpp.long_long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.8e4ef9.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Less.a485d6.1, @Cpp.long_long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.b5c: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.ee5, %OrderedWith.facet.233 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.989912.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.8ff390.2, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.989912.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.8ff390.1, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.f03: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.943, %OrderedWith.facet.233 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3de39c.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.397e23.2, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3de39c.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.397e23.1, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.533: = impl_witness imports.%EqWith.impl_witness_table.48a, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.b8a20f.1: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.2, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.1d70c3.1: %Cpp.long_long.as.EqWith.impl.Equal.type.b8a20f.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.3d956b.1: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.2, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.065d96.1: %Cpp.long_long.as.EqWith.impl.NotEqual.type.3d956b.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.type.b8a20f.2: type = fn_type @Cpp.long_long.as.EqWith.impl.Equal.1, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.1d70c3.2: %Cpp.long_long.as.EqWith.impl.Equal.type.b8a20f.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.type.3d956b.2: type = fn_type @Cpp.long_long.as.EqWith.impl.NotEqual.1, @Cpp.long_long.as.EqWith.impl.600(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.065d96.2: %Cpp.long_long.as.EqWith.impl.NotEqual.type.3d956b.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.91e: %EqWith.type.aee = facet_value %Cpp.long_long, (%EqWith.impl_witness.533) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.4ae: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.91e) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.d74: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(Core.IntLiteral, %EqWith.facet.91e) [concrete] +// CHECK:STDOUT: %.65b: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.4ae, %EqWith.facet.91e [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.0f23b0.1: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.1d70c3.2, @Cpp.long_long.as.EqWith.impl.Equal.1(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.0f23b0.2: = specific_function %Cpp.long_long.as.EqWith.impl.Equal.1d70c3.1, @Cpp.long_long.as.EqWith.impl.Equal.2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.e0c: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.d74, %EqWith.facet.91e [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.08840e.1: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.065d96.2, @Cpp.long_long.as.EqWith.impl.NotEqual.1(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.08840e.2: = specific_function %Cpp.long_long.as.EqWith.impl.NotEqual.065d96.1, @Cpp.long_long.as.EqWith.impl.NotEqual.2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.9a7: = impl_witness imports.%OrderedWith.impl_witness_table.fe4, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.a66e6f.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.c909a5.1: %Cpp.long_long.as.OrderedWith.impl.Less.type.a66e6f.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.187e43.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.40c7fd.1: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.187e43.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.type.a8e4b9.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Greater.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.0fe70e.1: %Cpp.long_long.as.OrderedWith.impl.Greater.type.a8e4b9.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.d4199c.1: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.31eeab.1: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.d4199c.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.type.a66e6f.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Less.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.c909a5.2: %Cpp.long_long.as.OrderedWith.impl.Less.type.a66e6f.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.187e43.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.40c7fd.2: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.187e43.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.type.a8e4b9.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.Greater.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.0fe70e.2: %Cpp.long_long.as.OrderedWith.impl.Greater.type.a8e4b9.2 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.d4199c.2: type = fn_type @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1, @Cpp.long_long.as.OrderedWith.impl.deb(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.31eeab.2: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.d4199c.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.c1d: %OrderedWith.type.975 = facet_value %Cpp.long_long, (%OrderedWith.impl_witness.9a7) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.863: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.c1d) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.2c2: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.c1d) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.8ed: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.c1d) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.d59: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(Core.IntLiteral, %OrderedWith.facet.c1d) [concrete] +// CHECK:STDOUT: %.6b2: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.8ed, %OrderedWith.facet.c1d [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.84b722.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.0fe70e.2, @Cpp.long_long.as.OrderedWith.impl.Greater.1(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.84b722.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Greater.0fe70e.1, @Cpp.long_long.as.OrderedWith.impl.Greater.2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.bc2: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.863, %OrderedWith.facet.c1d [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.5f22b4.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.Less.c909a5.2, @Cpp.long_long.as.OrderedWith.impl.Less.1(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.5f22b4.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.Less.c909a5.1, @Cpp.long_long.as.OrderedWith.impl.Less.2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.1fa: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.d59, %OrderedWith.facet.c1d [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.aae3bc.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.31eeab.2, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.aae3bc.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.31eeab.1, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.409: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.2c2, %OrderedWith.facet.c1d [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.bb0e9f.1: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.40c7fd.2, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.bb0e9f.2: = specific_function %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.40c7fd.1, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2(%ImplicitAs.facet.82d) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -1673,19 +1673,19 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %Core.import_ref.7e1: @Cpp.long_long.as.EqWith.impl.600.%Cpp.long_long.as.EqWith.impl.Equal.type.2 (%Cpp.long_long.as.EqWith.impl.Equal.type.f2c091.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.EqWith.impl.600.%Cpp.long_long.as.EqWith.impl.Equal.2 (constants.%Cpp.long_long.as.EqWith.impl.Equal.ec6d64.1)] // CHECK:STDOUT: %Core.import_ref.ba29: @Cpp.long_long.as.EqWith.impl.600.%Cpp.long_long.as.EqWith.impl.NotEqual.type.2 (%Cpp.long_long.as.EqWith.impl.NotEqual.type.b639b1.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.EqWith.impl.600.%Cpp.long_long.as.EqWith.impl.NotEqual.2 (constants.%Cpp.long_long.as.EqWith.impl.NotEqual.4b5f60.1)] -// CHECK:STDOUT: %EqWith.impl_witness_table.efb = impl_witness_table (%Core.import_ref.7e1, %Core.import_ref.ba29), @Cpp.long_long.as.EqWith.impl.600 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table.48a = impl_witness_table (%Core.import_ref.7e1, %Core.import_ref.ba29), @Cpp.long_long.as.EqWith.impl.600 [concrete] // CHECK:STDOUT: %Core.Equal.cce: @Cpp.long_long.as.EqWith.impl.600.%Cpp.long_long.as.EqWith.impl.Equal.type.1 (%Cpp.long_long.as.EqWith.impl.Equal.type.f2c091.2) = import_ref Core//prelude/types/cpp/int, Equal, loaded [symbolic = @Cpp.long_long.as.EqWith.impl.600.%Cpp.long_long.as.EqWith.impl.Equal.1 (constants.%Cpp.long_long.as.EqWith.impl.Equal.ec6d64.2)] // CHECK:STDOUT: %Core.NotEqual.422: @Cpp.long_long.as.EqWith.impl.600.%Cpp.long_long.as.EqWith.impl.NotEqual.type.1 (%Cpp.long_long.as.EqWith.impl.NotEqual.type.b639b1.2) = import_ref Core//prelude/types/cpp/int, NotEqual, loaded [symbolic = @Cpp.long_long.as.EqWith.impl.600.%Cpp.long_long.as.EqWith.impl.NotEqual.1 (constants.%Cpp.long_long.as.EqWith.impl.NotEqual.4b5f60.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %i64.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i64.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a87 = impl_witness_table (%Core.import_ref.06c923.2), @i64.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.527 = impl_witness_table (%Core.import_ref.06c923.2), @i64.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.020: @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.Less.type.2 (%Cpp.long_long.as.OrderedWith.impl.Less.type.a2518e.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.Less.2 (constants.%Cpp.long_long.as.OrderedWith.impl.Less.0057df.1)] // CHECK:STDOUT: %Core.import_ref.152: @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.2 (%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.7ff5fb.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.33bdbc.1)] // CHECK:STDOUT: %Core.import_ref.ba3: @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.Greater.type.2 (%Cpp.long_long.as.OrderedWith.impl.Greater.type.9c33c6.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.Greater.2 (constants.%Cpp.long_long.as.OrderedWith.impl.Greater.692f01.1)] // CHECK:STDOUT: %Core.import_ref.cea: @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.2 (%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.362d6d.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2 (constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.c812d5.1)] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.cdc = impl_witness_table (%Core.import_ref.020, %Core.import_ref.152, %Core.import_ref.ba3, %Core.import_ref.cea), @Cpp.long_long.as.OrderedWith.impl.deb [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.fe4 = impl_witness_table (%Core.import_ref.020, %Core.import_ref.152, %Core.import_ref.ba3, %Core.import_ref.cea), @Cpp.long_long.as.OrderedWith.impl.deb [concrete] // CHECK:STDOUT: %Core.Less.868: @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.Less.type.1 (%Cpp.long_long.as.OrderedWith.impl.Less.type.a2518e.2) = import_ref Core//prelude/types/cpp/int, Less, loaded [symbolic = @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.Less.1 (constants.%Cpp.long_long.as.OrderedWith.impl.Less.0057df.2)] // CHECK:STDOUT: %Core.LessOrEquivalent.211: @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.1 (%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.7ff5fb.2) = import_ref Core//prelude/types/cpp/int, LessOrEquivalent, loaded [symbolic = @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1 (constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.33bdbc.2)] // CHECK:STDOUT: %Core.Greater.91c: @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.Greater.type.1 (%Cpp.long_long.as.OrderedWith.impl.Greater.type.9c33c6.2) = import_ref Core//prelude/types/cpp/int, Greater, loaded [symbolic = @Cpp.long_long.as.OrderedWith.impl.deb.%Cpp.long_long.as.OrderedWith.impl.Greater.1 (constants.%Cpp.long_long.as.OrderedWith.impl.Greater.692f01.2)] @@ -1696,7 +1696,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long_long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc9_26.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.b19] @@ -1711,20 +1711,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc10: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc10: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10_5: %.5d2 = impl_witness_access constants.%EqWith.impl_witness.621, element0 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.01ccf4.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.195 = impl_witness_access constants.%EqWith.impl_witness.38f, element0 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.c62891.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %a.ref.loc10, %impl.elem0.loc10_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long_long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.specific_fn.2dd31b.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long_long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.specific_fn.845748.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %a.ref.loc10, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5.3: %Cpp.long_long.as.EqWith.impl.Equal.type.73aeb2.1 = specific_constant imports.%Core.Equal.cce, @Cpp.long_long.as.EqWith.impl.600(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.01ccf4.1] -// CHECK:STDOUT: %Equal.ref.loc10: %Cpp.long_long.as.EqWith.impl.Equal.type.73aeb2.1 = name_ref Equal, %.loc10_5.3 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.01ccf4.1] +// CHECK:STDOUT: %.loc10_5.3: %Cpp.long_long.as.EqWith.impl.Equal.type.f5043e.1 = specific_constant imports.%Core.Equal.cce, @Cpp.long_long.as.EqWith.impl.600(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.c62891.1] +// CHECK:STDOUT: %Equal.ref.loc10: %Cpp.long_long.as.EqWith.impl.Equal.type.f5043e.1 = name_ref Equal, %.loc10_5.3 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.c62891.1] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.bound.loc10: = bound_method %a.ref.loc10, %Equal.ref.loc10 -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.loc10: = specific_function %Equal.ref.loc10, @Cpp.long_long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.specific_fn.2dd31b.2] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.loc10: = specific_function %Equal.ref.loc10, @Cpp.long_long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.specific_fn.845748.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %a.ref.loc10, %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.loc10 -// CHECK:STDOUT: %impl.elem0.loc10_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_8: = bound_method %b.ref.loc10, %impl.elem0.loc10_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc10: init %Cpp.long_long = call %bound_method.loc10_8(%b.ref.loc10) // CHECK:STDOUT: %.loc10_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc10 @@ -1732,20 +1732,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.call.loc10: init bool = call %bound_method.loc10_5.3(%a.ref.loc10, %.loc10_8.2) // CHECK:STDOUT: %a.ref.loc11: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc11: %.c98 = impl_witness_access constants.%EqWith.impl_witness.621, element1 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.ac575d.2] +// CHECK:STDOUT: %impl.elem1.loc11: %.7f6 = impl_witness_access constants.%EqWith.impl_witness.38f, element1 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.d7a6e1.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %a.ref.loc11, %impl.elem1.loc11 -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @Cpp.long_long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.38af67.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @Cpp.long_long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.00e4d4.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %a.ref.loc11, %specific_fn.loc11 -// CHECK:STDOUT: %.loc11_5.3: %Cpp.long_long.as.EqWith.impl.NotEqual.type.7f7ea7.1 = specific_constant imports.%Core.NotEqual.422, @Cpp.long_long.as.EqWith.impl.600(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.ac575d.1] -// CHECK:STDOUT: %NotEqual.ref.loc11: %Cpp.long_long.as.EqWith.impl.NotEqual.type.7f7ea7.1 = name_ref NotEqual, %.loc11_5.3 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.ac575d.1] +// CHECK:STDOUT: %.loc11_5.3: %Cpp.long_long.as.EqWith.impl.NotEqual.type.db0c7e.1 = specific_constant imports.%Core.NotEqual.422, @Cpp.long_long.as.EqWith.impl.600(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.d7a6e1.1] +// CHECK:STDOUT: %NotEqual.ref.loc11: %Cpp.long_long.as.EqWith.impl.NotEqual.type.db0c7e.1 = name_ref NotEqual, %.loc11_5.3 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.d7a6e1.1] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.bound.loc11: = bound_method %a.ref.loc11, %NotEqual.ref.loc11 -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.loc11: = specific_function %NotEqual.ref.loc11, @Cpp.long_long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.38af67.2] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.loc11: = specific_function %NotEqual.ref.loc11, @Cpp.long_long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.00e4d4.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %a.ref.loc11, %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.loc11 -// CHECK:STDOUT: %impl.elem0.loc11: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_8: = bound_method %b.ref.loc11, %impl.elem0.loc11 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc11: init %Cpp.long_long = call %bound_method.loc11_8(%b.ref.loc11) // CHECK:STDOUT: %.loc11_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc11 @@ -1753,20 +1753,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.call.loc11: init bool = call %bound_method.loc11_5.3(%a.ref.loc11, %.loc11_8.2) // CHECK:STDOUT: %a.ref.loc12: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem2.loc12: %.105 = impl_witness_access constants.%OrderedWith.impl_witness.d8f, element2 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.b57b33.2] +// CHECK:STDOUT: %impl.elem2.loc12: %.76d = impl_witness_access constants.%OrderedWith.impl_witness.c78, element2 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.ab0365.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %a.ref.loc12, %impl.elem2.loc12 -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @Cpp.long_long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.625b09.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @Cpp.long_long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.c5d4fc.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %a.ref.loc12, %specific_fn.loc12 -// CHECK:STDOUT: %.loc12_5.3: %Cpp.long_long.as.OrderedWith.impl.Greater.type.88b872.1 = specific_constant imports.%Core.Greater.91c, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.b57b33.1] -// CHECK:STDOUT: %Greater.ref.loc12: %Cpp.long_long.as.OrderedWith.impl.Greater.type.88b872.1 = name_ref Greater, %.loc12_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.b57b33.1] +// CHECK:STDOUT: %.loc12_5.3: %Cpp.long_long.as.OrderedWith.impl.Greater.type.eb31d3.1 = specific_constant imports.%Core.Greater.91c, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.ab0365.1] +// CHECK:STDOUT: %Greater.ref.loc12: %Cpp.long_long.as.OrderedWith.impl.Greater.type.eb31d3.1 = name_ref Greater, %.loc12_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.ab0365.1] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.bound.loc12: = bound_method %a.ref.loc12, %Greater.ref.loc12 -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.loc12: = specific_function %Greater.ref.loc12, @Cpp.long_long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.625b09.2] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.loc12: = specific_function %Greater.ref.loc12, @Cpp.long_long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.c5d4fc.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %a.ref.loc12, %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.loc12 -// CHECK:STDOUT: %impl.elem0.loc12: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc12: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc12_7: = bound_method %b.ref.loc12, %impl.elem0.loc12 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc12: init %Cpp.long_long = call %bound_method.loc12_7(%b.ref.loc12) // CHECK:STDOUT: %.loc12_7.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc12 @@ -1774,20 +1774,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.call.loc12: init bool = call %bound_method.loc12_5.3(%a.ref.loc12, %.loc12_7.2) // CHECK:STDOUT: %a.ref.loc13: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13_5: %.054 = impl_witness_access constants.%OrderedWith.impl_witness.d8f, element0 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.844627.2] +// CHECK:STDOUT: %impl.elem0.loc13_5: %.7d2 = impl_witness_access constants.%OrderedWith.impl_witness.c78, element0 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.a485d6.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %a.ref.loc13, %impl.elem0.loc13_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Cpp.long_long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.53698d.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Cpp.long_long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.8e4ef9.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %a.ref.loc13, %specific_fn.loc13 -// CHECK:STDOUT: %.loc13_5.3: %Cpp.long_long.as.OrderedWith.impl.Less.type.c8dbf2.1 = specific_constant imports.%Core.Less.868, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.844627.1] -// CHECK:STDOUT: %Less.ref.loc13: %Cpp.long_long.as.OrderedWith.impl.Less.type.c8dbf2.1 = name_ref Less, %.loc13_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.844627.1] +// CHECK:STDOUT: %.loc13_5.3: %Cpp.long_long.as.OrderedWith.impl.Less.type.82967f.1 = specific_constant imports.%Core.Less.868, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.a485d6.1] +// CHECK:STDOUT: %Less.ref.loc13: %Cpp.long_long.as.OrderedWith.impl.Less.type.82967f.1 = name_ref Less, %.loc13_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.a485d6.1] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.bound.loc13: = bound_method %a.ref.loc13, %Less.ref.loc13 -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.loc13: = specific_function %Less.ref.loc13, @Cpp.long_long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.53698d.2] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.loc13: = specific_function %Less.ref.loc13, @Cpp.long_long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.8e4ef9.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %a.ref.loc13, %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.loc13 -// CHECK:STDOUT: %impl.elem0.loc13_7: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc13_7: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc13_7: = bound_method %b.ref.loc13, %impl.elem0.loc13_7 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc13: init %Cpp.long_long = call %bound_method.loc13_7(%b.ref.loc13) // CHECK:STDOUT: %.loc13_7.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc13 @@ -1795,20 +1795,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.call.loc13: init bool = call %bound_method.loc13_5.3(%a.ref.loc13, %.loc13_7.2) // CHECK:STDOUT: %a.ref.loc14: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem3.loc14: %.bb8 = impl_witness_access constants.%OrderedWith.impl_witness.d8f, element3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.4798a8.2] +// CHECK:STDOUT: %impl.elem3.loc14: %.b5c = impl_witness_access constants.%OrderedWith.impl_witness.c78, element3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.8ff390.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %a.ref.loc14, %impl.elem3.loc14 -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.1115b0.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.989912.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %a.ref.loc14, %specific_fn.loc14 -// CHECK:STDOUT: %.loc14_5.3: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.78fc74.1 = specific_constant imports.%Core.GreaterOrEquivalent.7ba, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.4798a8.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.78fc74.1 = name_ref GreaterOrEquivalent, %.loc14_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.4798a8.1] +// CHECK:STDOUT: %.loc14_5.3: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.9f5592.1 = specific_constant imports.%Core.GreaterOrEquivalent.7ba, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.8ff390.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.9f5592.1 = name_ref GreaterOrEquivalent, %.loc14_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.8ff390.1] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc14: = bound_method %a.ref.loc14, %GreaterOrEquivalent.ref.loc14 -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14: = specific_function %GreaterOrEquivalent.ref.loc14, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.1115b0.2] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14: = specific_function %GreaterOrEquivalent.ref.loc14, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.989912.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %a.ref.loc14, %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14 -// CHECK:STDOUT: %impl.elem0.loc14: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc14: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc14_8: = bound_method %b.ref.loc14, %impl.elem0.loc14 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc14: init %Cpp.long_long = call %bound_method.loc14_8(%b.ref.loc14) // CHECK:STDOUT: %.loc14_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc14 @@ -1816,20 +1816,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.call.loc14: init bool = call %bound_method.loc14_5.3(%a.ref.loc14, %.loc14_8.2) // CHECK:STDOUT: %a.ref.loc15: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc15: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem1.loc15: %.6e5 = impl_witness_access constants.%OrderedWith.impl_witness.d8f, element1 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.ba53b2.2] +// CHECK:STDOUT: %impl.elem1.loc15: %.f03 = impl_witness_access constants.%OrderedWith.impl_witness.c78, element1 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.397e23.2] // CHECK:STDOUT: %bound_method.loc15_5.1: = bound_method %a.ref.loc15, %impl.elem1.loc15 -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3cc3f1.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3de39c.1] // CHECK:STDOUT: %bound_method.loc15_5.2: = bound_method %a.ref.loc15, %specific_fn.loc15 -// CHECK:STDOUT: %.loc15_5.3: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.128dfd.1 = specific_constant imports.%Core.LessOrEquivalent.211, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.ba53b2.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.128dfd.1 = name_ref LessOrEquivalent, %.loc15_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.ba53b2.1] +// CHECK:STDOUT: %.loc15_5.3: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.8801f7.1 = specific_constant imports.%Core.LessOrEquivalent.211, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.397e23.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.8801f7.1 = name_ref LessOrEquivalent, %.loc15_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.397e23.1] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.bound.loc15: = bound_method %a.ref.loc15, %LessOrEquivalent.ref.loc15 -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15: = specific_function %LessOrEquivalent.ref.loc15, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3cc3f1.2] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15: = specific_function %LessOrEquivalent.ref.loc15, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.3de39c.2] // CHECK:STDOUT: %bound_method.loc15_5.3: = bound_method %a.ref.loc15, %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15 -// CHECK:STDOUT: %impl.elem0.loc15: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc15: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc15_8: = bound_method %b.ref.loc15, %impl.elem0.loc15 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc15: init %Cpp.long_long = call %bound_method.loc15_8(%b.ref.loc15) // CHECK:STDOUT: %.loc15_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc15 @@ -1837,20 +1837,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.call.loc15: init bool = call %bound_method.loc15_5.3(%a.ref.loc15, %.loc15_8.2) // CHECK:STDOUT: %a.ref.loc17: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc17_5: %.590 = impl_witness_access constants.%EqWith.impl_witness.fa6, element0 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.f6cc6a.2] +// CHECK:STDOUT: %impl.elem0.loc17_5: %.65b = impl_witness_access constants.%EqWith.impl_witness.533, element0 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.1d70c3.2] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %a.ref.loc17, %impl.elem0.loc17_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long_long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.specific_fn.3ab10a.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long_long.as.EqWith.impl.Equal.1(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.specific_fn.0f23b0.1] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %a.ref.loc17, %specific_fn.loc17 -// CHECK:STDOUT: %.loc17_5.3: %Cpp.long_long.as.EqWith.impl.Equal.type.520dd9.1 = specific_constant imports.%Core.Equal.cce, @Cpp.long_long.as.EqWith.impl.600(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.f6cc6a.1] -// CHECK:STDOUT: %Equal.ref.loc17: %Cpp.long_long.as.EqWith.impl.Equal.type.520dd9.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.f6cc6a.1] +// CHECK:STDOUT: %.loc17_5.3: %Cpp.long_long.as.EqWith.impl.Equal.type.b8a20f.1 = specific_constant imports.%Core.Equal.cce, @Cpp.long_long.as.EqWith.impl.600(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.1d70c3.1] +// CHECK:STDOUT: %Equal.ref.loc17: %Cpp.long_long.as.EqWith.impl.Equal.type.b8a20f.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.1d70c3.1] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.bound.loc17: = bound_method %a.ref.loc17, %Equal.ref.loc17 -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.loc17: = specific_function %Equal.ref.loc17, @Cpp.long_long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.specific_fn.3ab10a.2] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.loc17: = specific_function %Equal.ref.loc17, @Cpp.long_long.as.EqWith.impl.Equal.2(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.EqWith.impl.Equal.specific_fn.0f23b0.2] // CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %a.ref.loc17, %Cpp.long_long.as.EqWith.impl.Equal.specific_fn.loc17 -// CHECK:STDOUT: %impl.elem0.loc17_8: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc17_8: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc17_8: = bound_method %int_1.loc17, %impl.elem0.loc17_8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17: init %Cpp.long_long = call %bound_method.loc17_8(%int_1.loc17) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc17_8.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_1.b19] @@ -1858,20 +1858,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.Equal.call.loc17: init bool = call %bound_method.loc17_5.3(%a.ref.loc17, %.loc17_8.2) // CHECK:STDOUT: %a.ref.loc18: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem1.loc18: %.97f = impl_witness_access constants.%EqWith.impl_witness.fa6, element1 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.06262e.2] +// CHECK:STDOUT: %impl.elem1.loc18: %.e0c = impl_witness_access constants.%EqWith.impl_witness.533, element1 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.065d96.2] // CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %a.ref.loc18, %impl.elem1.loc18 -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @Cpp.long_long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.8d8af1.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @Cpp.long_long.as.EqWith.impl.NotEqual.1(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.08840e.1] // CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %a.ref.loc18, %specific_fn.loc18 -// CHECK:STDOUT: %.loc18_5.3: %Cpp.long_long.as.EqWith.impl.NotEqual.type.dc208e.1 = specific_constant imports.%Core.NotEqual.422, @Cpp.long_long.as.EqWith.impl.600(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.06262e.1] -// CHECK:STDOUT: %NotEqual.ref.loc18: %Cpp.long_long.as.EqWith.impl.NotEqual.type.dc208e.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.06262e.1] +// CHECK:STDOUT: %.loc18_5.3: %Cpp.long_long.as.EqWith.impl.NotEqual.type.3d956b.1 = specific_constant imports.%Core.NotEqual.422, @Cpp.long_long.as.EqWith.impl.600(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.065d96.1] +// CHECK:STDOUT: %NotEqual.ref.loc18: %Cpp.long_long.as.EqWith.impl.NotEqual.type.3d956b.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.065d96.1] // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.bound.loc18: = bound_method %a.ref.loc18, %NotEqual.ref.loc18 -// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.loc18: = specific_function %NotEqual.ref.loc18, @Cpp.long_long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.8d8af1.2] +// CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.loc18: = specific_function %NotEqual.ref.loc18, @Cpp.long_long.as.EqWith.impl.NotEqual.2(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.08840e.2] // CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %a.ref.loc18, %Cpp.long_long.as.EqWith.impl.NotEqual.specific_fn.loc18 -// CHECK:STDOUT: %impl.elem0.loc18: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc18: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc18_8: = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long_long = call %bound_method.loc18_8(%int_1.loc18) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc18_8.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_1.b19] @@ -1879,20 +1879,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.EqWith.impl.NotEqual.call.loc18: init bool = call %bound_method.loc18_5.3(%a.ref.loc18, %.loc18_8.2) // CHECK:STDOUT: %a.ref.loc19: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem2.loc19: %.671 = impl_witness_access constants.%OrderedWith.impl_witness.784, element2 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.a43ce7.2] +// CHECK:STDOUT: %impl.elem2.loc19: %.6b2 = impl_witness_access constants.%OrderedWith.impl_witness.9a7, element2 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.0fe70e.2] // CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %a.ref.loc19, %impl.elem2.loc19 -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @Cpp.long_long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.50a98d.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @Cpp.long_long.as.OrderedWith.impl.Greater.1(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.84b722.1] // CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %a.ref.loc19, %specific_fn.loc19 -// CHECK:STDOUT: %.loc19_5.3: %Cpp.long_long.as.OrderedWith.impl.Greater.type.f8fc10.1 = specific_constant imports.%Core.Greater.91c, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.a43ce7.1] -// CHECK:STDOUT: %Greater.ref.loc19: %Cpp.long_long.as.OrderedWith.impl.Greater.type.f8fc10.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.a43ce7.1] +// CHECK:STDOUT: %.loc19_5.3: %Cpp.long_long.as.OrderedWith.impl.Greater.type.a8e4b9.1 = specific_constant imports.%Core.Greater.91c, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.0fe70e.1] +// CHECK:STDOUT: %Greater.ref.loc19: %Cpp.long_long.as.OrderedWith.impl.Greater.type.a8e4b9.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.0fe70e.1] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.bound.loc19: = bound_method %a.ref.loc19, %Greater.ref.loc19 -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.loc19: = specific_function %Greater.ref.loc19, @Cpp.long_long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.50a98d.2] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.loc19: = specific_function %Greater.ref.loc19, @Cpp.long_long.as.OrderedWith.impl.Greater.2(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.84b722.2] // CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %a.ref.loc19, %Cpp.long_long.as.OrderedWith.impl.Greater.specific_fn.loc19 -// CHECK:STDOUT: %impl.elem0.loc19: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc19: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc19_7: = bound_method %int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19: init %Cpp.long_long = call %bound_method.loc19_7(%int_1.loc19) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc19_7.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19 [concrete = constants.%int_1.b19] @@ -1900,20 +1900,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Greater.call.loc19: init bool = call %bound_method.loc19_5.3(%a.ref.loc19, %.loc19_7.2) // CHECK:STDOUT: %a.ref.loc20: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc20_5: %.168 = impl_witness_access constants.%OrderedWith.impl_witness.784, element0 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.7bb755.2] +// CHECK:STDOUT: %impl.elem0.loc20_5: %.bc2 = impl_witness_access constants.%OrderedWith.impl_witness.9a7, element0 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.c909a5.2] // CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %a.ref.loc20, %impl.elem0.loc20_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long_long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.ac6947.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long_long.as.OrderedWith.impl.Less.1(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.5f22b4.1] // CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %a.ref.loc20, %specific_fn.loc20 -// CHECK:STDOUT: %.loc20_5.3: %Cpp.long_long.as.OrderedWith.impl.Less.type.29a8c5.1 = specific_constant imports.%Core.Less.868, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.7bb755.1] -// CHECK:STDOUT: %Less.ref.loc20: %Cpp.long_long.as.OrderedWith.impl.Less.type.29a8c5.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.7bb755.1] +// CHECK:STDOUT: %.loc20_5.3: %Cpp.long_long.as.OrderedWith.impl.Less.type.a66e6f.1 = specific_constant imports.%Core.Less.868, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.c909a5.1] +// CHECK:STDOUT: %Less.ref.loc20: %Cpp.long_long.as.OrderedWith.impl.Less.type.a66e6f.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.c909a5.1] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.bound.loc20: = bound_method %a.ref.loc20, %Less.ref.loc20 -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.loc20: = specific_function %Less.ref.loc20, @Cpp.long_long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.ac6947.2] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.loc20: = specific_function %Less.ref.loc20, @Cpp.long_long.as.OrderedWith.impl.Less.2(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.5f22b4.2] // CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %a.ref.loc20, %Cpp.long_long.as.OrderedWith.impl.Less.specific_fn.loc20 -// CHECK:STDOUT: %impl.elem0.loc20_7: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc20_7: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc20_7: = bound_method %int_1.loc20, %impl.elem0.loc20_7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20: init %Cpp.long_long = call %bound_method.loc20_7(%int_1.loc20) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc20_7.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_1.b19] @@ -1921,20 +1921,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.Less.call.loc20: init bool = call %bound_method.loc20_5.3(%a.ref.loc20, %.loc20_7.2) // CHECK:STDOUT: %a.ref.loc21: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem3.loc21: %.db2 = impl_witness_access constants.%OrderedWith.impl_witness.784, element3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2b5b9d.2] +// CHECK:STDOUT: %impl.elem3.loc21: %.1fa = impl_witness_access constants.%OrderedWith.impl_witness.9a7, element3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.31eeab.2] // CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %a.ref.loc21, %impl.elem3.loc21 -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.32ac6e.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.1(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.aae3bc.1] // CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %a.ref.loc21, %specific_fn.loc21 -// CHECK:STDOUT: %.loc21_5.3: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.6f3433.1 = specific_constant imports.%Core.GreaterOrEquivalent.7ba, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2b5b9d.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.6f3433.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2b5b9d.1] +// CHECK:STDOUT: %.loc21_5.3: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.d4199c.1 = specific_constant imports.%Core.GreaterOrEquivalent.7ba, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.31eeab.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.type.d4199c.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.31eeab.1] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc21: = bound_method %a.ref.loc21, %GreaterOrEquivalent.ref.loc21 -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21: = specific_function %GreaterOrEquivalent.ref.loc21, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.32ac6e.2] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21: = specific_function %GreaterOrEquivalent.ref.loc21, @Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.2(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.aae3bc.2] // CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %a.ref.loc21, %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21 -// CHECK:STDOUT: %impl.elem0.loc21: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc21: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc21_8: = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21: init %Cpp.long_long = call %bound_method.loc21_8(%int_1.loc21) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc21_8.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21 [concrete = constants.%int_1.b19] @@ -1942,20 +1942,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.GreaterOrEquivalent.call.loc21: init bool = call %bound_method.loc21_5.3(%a.ref.loc21, %.loc21_8.2) // CHECK:STDOUT: %a.ref.loc22: %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem1.loc22: %.ada = impl_witness_access constants.%OrderedWith.impl_witness.784, element1 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0b5eb3.2] +// CHECK:STDOUT: %impl.elem1.loc22: %.409 = impl_witness_access constants.%OrderedWith.impl_witness.9a7, element1 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.40c7fd.2] // CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %a.ref.loc22, %impl.elem1.loc22 -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.640035.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.1(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.bb0e9f.1] // CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %a.ref.loc22, %specific_fn.loc22 -// CHECK:STDOUT: %.loc22_5.3: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.c460d8.1 = specific_constant imports.%Core.LessOrEquivalent.211, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0b5eb3.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.c460d8.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.0b5eb3.1] +// CHECK:STDOUT: %.loc22_5.3: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.187e43.1 = specific_constant imports.%Core.LessOrEquivalent.211, @Cpp.long_long.as.OrderedWith.impl.deb(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.40c7fd.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.type.187e43.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.40c7fd.1] // CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.bound.loc22: = bound_method %a.ref.loc22, %LessOrEquivalent.ref.loc22 -// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22: = specific_function %LessOrEquivalent.ref.loc22, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.640035.2] +// CHECK:STDOUT: %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22: = specific_function %LessOrEquivalent.ref.loc22, @Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.2(constants.%ImplicitAs.facet.82d) [concrete = constants.%Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.bb0e9f.2] // CHECK:STDOUT: %bound_method.loc22_5.3: = bound_method %a.ref.loc22, %Cpp.long_long.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22 -// CHECK:STDOUT: %impl.elem0.loc22: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc22: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc22_8: = bound_method %int_1.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22: init %Cpp.long_long = call %bound_method.loc22_8(%int_1.loc22) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc22_8.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22 [concrete = constants.%int_1.b19] @@ -1974,10 +1974,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %pattern_type.d58: type = pattern_type %Cpp.long_long [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.d58 = value_binding_pattern a [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ec: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long_long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.2ed: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet.2ed [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.82d: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet.82d [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -1992,30 +1992,30 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.b16a99.2: %T.as_type.as.EqWith.impl.NotEqual.type.925fdb.2 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.3cb0e1.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.6, @T.as_type.as.EqWith.impl.6d3(%T.bf2) [symbolic] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.a1333e.2: %T.as_type.as.EqWith.impl.Equal.type.3cb0e1.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.305: = impl_witness imports.%ImplicitAs.impl_witness_table.a87 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.7a4: %ImplicitAs.type.0ec = facet_value %i64, (%ImplicitAs.impl_witness.305) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.084: = impl_witness imports.%EqWith.impl_witness_table.db1, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.6d33d6.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.6, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.817082.1: %T.as_type.as.EqWith.impl.Equal.type.6d33d6.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.2c42f8.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.6, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.de7c60.1: %T.as_type.as.EqWith.impl.NotEqual.type.2c42f8.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.6d33d6.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.5, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.817082.2: %T.as_type.as.EqWith.impl.Equal.type.6d33d6.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.2c42f8.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.5, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.de7c60.2: %T.as_type.as.EqWith.impl.NotEqual.type.2c42f8.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.306: %EqWith.type.9fc = facet_value %i64, (%EqWith.impl_witness.084) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.5b2: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.306) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.86d: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.306) [concrete] -// CHECK:STDOUT: %.183: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.5b2, %EqWith.facet.306 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.044d32.1: = specific_function %T.as_type.as.EqWith.impl.Equal.817082.2, @T.as_type.as.EqWith.impl.Equal.5(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.044d32.2: = specific_function %T.as_type.as.EqWith.impl.Equal.817082.1, @T.as_type.as.EqWith.impl.Equal.6(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.3ae: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.25e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.3ae, %ImplicitAs.facet.7a4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.b39: = impl_witness imports.%ImplicitAs.impl_witness_table.527 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.2d9: %ImplicitAs.type.0ec = facet_value %i64, (%ImplicitAs.impl_witness.b39) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.c23: = impl_witness imports.%EqWith.impl_witness_table.0fe, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.2cebe9.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.6, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.84696f.1: %T.as_type.as.EqWith.impl.Equal.type.2cebe9.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.6989f5.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.6, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.b335a1.1: %T.as_type.as.EqWith.impl.NotEqual.type.6989f5.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.2cebe9.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.5, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.84696f.2: %T.as_type.as.EqWith.impl.Equal.type.2cebe9.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.6989f5.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.5, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.b335a1.2: %T.as_type.as.EqWith.impl.NotEqual.type.6989f5.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.b15: %EqWith.type.9fc = facet_value %i64, (%EqWith.impl_witness.c23) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.573: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.b15) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.404: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.b15) [concrete] +// CHECK:STDOUT: %.09f: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.573, %EqWith.facet.b15 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.65a047.1: = specific_function %T.as_type.as.EqWith.impl.Equal.84696f.2, @T.as_type.as.EqWith.impl.Equal.5(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.65a047.2: = specific_function %T.as_type.as.EqWith.impl.Equal.84696f.1, @T.as_type.as.EqWith.impl.Equal.6(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.561: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.c2b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.561, %ImplicitAs.facet.2d9 [concrete] // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.type: type = fn_type @i64.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert: %i64.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %.eca: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.86d, %EqWith.facet.306 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.b44c79.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.de7c60.2, @T.as_type.as.EqWith.impl.NotEqual.5(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.b44c79.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.de7c60.1, @T.as_type.as.EqWith.impl.NotEqual.6(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %.7f5: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.404, %EqWith.facet.b15 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.42b9f1.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.b335a1.2, @T.as_type.as.EqWith.impl.NotEqual.5(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.42b9f1.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.b335a1.1, @T.as_type.as.EqWith.impl.NotEqual.6(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %OrderedWith.type.456: type = facet_type <@OrderedWith, @OrderedWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.d6724c.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5, @T.as_type.as.OrderedWith.impl.df2(%T.bf2) [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.df5290.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.d6724c.1 = struct_value () [symbolic] @@ -2033,116 +2033,116 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.2cb445.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.3d985f.2 = struct_value () [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.2daa9a.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.6, @T.as_type.as.OrderedWith.impl.df2(%T.bf2) [symbolic] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.c37ef5.2: %T.as_type.as.OrderedWith.impl.Less.type.2daa9a.2 = struct_value () [symbolic] -// CHECK:STDOUT: %OrderedWith.impl_witness.7e3: = impl_witness imports.%OrderedWith.impl_witness_table.8b4, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.7b405f.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.c5f236.1: %T.as_type.as.OrderedWith.impl.Less.type.7b405f.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.577251.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.e5cfba.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.577251.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.085dd9.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.749015.1: %T.as_type.as.OrderedWith.impl.Greater.type.085dd9.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.0f0b65.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.f86b3e.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.0f0b65.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.7b405f.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.c5f236.2: %T.as_type.as.OrderedWith.impl.Less.type.7b405f.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.577251.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.e5cfba.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.577251.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.085dd9.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.749015.2: %T.as_type.as.OrderedWith.impl.Greater.type.085dd9.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.0f0b65.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.f86b3e.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.0f0b65.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.72a: %OrderedWith.type.456 = facet_value %i64, (%OrderedWith.impl_witness.7e3) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.606: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.72a) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.2a1: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.72a) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.f32: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.72a) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.15d: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.72a) [concrete] -// CHECK:STDOUT: %.af0: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.f32, %OrderedWith.facet.72a [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.cbc6c2.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.749015.2, @T.as_type.as.OrderedWith.impl.Greater.5(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.cbc6c2.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.749015.1, @T.as_type.as.OrderedWith.impl.Greater.6(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.901: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.606, %OrderedWith.facet.72a [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.a8a2ad.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.c5f236.2, @T.as_type.as.OrderedWith.impl.Less.5(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.a8a2ad.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.c5f236.1, @T.as_type.as.OrderedWith.impl.Less.6(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.96b: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.15d, %OrderedWith.facet.72a [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8a93e9.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.f86b3e.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8a93e9.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.f86b3e.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.829: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.2a1, %OrderedWith.facet.72a [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ab9ff7.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.e5cfba.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ab9ff7.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.e5cfba.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %EqWith.impl_witness.cb6: = impl_witness imports.%EqWith.impl_witness_table.db1, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.8e6244.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.6, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.66756b.1: %T.as_type.as.EqWith.impl.Equal.type.8e6244.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.fb7a86.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.6, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.672038.1: %T.as_type.as.EqWith.impl.NotEqual.type.fb7a86.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.8e6244.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.5, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.66756b.2: %T.as_type.as.EqWith.impl.Equal.type.8e6244.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.fb7a86.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.5, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.672038.2: %T.as_type.as.EqWith.impl.NotEqual.type.fb7a86.2 = struct_value () [concrete] -// CHECK:STDOUT: %EqWith.facet.83c: %EqWith.type.9fc = facet_value Core.IntLiteral, (%EqWith.impl_witness.cb6) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.5b1: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.83c) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.a9f: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.83c) [concrete] -// CHECK:STDOUT: %.658: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.5b1, %EqWith.facet.83c [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.2fcdd5.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.66756b.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.7834c5.1: = specific_function %T.as_type.as.EqWith.impl.Equal.66756b.2, @T.as_type.as.EqWith.impl.Equal.5(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.7c9d36.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.7834c5.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.2fcdd5.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.66756b.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.7834c5.2: = specific_function %T.as_type.as.EqWith.impl.Equal.66756b.1, @T.as_type.as.EqWith.impl.Equal.6(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.7c9d36.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.7834c5.2 [concrete] -// CHECK:STDOUT: %.1f9: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.a9f, %EqWith.facet.83c [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.a9911b.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.672038.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.598adf.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.672038.2, @T.as_type.as.EqWith.impl.NotEqual.5(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.1f073e.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.598adf.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.a9911b.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.672038.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.598adf.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.672038.1, @T.as_type.as.EqWith.impl.NotEqual.6(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.1f073e.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.598adf.2 [concrete] -// CHECK:STDOUT: %OrderedWith.impl_witness.ccd: = impl_witness imports.%OrderedWith.impl_witness_table.8b4, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.28a50f.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.09733d.1: %T.as_type.as.OrderedWith.impl.Less.type.28a50f.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1522a4.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b7cd44.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1522a4.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.e2356e.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.a80774.1: %T.as_type.as.OrderedWith.impl.Greater.type.e2356e.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.09194f.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ae8de7.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.09194f.1 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.28a50f.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.09733d.2: %T.as_type.as.OrderedWith.impl.Less.type.28a50f.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1522a4.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b7cd44.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1522a4.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.e2356e.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.a80774.2: %T.as_type.as.OrderedWith.impl.Greater.type.e2356e.2 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.09194f.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ae8de7.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.09194f.2 = struct_value () [concrete] -// CHECK:STDOUT: %OrderedWith.facet.54d: %OrderedWith.type.456 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.ccd) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.a56: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.54d) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.21f: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.54d) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.22c: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.54d) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.6ad: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.54d) [concrete] -// CHECK:STDOUT: %.1e0: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.22c, %OrderedWith.facet.54d [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.ba4552.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.a80774.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.3eccd1.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.a80774.2, @T.as_type.as.OrderedWith.impl.Greater.5(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.560bca.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.3eccd1.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.ba4552.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.a80774.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.3eccd1.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.a80774.1, @T.as_type.as.OrderedWith.impl.Greater.6(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.560bca.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.3eccd1.2 [concrete] -// CHECK:STDOUT: %.4c9: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.a56, %OrderedWith.facet.54d [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.069497.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.09733d.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.0beaf8.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.09733d.2, @T.as_type.as.OrderedWith.impl.Less.5(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.103f49.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.0beaf8.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.069497.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.09733d.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.0beaf8.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.09733d.1, @T.as_type.as.OrderedWith.impl.Less.6(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.103f49.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.0beaf8.2 [concrete] -// CHECK:STDOUT: %.b09: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.6ad, %OrderedWith.facet.54d [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.22317d.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ae8de7.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.371f57.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ae8de7.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.ffa540.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.371f57.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.22317d.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ae8de7.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.371f57.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ae8de7.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.ffa540.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.371f57.2 [concrete] -// CHECK:STDOUT: %.cab: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.21f, %OrderedWith.facet.54d [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.2eaa72.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b7cd44.2 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.05fce2.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b7cd44.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.83e687.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.05fce2.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.2eaa72.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b7cd44.1 [concrete] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.05fce2.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.b7cd44.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6(%ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %bound_method.83e687.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.05fce2.2 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.658: = impl_witness imports.%OrderedWith.impl_witness_table.7c0, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.b6a41f.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.c36421.1: %T.as_type.as.OrderedWith.impl.Less.type.b6a41f.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.17d27e.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.1da37a.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.17d27e.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.f879e3.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.2a695b.1: %T.as_type.as.OrderedWith.impl.Greater.type.f879e3.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.532487.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7e2f13.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.532487.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.b6a41f.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.c36421.2: %T.as_type.as.OrderedWith.impl.Less.type.b6a41f.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.17d27e.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.1da37a.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.17d27e.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.f879e3.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.2a695b.2: %T.as_type.as.OrderedWith.impl.Greater.type.f879e3.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.532487.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7e2f13.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.532487.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.1e7: %OrderedWith.type.456 = facet_value %i64, (%OrderedWith.impl_witness.658) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.07f: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.1e7) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.669: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.1e7) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.d40: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.1e7) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.aff: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.1e7) [concrete] +// CHECK:STDOUT: %.fc5: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.d40, %OrderedWith.facet.1e7 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.4d9039.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.2a695b.2, @T.as_type.as.OrderedWith.impl.Greater.5(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.4d9039.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.2a695b.1, @T.as_type.as.OrderedWith.impl.Greater.6(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.4c9: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.07f, %OrderedWith.facet.1e7 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.7d1c6d.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.c36421.2, @T.as_type.as.OrderedWith.impl.Less.5(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.7d1c6d.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.c36421.1, @T.as_type.as.OrderedWith.impl.Less.6(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.ff3: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.aff, %OrderedWith.facet.1e7 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.c9f471.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7e2f13.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.c9f471.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7e2f13.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.ef3: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.669, %OrderedWith.facet.1e7 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ef18e5.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.1da37a.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ef18e5.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.1da37a.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %EqWith.impl_witness.d69: = impl_witness imports.%EqWith.impl_witness_table.0fe, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.69ee3b.1: type = fn_type @T.as_type.as.EqWith.impl.Equal.6, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bf29af.1: %T.as_type.as.EqWith.impl.Equal.type.69ee3b.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.ed9945.1: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.6, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.e6a6e5.1: %T.as_type.as.EqWith.impl.NotEqual.type.ed9945.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.type.69ee3b.2: type = fn_type @T.as_type.as.EqWith.impl.Equal.5, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bf29af.2: %T.as_type.as.EqWith.impl.Equal.type.69ee3b.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.type.ed9945.2: type = fn_type @T.as_type.as.EqWith.impl.NotEqual.5, @T.as_type.as.EqWith.impl.6d3(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.e6a6e5.2: %T.as_type.as.EqWith.impl.NotEqual.type.ed9945.2 = struct_value () [concrete] +// CHECK:STDOUT: %EqWith.facet.df1: %EqWith.type.9fc = facet_value Core.IntLiteral, (%EqWith.impl_witness.d69) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.7c8: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.df1) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.611: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%Cpp.long_long, %EqWith.facet.df1) [concrete] +// CHECK:STDOUT: %.9eb: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.7c8, %EqWith.facet.df1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.d28740.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.bf29af.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.dbbf20.1: = specific_function %T.as_type.as.EqWith.impl.Equal.bf29af.2, @T.as_type.as.EqWith.impl.Equal.5(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.64c646.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.dbbf20.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.d28740.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.bf29af.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.dbbf20.2: = specific_function %T.as_type.as.EqWith.impl.Equal.bf29af.1, @T.as_type.as.EqWith.impl.Equal.6(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.64c646.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.Equal.specific_fn.dbbf20.2 [concrete] +// CHECK:STDOUT: %.e07: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.611, %EqWith.facet.df1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.3b550c.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.e6a6e5.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.f946b5.1: = specific_function %T.as_type.as.EqWith.impl.NotEqual.e6a6e5.2, @T.as_type.as.EqWith.impl.NotEqual.5(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.88f774.1: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.f946b5.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.3b550c.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.e6a6e5.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.f946b5.2: = specific_function %T.as_type.as.EqWith.impl.NotEqual.e6a6e5.1, @T.as_type.as.EqWith.impl.NotEqual.6(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.88f774.2: = bound_method %int_1.5b8, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.f946b5.2 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness.01c: = impl_witness imports.%OrderedWith.impl_witness_table.7c0, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.0cf30e.1: type = fn_type @T.as_type.as.OrderedWith.impl.Less.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.e99f16.1: %T.as_type.as.OrderedWith.impl.Less.type.0cf30e.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.20fd09.1: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.60d9eb.1: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.20fd09.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.6d0e34.1: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.5bddac.1: %T.as_type.as.OrderedWith.impl.Greater.type.6d0e34.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.75cdfe.1: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4c05ce.1: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.75cdfe.1 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.type.0cf30e.2: type = fn_type @T.as_type.as.OrderedWith.impl.Less.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.e99f16.2: %T.as_type.as.OrderedWith.impl.Less.type.0cf30e.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.20fd09.2: type = fn_type @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.60d9eb.2: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.20fd09.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.type.6d0e34.2: type = fn_type @T.as_type.as.OrderedWith.impl.Greater.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.5bddac.2: %T.as_type.as.OrderedWith.impl.Greater.type.6d0e34.2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.75cdfe.2: type = fn_type @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5, @T.as_type.as.OrderedWith.impl.df2(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4c05ce.2: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.75cdfe.2 = struct_value () [concrete] +// CHECK:STDOUT: %OrderedWith.facet.c2d: %OrderedWith.type.456 = facet_value Core.IntLiteral, (%OrderedWith.impl_witness.01c) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.443: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.c2d) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.f5f: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.c2d) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.9fe: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.c2d) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.ec4: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%Cpp.long_long, %OrderedWith.facet.c2d) [concrete] +// CHECK:STDOUT: %.e0e: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.9fe, %OrderedWith.facet.c2d [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.e43728.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.5bddac.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.58afc5.1: = specific_function %T.as_type.as.OrderedWith.impl.Greater.5bddac.2, @T.as_type.as.OrderedWith.impl.Greater.5(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.50b142.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.58afc5.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.e43728.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.5bddac.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.58afc5.2: = specific_function %T.as_type.as.OrderedWith.impl.Greater.5bddac.1, @T.as_type.as.OrderedWith.impl.Greater.6(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.50b142.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.58afc5.2 [concrete] +// CHECK:STDOUT: %.b9e: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.443, %OrderedWith.facet.c2d [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.46f927.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.e99f16.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.d850a6.1: = specific_function %T.as_type.as.OrderedWith.impl.Less.e99f16.2, @T.as_type.as.OrderedWith.impl.Less.5(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.af9538.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.d850a6.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.46f927.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.e99f16.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.d850a6.2: = specific_function %T.as_type.as.OrderedWith.impl.Less.e99f16.1, @T.as_type.as.OrderedWith.impl.Less.6(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.af9538.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.Less.specific_fn.d850a6.2 [concrete] +// CHECK:STDOUT: %.5c6: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.ec4, %OrderedWith.facet.c2d [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.8313f0.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4c05ce.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.7ede1f.1: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4c05ce.2, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.d93343.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.7ede1f.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.8313f0.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4c05ce.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.7ede1f.2: = specific_function %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4c05ce.1, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.d93343.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.7ede1f.2 [concrete] +// CHECK:STDOUT: %.972: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.f5f, %OrderedWith.facet.c2d [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.85eb0f.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.60d9eb.2 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ebe566.1: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.60d9eb.2, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.a6a809.1: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ebe566.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.85eb0f.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.60d9eb.1 [concrete] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ebe566.2: = specific_function %T.as_type.as.OrderedWith.impl.LessOrEquivalent.60d9eb.1, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6(%ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %bound_method.a6a809.2: = bound_method %int_1.5b8, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ebe566.2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -2151,19 +2151,19 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %Core.import_ref.c48: @T.as_type.as.EqWith.impl.6d3.%T.as_type.as.EqWith.impl.Equal.type.2 (%T.as_type.as.EqWith.impl.Equal.type.3cb0e1.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.EqWith.impl.6d3.%T.as_type.as.EqWith.impl.Equal.2 (constants.%T.as_type.as.EqWith.impl.Equal.a1333e.1)] // CHECK:STDOUT: %Core.import_ref.98d: @T.as_type.as.EqWith.impl.6d3.%T.as_type.as.EqWith.impl.NotEqual.type.2 (%T.as_type.as.EqWith.impl.NotEqual.type.925fdb.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.EqWith.impl.6d3.%T.as_type.as.EqWith.impl.NotEqual.2 (constants.%T.as_type.as.EqWith.impl.NotEqual.b16a99.1)] -// CHECK:STDOUT: %EqWith.impl_witness_table.db1 = impl_witness_table (%Core.import_ref.c48, %Core.import_ref.98d), @T.as_type.as.EqWith.impl.6d3 [concrete] +// CHECK:STDOUT: %EqWith.impl_witness_table.0fe = impl_witness_table (%Core.import_ref.c48, %Core.import_ref.98d), @T.as_type.as.EqWith.impl.6d3 [concrete] // CHECK:STDOUT: %Core.Equal.4f5: @T.as_type.as.EqWith.impl.6d3.%T.as_type.as.EqWith.impl.Equal.type.1 (%T.as_type.as.EqWith.impl.Equal.type.3cb0e1.2) = import_ref Core//prelude/types/cpp/int, Equal, loaded [symbolic = @T.as_type.as.EqWith.impl.6d3.%T.as_type.as.EqWith.impl.Equal.1 (constants.%T.as_type.as.EqWith.impl.Equal.a1333e.2)] // CHECK:STDOUT: %Core.NotEqual.0b2: @T.as_type.as.EqWith.impl.6d3.%T.as_type.as.EqWith.impl.NotEqual.type.1 (%T.as_type.as.EqWith.impl.NotEqual.type.925fdb.2) = import_ref Core//prelude/types/cpp/int, NotEqual, loaded [symbolic = @T.as_type.as.EqWith.impl.6d3.%T.as_type.as.EqWith.impl.NotEqual.1 (constants.%T.as_type.as.EqWith.impl.NotEqual.b16a99.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %i64.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i64.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a87 = impl_witness_table (%Core.import_ref.06c923.2), @i64.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.527 = impl_witness_table (%Core.import_ref.06c923.2), @i64.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.97f: @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.Less.type.2 (%T.as_type.as.OrderedWith.impl.Less.type.2daa9a.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.Less.2 (constants.%T.as_type.as.OrderedWith.impl.Less.c37ef5.1)] -// CHECK:STDOUT: %Core.import_ref.409: @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.3d985f.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.2cb445.1)] +// CHECK:STDOUT: %Core.import_ref.4096: @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.3d985f.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.2cb445.1)] // CHECK:STDOUT: %Core.import_ref.56a: @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.Greater.type.2 (%T.as_type.as.OrderedWith.impl.Greater.type.4fb98a.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.Greater.2 (constants.%T.as_type.as.OrderedWith.impl.Greater.878ae3.1)] // CHECK:STDOUT: %Core.import_ref.b00d: @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.2 (%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.d6724c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.2 (constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.df5290.1)] -// CHECK:STDOUT: %OrderedWith.impl_witness_table.8b4 = impl_witness_table (%Core.import_ref.97f, %Core.import_ref.409, %Core.import_ref.56a, %Core.import_ref.b00d), @T.as_type.as.OrderedWith.impl.df2 [concrete] +// CHECK:STDOUT: %OrderedWith.impl_witness_table.7c0 = impl_witness_table (%Core.import_ref.97f, %Core.import_ref.4096, %Core.import_ref.56a, %Core.import_ref.b00d), @T.as_type.as.OrderedWith.impl.df2 [concrete] // CHECK:STDOUT: %Core.Less.2d9: @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.Less.type.1 (%T.as_type.as.OrderedWith.impl.Less.type.2daa9a.2) = import_ref Core//prelude/types/cpp/int, Less, loaded [symbolic = @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.Less.1 (constants.%T.as_type.as.OrderedWith.impl.Less.c37ef5.2)] // CHECK:STDOUT: %Core.LessOrEquivalent.d90: @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1 (%T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.3d985f.2) = import_ref Core//prelude/types/cpp/int, LessOrEquivalent, loaded [symbolic = @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.1 (constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.2cb445.2)] // CHECK:STDOUT: %Core.Greater.c24: @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.Greater.type.1 (%T.as_type.as.OrderedWith.impl.Greater.type.4fb98a.2) = import_ref Core//prelude/types/cpp/int, Greater, loaded [symbolic = @T.as_type.as.OrderedWith.impl.df2.%T.as_type.as.OrderedWith.impl.Greater.1 (constants.%T.as_type.as.OrderedWith.impl.Greater.878ae3.2)] @@ -2174,7 +2174,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long_long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc9_26.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.b19] @@ -2189,20 +2189,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %b.ref.loc10: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc10: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc10_5: %.183 = impl_witness_access constants.%EqWith.impl_witness.084, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.817082.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.09f = impl_witness_access constants.%EqWith.impl_witness.c23, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.84696f.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %b.ref.loc10, %impl.elem0.loc10_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @T.as_type.as.EqWith.impl.Equal.5(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.044d32.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @T.as_type.as.EqWith.impl.Equal.5(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.65a047.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %b.ref.loc10, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5.3: %T.as_type.as.EqWith.impl.Equal.type.6d33d6.1 = specific_constant imports.%Core.Equal.4f5, @T.as_type.as.EqWith.impl.6d3(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.817082.1] -// CHECK:STDOUT: %Equal.ref.loc10: %T.as_type.as.EqWith.impl.Equal.type.6d33d6.1 = name_ref Equal, %.loc10_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.817082.1] +// CHECK:STDOUT: %.loc10_5.3: %T.as_type.as.EqWith.impl.Equal.type.2cebe9.1 = specific_constant imports.%Core.Equal.4f5, @T.as_type.as.EqWith.impl.6d3(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.84696f.1] +// CHECK:STDOUT: %Equal.ref.loc10: %T.as_type.as.EqWith.impl.Equal.type.2cebe9.1 = name_ref Equal, %.loc10_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.84696f.1] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.loc10: = bound_method %b.ref.loc10, %Equal.ref.loc10 -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.loc10: = specific_function %Equal.ref.loc10, @T.as_type.as.EqWith.impl.Equal.6(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.044d32.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.loc10: = specific_function %Equal.ref.loc10, @T.as_type.as.EqWith.impl.Equal.6(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.65a047.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %b.ref.loc10, %T.as_type.as.EqWith.impl.Equal.specific_fn.loc10 -// CHECK:STDOUT: %impl.elem0.loc10_3: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_3: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_3: = bound_method %b.ref.loc10, %impl.elem0.loc10_3 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc10: init %Cpp.long_long = call %bound_method.loc10_3(%b.ref.loc10) // CHECK:STDOUT: %.loc10_3.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc10 @@ -2210,20 +2210,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.call.loc10: init bool = call %bound_method.loc10_5.3(%.loc10_3.2, %a.ref.loc10) // CHECK:STDOUT: %b.ref.loc11: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc11: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc11: %.eca = impl_witness_access constants.%EqWith.impl_witness.084, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.de7c60.2] +// CHECK:STDOUT: %impl.elem1.loc11: %.7f5 = impl_witness_access constants.%EqWith.impl_witness.c23, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.b335a1.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %b.ref.loc11, %impl.elem1.loc11 -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @T.as_type.as.EqWith.impl.NotEqual.5(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.b44c79.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem1.loc11, @T.as_type.as.EqWith.impl.NotEqual.5(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.42b9f1.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %b.ref.loc11, %specific_fn.loc11 -// CHECK:STDOUT: %.loc11_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.2c42f8.1 = specific_constant imports.%Core.NotEqual.0b2, @T.as_type.as.EqWith.impl.6d3(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.de7c60.1] -// CHECK:STDOUT: %NotEqual.ref.loc11: %T.as_type.as.EqWith.impl.NotEqual.type.2c42f8.1 = name_ref NotEqual, %.loc11_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.de7c60.1] +// CHECK:STDOUT: %.loc11_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.6989f5.1 = specific_constant imports.%Core.NotEqual.0b2, @T.as_type.as.EqWith.impl.6d3(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.b335a1.1] +// CHECK:STDOUT: %NotEqual.ref.loc11: %T.as_type.as.EqWith.impl.NotEqual.type.6989f5.1 = name_ref NotEqual, %.loc11_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.b335a1.1] // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.loc11: = bound_method %b.ref.loc11, %NotEqual.ref.loc11 -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc11: = specific_function %NotEqual.ref.loc11, @T.as_type.as.EqWith.impl.NotEqual.6(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.b44c79.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc11: = specific_function %NotEqual.ref.loc11, @T.as_type.as.EqWith.impl.NotEqual.6(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.42b9f1.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %b.ref.loc11, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc11 -// CHECK:STDOUT: %impl.elem0.loc11: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_3: = bound_method %b.ref.loc11, %impl.elem0.loc11 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc11: init %Cpp.long_long = call %bound_method.loc11_3(%b.ref.loc11) // CHECK:STDOUT: %.loc11_3.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc11 @@ -2231,20 +2231,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.call.loc11: init bool = call %bound_method.loc11_5.3(%.loc11_3.2, %a.ref.loc11) // CHECK:STDOUT: %b.ref.loc12: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc12: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem2.loc12: %.af0 = impl_witness_access constants.%OrderedWith.impl_witness.7e3, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.749015.2] +// CHECK:STDOUT: %impl.elem2.loc12: %.fc5 = impl_witness_access constants.%OrderedWith.impl_witness.658, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.2a695b.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %b.ref.loc12, %impl.elem2.loc12 -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @T.as_type.as.OrderedWith.impl.Greater.5(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.cbc6c2.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem2.loc12, @T.as_type.as.OrderedWith.impl.Greater.5(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.4d9039.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %b.ref.loc12, %specific_fn.loc12 -// CHECK:STDOUT: %.loc12_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.085dd9.1 = specific_constant imports.%Core.Greater.c24, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.749015.1] -// CHECK:STDOUT: %Greater.ref.loc12: %T.as_type.as.OrderedWith.impl.Greater.type.085dd9.1 = name_ref Greater, %.loc12_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.749015.1] +// CHECK:STDOUT: %.loc12_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.f879e3.1 = specific_constant imports.%Core.Greater.c24, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.2a695b.1] +// CHECK:STDOUT: %Greater.ref.loc12: %T.as_type.as.OrderedWith.impl.Greater.type.f879e3.1 = name_ref Greater, %.loc12_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.2a695b.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.loc12: = bound_method %b.ref.loc12, %Greater.ref.loc12 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc12: = specific_function %Greater.ref.loc12, @T.as_type.as.OrderedWith.impl.Greater.6(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.cbc6c2.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc12: = specific_function %Greater.ref.loc12, @T.as_type.as.OrderedWith.impl.Greater.6(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.4d9039.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %b.ref.loc12, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc12 -// CHECK:STDOUT: %impl.elem0.loc12: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc12: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc12_3: = bound_method %b.ref.loc12, %impl.elem0.loc12 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc12: init %Cpp.long_long = call %bound_method.loc12_3(%b.ref.loc12) // CHECK:STDOUT: %.loc12_3.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc12 @@ -2252,20 +2252,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.call.loc12: init bool = call %bound_method.loc12_5.3(%.loc12_3.2, %a.ref.loc12) // CHECK:STDOUT: %b.ref.loc13: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc13: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc13_5: %.901 = impl_witness_access constants.%OrderedWith.impl_witness.7e3, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.c5f236.2] +// CHECK:STDOUT: %impl.elem0.loc13_5: %.4c9 = impl_witness_access constants.%OrderedWith.impl_witness.658, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.c36421.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %b.ref.loc13, %impl.elem0.loc13_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @T.as_type.as.OrderedWith.impl.Less.5(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.a8a2ad.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @T.as_type.as.OrderedWith.impl.Less.5(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.7d1c6d.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %b.ref.loc13, %specific_fn.loc13 -// CHECK:STDOUT: %.loc13_5.3: %T.as_type.as.OrderedWith.impl.Less.type.7b405f.1 = specific_constant imports.%Core.Less.2d9, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.c5f236.1] -// CHECK:STDOUT: %Less.ref.loc13: %T.as_type.as.OrderedWith.impl.Less.type.7b405f.1 = name_ref Less, %.loc13_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.c5f236.1] +// CHECK:STDOUT: %.loc13_5.3: %T.as_type.as.OrderedWith.impl.Less.type.b6a41f.1 = specific_constant imports.%Core.Less.2d9, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.c36421.1] +// CHECK:STDOUT: %Less.ref.loc13: %T.as_type.as.OrderedWith.impl.Less.type.b6a41f.1 = name_ref Less, %.loc13_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.c36421.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.loc13: = bound_method %b.ref.loc13, %Less.ref.loc13 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc13: = specific_function %Less.ref.loc13, @T.as_type.as.OrderedWith.impl.Less.6(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.a8a2ad.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc13: = specific_function %Less.ref.loc13, @T.as_type.as.OrderedWith.impl.Less.6(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.7d1c6d.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %b.ref.loc13, %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc13 -// CHECK:STDOUT: %impl.elem0.loc13_3: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc13_3: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc13_3: = bound_method %b.ref.loc13, %impl.elem0.loc13_3 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc13: init %Cpp.long_long = call %bound_method.loc13_3(%b.ref.loc13) // CHECK:STDOUT: %.loc13_3.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc13 @@ -2273,20 +2273,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.call.loc13: init bool = call %bound_method.loc13_5.3(%.loc13_3.2, %a.ref.loc13) // CHECK:STDOUT: %b.ref.loc14: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc14: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem3.loc14: %.96b = impl_witness_access constants.%OrderedWith.impl_witness.7e3, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.f86b3e.2] +// CHECK:STDOUT: %impl.elem3.loc14: %.ff3 = impl_witness_access constants.%OrderedWith.impl_witness.658, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7e2f13.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %b.ref.loc14, %impl.elem3.loc14 -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8a93e9.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem3.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.c9f471.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %b.ref.loc14, %specific_fn.loc14 -// CHECK:STDOUT: %.loc14_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.0f0b65.1 = specific_constant imports.%Core.GreaterOrEquivalent.8e2, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.f86b3e.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.0f0b65.1 = name_ref GreaterOrEquivalent, %.loc14_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.f86b3e.1] +// CHECK:STDOUT: %.loc14_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.532487.1 = specific_constant imports.%Core.GreaterOrEquivalent.8e2, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7e2f13.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc14: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.532487.1 = name_ref GreaterOrEquivalent, %.loc14_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.7e2f13.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc14: = bound_method %b.ref.loc14, %GreaterOrEquivalent.ref.loc14 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14: = specific_function %GreaterOrEquivalent.ref.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.8a93e9.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14: = specific_function %GreaterOrEquivalent.ref.loc14, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.c9f471.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %b.ref.loc14, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc14 -// CHECK:STDOUT: %impl.elem0.loc14: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc14: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc14_3: = bound_method %b.ref.loc14, %impl.elem0.loc14 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc14: init %Cpp.long_long = call %bound_method.loc14_3(%b.ref.loc14) // CHECK:STDOUT: %.loc14_3.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc14 @@ -2294,20 +2294,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.call.loc14: init bool = call %bound_method.loc14_5.3(%.loc14_3.2, %a.ref.loc14) // CHECK:STDOUT: %b.ref.loc15: %i64 = name_ref b, %b // CHECK:STDOUT: %a.ref.loc15: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc15: %.829 = impl_witness_access constants.%OrderedWith.impl_witness.7e3, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.e5cfba.2] +// CHECK:STDOUT: %impl.elem1.loc15: %.ef3 = impl_witness_access constants.%OrderedWith.impl_witness.658, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.1da37a.2] // CHECK:STDOUT: %bound_method.loc15_5.1: = bound_method %b.ref.loc15, %impl.elem1.loc15 -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ab9ff7.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem1.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ef18e5.1] // CHECK:STDOUT: %bound_method.loc15_5.2: = bound_method %b.ref.loc15, %specific_fn.loc15 -// CHECK:STDOUT: %.loc15_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.577251.1 = specific_constant imports.%Core.LessOrEquivalent.d90, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.e5cfba.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.577251.1 = name_ref LessOrEquivalent, %.loc15_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.e5cfba.1] +// CHECK:STDOUT: %.loc15_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.17d27e.1 = specific_constant imports.%Core.LessOrEquivalent.d90, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.1da37a.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc15: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.17d27e.1 = name_ref LessOrEquivalent, %.loc15_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.1da37a.1] // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.loc15: = bound_method %b.ref.loc15, %LessOrEquivalent.ref.loc15 -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15: = specific_function %LessOrEquivalent.ref.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6(constants.%ImplicitAs.facet.7a4) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ab9ff7.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15: = specific_function %LessOrEquivalent.ref.loc15, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6(constants.%ImplicitAs.facet.2d9) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ef18e5.2] // CHECK:STDOUT: %bound_method.loc15_5.3: = bound_method %b.ref.loc15, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc15 -// CHECK:STDOUT: %impl.elem0.loc15: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc15: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc15_3: = bound_method %b.ref.loc15, %impl.elem0.loc15 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc15: init %Cpp.long_long = call %bound_method.loc15_3(%b.ref.loc15) // CHECK:STDOUT: %.loc15_3.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc15 @@ -2315,20 +2315,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.call.loc15: init bool = call %bound_method.loc15_5.3(%.loc15_3.2, %a.ref.loc15) // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc17: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc17_5: %.658 = impl_witness_access constants.%EqWith.impl_witness.cb6, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.66756b.2] -// CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %int_1.loc17, %impl.elem0.loc17_5 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.2fcdd5.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @T.as_type.as.EqWith.impl.Equal.5(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.7834c5.1] -// CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %int_1.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.7c9d36.1] -// CHECK:STDOUT: %.loc17_5.3: %T.as_type.as.EqWith.impl.Equal.type.8e6244.1 = specific_constant imports.%Core.Equal.4f5, @T.as_type.as.EqWith.impl.6d3(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.66756b.1] -// CHECK:STDOUT: %Equal.ref.loc17: %T.as_type.as.EqWith.impl.Equal.type.8e6244.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.66756b.1] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.loc17: = bound_method %int_1.loc17, %Equal.ref.loc17 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.2fcdd5.2] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.loc17: = specific_function %Equal.ref.loc17, @T.as_type.as.EqWith.impl.Equal.6(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.7834c5.2] -// CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %int_1.loc17, %T.as_type.as.EqWith.impl.Equal.specific_fn.loc17 [concrete = constants.%bound_method.7c9d36.2] -// CHECK:STDOUT: %impl.elem0.loc17_3: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc17_5: %.9eb = impl_witness_access constants.%EqWith.impl_witness.d69, element0 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bf29af.2] +// CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %int_1.loc17, %impl.elem0.loc17_5 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.d28740.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @T.as_type.as.EqWith.impl.Equal.5(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.dbbf20.1] +// CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %int_1.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.64c646.1] +// CHECK:STDOUT: %.loc17_5.3: %T.as_type.as.EqWith.impl.Equal.type.69ee3b.1 = specific_constant imports.%Core.Equal.4f5, @T.as_type.as.EqWith.impl.6d3(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bf29af.1] +// CHECK:STDOUT: %Equal.ref.loc17: %T.as_type.as.EqWith.impl.Equal.type.69ee3b.1 = name_ref Equal, %.loc17_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bf29af.1] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.bound.loc17: = bound_method %int_1.loc17, %Equal.ref.loc17 [concrete = constants.%T.as_type.as.EqWith.impl.Equal.bound.d28740.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.specific_fn.loc17: = specific_function %Equal.ref.loc17, @T.as_type.as.EqWith.impl.Equal.6(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.EqWith.impl.Equal.specific_fn.dbbf20.2] +// CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %int_1.loc17, %T.as_type.as.EqWith.impl.Equal.specific_fn.loc17 [concrete = constants.%bound_method.64c646.2] +// CHECK:STDOUT: %impl.elem0.loc17_3: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc17_3: = bound_method %int_1.loc17, %impl.elem0.loc17_3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17: init %Cpp.long_long = call %bound_method.loc17_3(%int_1.loc17) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc17_3.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_1.b19] @@ -2336,20 +2336,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.Equal.call.loc17: init bool = call %bound_method.loc17_5.3(%.loc17_3.2, %a.ref.loc17) // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc18: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc18: %.1f9 = impl_witness_access constants.%EqWith.impl_witness.cb6, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.672038.2] -// CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %int_1.loc18, %impl.elem1.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.a9911b.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @T.as_type.as.EqWith.impl.NotEqual.5(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.598adf.1] -// CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %int_1.loc18, %specific_fn.loc18 [concrete = constants.%bound_method.1f073e.1] -// CHECK:STDOUT: %.loc18_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.fb7a86.1 = specific_constant imports.%Core.NotEqual.0b2, @T.as_type.as.EqWith.impl.6d3(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.672038.1] -// CHECK:STDOUT: %NotEqual.ref.loc18: %T.as_type.as.EqWith.impl.NotEqual.type.fb7a86.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.672038.1] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.loc18: = bound_method %int_1.loc18, %NotEqual.ref.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.a9911b.2] -// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc18: = specific_function %NotEqual.ref.loc18, @T.as_type.as.EqWith.impl.NotEqual.6(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.598adf.2] -// CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %int_1.loc18, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc18 [concrete = constants.%bound_method.1f073e.2] -// CHECK:STDOUT: %impl.elem0.loc18: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem1.loc18: %.e07 = impl_witness_access constants.%EqWith.impl_witness.d69, element1 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.e6a6e5.2] +// CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %int_1.loc18, %impl.elem1.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.3b550c.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem1.loc18, @T.as_type.as.EqWith.impl.NotEqual.5(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.f946b5.1] +// CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %int_1.loc18, %specific_fn.loc18 [concrete = constants.%bound_method.88f774.1] +// CHECK:STDOUT: %.loc18_5.3: %T.as_type.as.EqWith.impl.NotEqual.type.ed9945.1 = specific_constant imports.%Core.NotEqual.0b2, @T.as_type.as.EqWith.impl.6d3(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.e6a6e5.1] +// CHECK:STDOUT: %NotEqual.ref.loc18: %T.as_type.as.EqWith.impl.NotEqual.type.ed9945.1 = name_ref NotEqual, %.loc18_5.3 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.e6a6e5.1] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.bound.loc18: = bound_method %int_1.loc18, %NotEqual.ref.loc18 [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.bound.3b550c.2] +// CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc18: = specific_function %NotEqual.ref.loc18, @T.as_type.as.EqWith.impl.NotEqual.6(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.EqWith.impl.NotEqual.specific_fn.f946b5.2] +// CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %int_1.loc18, %T.as_type.as.EqWith.impl.NotEqual.specific_fn.loc18 [concrete = constants.%bound_method.88f774.2] +// CHECK:STDOUT: %impl.elem0.loc18: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc18_3: = bound_method %int_1.loc18, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long_long = call %bound_method.loc18_3(%int_1.loc18) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc18_3.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_1.b19] @@ -2357,20 +2357,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.EqWith.impl.NotEqual.call.loc18: init bool = call %bound_method.loc18_5.3(%.loc18_3.2, %a.ref.loc18) // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc19: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem2.loc19: %.1e0 = impl_witness_access constants.%OrderedWith.impl_witness.ccd, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.a80774.2] -// CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %int_1.loc19, %impl.elem2.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.ba4552.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @T.as_type.as.OrderedWith.impl.Greater.5(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.3eccd1.1] -// CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %int_1.loc19, %specific_fn.loc19 [concrete = constants.%bound_method.560bca.1] -// CHECK:STDOUT: %.loc19_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.e2356e.1 = specific_constant imports.%Core.Greater.c24, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.a80774.1] -// CHECK:STDOUT: %Greater.ref.loc19: %T.as_type.as.OrderedWith.impl.Greater.type.e2356e.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.a80774.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.loc19: = bound_method %int_1.loc19, %Greater.ref.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.ba4552.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc19: = specific_function %Greater.ref.loc19, @T.as_type.as.OrderedWith.impl.Greater.6(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.3eccd1.2] -// CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %int_1.loc19, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc19 [concrete = constants.%bound_method.560bca.2] -// CHECK:STDOUT: %impl.elem0.loc19: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem2.loc19: %.e0e = impl_witness_access constants.%OrderedWith.impl_witness.01c, element2 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.5bddac.2] +// CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %int_1.loc19, %impl.elem2.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.e43728.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem2.loc19, @T.as_type.as.OrderedWith.impl.Greater.5(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.58afc5.1] +// CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %int_1.loc19, %specific_fn.loc19 [concrete = constants.%bound_method.50b142.1] +// CHECK:STDOUT: %.loc19_5.3: %T.as_type.as.OrderedWith.impl.Greater.type.6d0e34.1 = specific_constant imports.%Core.Greater.c24, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.5bddac.1] +// CHECK:STDOUT: %Greater.ref.loc19: %T.as_type.as.OrderedWith.impl.Greater.type.6d0e34.1 = name_ref Greater, %.loc19_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.5bddac.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.bound.loc19: = bound_method %int_1.loc19, %Greater.ref.loc19 [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.bound.e43728.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc19: = specific_function %Greater.ref.loc19, @T.as_type.as.OrderedWith.impl.Greater.6(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.Greater.specific_fn.58afc5.2] +// CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %int_1.loc19, %T.as_type.as.OrderedWith.impl.Greater.specific_fn.loc19 [concrete = constants.%bound_method.50b142.2] +// CHECK:STDOUT: %impl.elem0.loc19: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc19_3: = bound_method %int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19: init %Cpp.long_long = call %bound_method.loc19_3(%int_1.loc19) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc19_3.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19 [concrete = constants.%int_1.b19] @@ -2378,20 +2378,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Greater.call.loc19: init bool = call %bound_method.loc19_5.3(%.loc19_3.2, %a.ref.loc19) // CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc20: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc20_5: %.4c9 = impl_witness_access constants.%OrderedWith.impl_witness.ccd, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.09733d.2] -// CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %int_1.loc20, %impl.elem0.loc20_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.069497.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @T.as_type.as.OrderedWith.impl.Less.5(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.0beaf8.1] -// CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %int_1.loc20, %specific_fn.loc20 [concrete = constants.%bound_method.103f49.1] -// CHECK:STDOUT: %.loc20_5.3: %T.as_type.as.OrderedWith.impl.Less.type.28a50f.1 = specific_constant imports.%Core.Less.2d9, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.09733d.1] -// CHECK:STDOUT: %Less.ref.loc20: %T.as_type.as.OrderedWith.impl.Less.type.28a50f.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.09733d.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.loc20: = bound_method %int_1.loc20, %Less.ref.loc20 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.069497.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc20: = specific_function %Less.ref.loc20, @T.as_type.as.OrderedWith.impl.Less.6(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.0beaf8.2] -// CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %int_1.loc20, %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc20 [concrete = constants.%bound_method.103f49.2] -// CHECK:STDOUT: %impl.elem0.loc20_3: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc20_5: %.b9e = impl_witness_access constants.%OrderedWith.impl_witness.01c, element0 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.e99f16.2] +// CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %int_1.loc20, %impl.elem0.loc20_5 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.46f927.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @T.as_type.as.OrderedWith.impl.Less.5(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.d850a6.1] +// CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %int_1.loc20, %specific_fn.loc20 [concrete = constants.%bound_method.af9538.1] +// CHECK:STDOUT: %.loc20_5.3: %T.as_type.as.OrderedWith.impl.Less.type.0cf30e.1 = specific_constant imports.%Core.Less.2d9, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.e99f16.1] +// CHECK:STDOUT: %Less.ref.loc20: %T.as_type.as.OrderedWith.impl.Less.type.0cf30e.1 = name_ref Less, %.loc20_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.e99f16.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.bound.loc20: = bound_method %int_1.loc20, %Less.ref.loc20 [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.bound.46f927.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc20: = specific_function %Less.ref.loc20, @T.as_type.as.OrderedWith.impl.Less.6(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.Less.specific_fn.d850a6.2] +// CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %int_1.loc20, %T.as_type.as.OrderedWith.impl.Less.specific_fn.loc20 [concrete = constants.%bound_method.af9538.2] +// CHECK:STDOUT: %impl.elem0.loc20_3: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc20_3: = bound_method %int_1.loc20, %impl.elem0.loc20_3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20: init %Cpp.long_long = call %bound_method.loc20_3(%int_1.loc20) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc20_3.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_1.b19] @@ -2399,20 +2399,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.Less.call.loc20: init bool = call %bound_method.loc20_5.3(%.loc20_3.2, %a.ref.loc20) // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc21: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem3.loc21: %.b09 = impl_witness_access constants.%OrderedWith.impl_witness.ccd, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ae8de7.2] -// CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %int_1.loc21, %impl.elem3.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.22317d.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.371f57.1] -// CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.ffa540.1] -// CHECK:STDOUT: %.loc21_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.09194f.1 = specific_constant imports.%Core.GreaterOrEquivalent.8e2, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ae8de7.1] -// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.09194f.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.ae8de7.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc21: = bound_method %int_1.loc21, %GreaterOrEquivalent.ref.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.22317d.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21: = specific_function %GreaterOrEquivalent.ref.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.371f57.2] -// CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %int_1.loc21, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21 [concrete = constants.%bound_method.ffa540.2] -// CHECK:STDOUT: %impl.elem0.loc21: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem3.loc21: %.5c6 = impl_witness_access constants.%OrderedWith.impl_witness.01c, element3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4c05ce.2] +// CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %int_1.loc21, %impl.elem3.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.8313f0.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem3.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.5(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.7ede1f.1] +// CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.d93343.1] +// CHECK:STDOUT: %.loc21_5.3: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.75cdfe.1 = specific_constant imports.%Core.GreaterOrEquivalent.8e2, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4c05ce.1] +// CHECK:STDOUT: %GreaterOrEquivalent.ref.loc21: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.type.75cdfe.1 = name_ref GreaterOrEquivalent, %.loc21_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.4c05ce.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.loc21: = bound_method %int_1.loc21, %GreaterOrEquivalent.ref.loc21 [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.bound.8313f0.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21: = specific_function %GreaterOrEquivalent.ref.loc21, @T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.6(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.7ede1f.2] +// CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %int_1.loc21, %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.specific_fn.loc21 [concrete = constants.%bound_method.d93343.2] +// CHECK:STDOUT: %impl.elem0.loc21: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc21_3: = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21: init %Cpp.long_long = call %bound_method.loc21_3(%int_1.loc21) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc21_3.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21 [concrete = constants.%int_1.b19] @@ -2420,20 +2420,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.GreaterOrEquivalent.call.loc21: init bool = call %bound_method.loc21_5.3(%.loc21_3.2, %a.ref.loc21) // CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %a.ref.loc22: %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem1.loc22: %.cab = impl_witness_access constants.%OrderedWith.impl_witness.ccd, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.b7cd44.2] -// CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %int_1.loc22, %impl.elem1.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.2eaa72.1] -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.2ed] -// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.05fce2.1] -// CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %int_1.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.83e687.1] -// CHECK:STDOUT: %.loc22_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1522a4.1 = specific_constant imports.%Core.LessOrEquivalent.d90, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.b7cd44.1] -// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.1522a4.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.b7cd44.1] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.loc22: = bound_method %int_1.loc22, %LessOrEquivalent.ref.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.2eaa72.2] -// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22: = specific_function %LessOrEquivalent.ref.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6(constants.%ImplicitAs.facet.2ed) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.05fce2.2] -// CHECK:STDOUT: %bound_method.loc22_5.3: = bound_method %int_1.loc22, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22 [concrete = constants.%bound_method.83e687.2] -// CHECK:STDOUT: %impl.elem0.loc22: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem1.loc22: %.972 = impl_witness_access constants.%OrderedWith.impl_witness.01c, element1 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.60d9eb.2] +// CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %int_1.loc22, %impl.elem1.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.85eb0f.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc22_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.1 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %ImplicitAs.facet.loc22_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %.loc22_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc22_5.2 [concrete = constants.%ImplicitAs.facet.82d] +// CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem1.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.5(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ebe566.1] +// CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %int_1.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.a6a809.1] +// CHECK:STDOUT: %.loc22_5.3: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.20fd09.1 = specific_constant imports.%Core.LessOrEquivalent.d90, @T.as_type.as.OrderedWith.impl.df2(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.60d9eb.1] +// CHECK:STDOUT: %LessOrEquivalent.ref.loc22: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.type.20fd09.1 = name_ref LessOrEquivalent, %.loc22_5.3 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.60d9eb.1] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.loc22: = bound_method %int_1.loc22, %LessOrEquivalent.ref.loc22 [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.bound.85eb0f.2] +// CHECK:STDOUT: %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22: = specific_function %LessOrEquivalent.ref.loc22, @T.as_type.as.OrderedWith.impl.LessOrEquivalent.6(constants.%ImplicitAs.facet.82d) [concrete = constants.%T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.ebe566.2] +// CHECK:STDOUT: %bound_method.loc22_5.3: = bound_method %int_1.loc22, %T.as_type.as.OrderedWith.impl.LessOrEquivalent.specific_fn.loc22 [concrete = constants.%bound_method.a6a809.2] +// CHECK:STDOUT: %impl.elem0.loc22: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc22_3: = bound_method %int_1.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22: init %Cpp.long_long = call %bound_method.loc22_3(%int_1.loc22) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc22_3.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22 [concrete = constants.%int_1.b19] @@ -2459,10 +2459,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %T.f84: %Copy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as_type.as.ImplicitAs.impl.Convert.type.6c4: type = fn_type @T.as_type.as.ImplicitAs.impl.Convert, @T.as_type.as.ImplicitAs.impl(%T.f84) [symbolic] // CHECK:STDOUT: %T.as_type.as.ImplicitAs.impl.Convert.61d: %T.as_type.as.ImplicitAs.impl.Convert.type.6c4 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.2ed: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet.2ed [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.82d: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet.82d [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -2475,155 +2475,155 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.5c7: = impl_witness imports.%Copy.impl_witness_table.a14 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long_long, (%Copy.impl_witness.5c7) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.3f3: = impl_witness imports.%ImplicitAs.impl_witness_table.5b9, @T.as_type.as.ImplicitAs.impl(%Copy.facet) [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.7bc: %ImplicitAs.type.0ec = facet_value %Cpp.long_long, (%ImplicitAs.impl_witness.3f3) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.82d: = impl_witness imports.%AddAssignWith.impl_witness_table.442, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.7da4ae.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.57b7c2.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.7da4ae.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.7da4ae.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.57b7c2.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.7da4ae.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.af3: %AddAssignWith.type.166 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.82d) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.aa9: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long_long, %AddAssignWith.facet.af3) [concrete] -// CHECK:STDOUT: %.a99: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.aa9, %AddAssignWith.facet.af3 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.51a919.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.57b7c2.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.51a919.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.57b7c2.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.1ae: = impl_witness imports.%Copy.impl_witness_table.d10 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.long_long, (%Copy.impl_witness.1ae) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.9c2: = impl_witness imports.%ImplicitAs.impl_witness_table.fac, @T.as_type.as.ImplicitAs.impl(%Copy.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.bc8: %ImplicitAs.type.0ec = facet_value %Cpp.long_long, (%ImplicitAs.impl_witness.9c2) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.f0c: = impl_witness imports.%AddAssignWith.impl_witness_table.24b, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3c3ed3.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.a9ea4f.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3c3ed3.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3c3ed3.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.a9ea4f.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3c3ed3.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.991: %AddAssignWith.type.166 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.f0c) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.b30: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%Cpp.long_long, %AddAssignWith.facet.991) [concrete] +// CHECK:STDOUT: %.474: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.b30, %AddAssignWith.facet.991 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.7b4e49.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.a9ea4f.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.7b4e49.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.a9ea4f.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %SubAssignWith.type.81c: type = facet_type <@SubAssignWith, @SubAssignWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.1: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.1, @Cpp.long_long.as.SubAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.67476b.1: %Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.67476b.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.2 = struct_value () [symbolic] -// CHECK:STDOUT: %SubAssignWith.impl_witness.d2c: = impl_witness imports.%SubAssignWith.impl_witness_table.425, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.c6ad2e.1: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.2d41e3.1: %Cpp.long_long.as.SubAssignWith.impl.Op.type.c6ad2e.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.c6ad2e.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.1, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.2d41e3.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.c6ad2e.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.3d7: %SubAssignWith.type.81c = facet_value %Cpp.long_long, (%SubAssignWith.impl_witness.d2c) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.5cd: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long_long, %SubAssignWith.facet.3d7) [concrete] -// CHECK:STDOUT: %.17f: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.5cd, %SubAssignWith.facet.3d7 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.6e9b6c.1: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.2d41e3.2, @Cpp.long_long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.6e9b6c.2: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.2d41e3.1, @Cpp.long_long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness.be8: = impl_witness imports.%SubAssignWith.impl_witness_table.be9, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.ecc32f.1: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.2b0a24.1: %Cpp.long_long.as.SubAssignWith.impl.Op.type.ecc32f.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.ecc32f.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.1, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.2b0a24.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.ecc32f.2 = struct_value () [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.1cd: %SubAssignWith.type.81c = facet_value %Cpp.long_long, (%SubAssignWith.impl_witness.be8) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.1e9: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%Cpp.long_long, %SubAssignWith.facet.1cd) [concrete] +// CHECK:STDOUT: %.a6c: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.1e9, %SubAssignWith.facet.1cd [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.9ec3e7.1: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.2b0a24.2, @Cpp.long_long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.9ec3e7.2: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.2b0a24.1, @Cpp.long_long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %MulAssignWith.type.65c: type = facet_type <@MulAssignWith, @MulAssignWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.1: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.1, @Cpp.long_long.as.MulAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.59c70e.1: %Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.59c70e.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.2 = struct_value () [symbolic] -// CHECK:STDOUT: %MulAssignWith.impl_witness.96f: = impl_witness imports.%MulAssignWith.impl_witness_table.769, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.892850.1: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.46f6d9.1: %Cpp.long_long.as.MulAssignWith.impl.Op.type.892850.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.892850.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.1, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.46f6d9.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.892850.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.1c1: %MulAssignWith.type.65c = facet_value %Cpp.long_long, (%MulAssignWith.impl_witness.96f) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.433: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long_long, %MulAssignWith.facet.1c1) [concrete] -// CHECK:STDOUT: %.50e: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.433, %MulAssignWith.facet.1c1 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.762651.1: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.46f6d9.2, @Cpp.long_long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.762651.2: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.46f6d9.1, @Cpp.long_long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness.013: = impl_witness imports.%MulAssignWith.impl_witness_table.fb7, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.ce0a27.1: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.34272f.1: %Cpp.long_long.as.MulAssignWith.impl.Op.type.ce0a27.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.ce0a27.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.1, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.34272f.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.ce0a27.2 = struct_value () [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.8fc: %MulAssignWith.type.65c = facet_value %Cpp.long_long, (%MulAssignWith.impl_witness.013) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.20f: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%Cpp.long_long, %MulAssignWith.facet.8fc) [concrete] +// CHECK:STDOUT: %.138: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.20f, %MulAssignWith.facet.8fc [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.d2823b.1: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.34272f.2, @Cpp.long_long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.d2823b.2: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.34272f.1, @Cpp.long_long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %DivAssignWith.type.d82: type = facet_type <@DivAssignWith, @DivAssignWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.1: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.1, @Cpp.long_long.as.DivAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.053c65.1: %Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.053c65.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.2 = struct_value () [symbolic] -// CHECK:STDOUT: %DivAssignWith.impl_witness.0c4: = impl_witness imports.%DivAssignWith.impl_witness_table.538, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.90284d.1: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.1dcb1e.1: %Cpp.long_long.as.DivAssignWith.impl.Op.type.90284d.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.90284d.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.1, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.1dcb1e.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.90284d.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.653: %DivAssignWith.type.d82 = facet_value %Cpp.long_long, (%DivAssignWith.impl_witness.0c4) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.6ce: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long_long, %DivAssignWith.facet.653) [concrete] -// CHECK:STDOUT: %.1d3: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.6ce, %DivAssignWith.facet.653 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.20bed4.1: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.1dcb1e.2, @Cpp.long_long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.20bed4.2: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.1dcb1e.1, @Cpp.long_long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness.1db: = impl_witness imports.%DivAssignWith.impl_witness_table.228, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.f8edd0.1: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.81a1d1.1: %Cpp.long_long.as.DivAssignWith.impl.Op.type.f8edd0.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.f8edd0.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.1, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.81a1d1.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.f8edd0.2 = struct_value () [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.7e1: %DivAssignWith.type.d82 = facet_value %Cpp.long_long, (%DivAssignWith.impl_witness.1db) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.e03: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%Cpp.long_long, %DivAssignWith.facet.7e1) [concrete] +// CHECK:STDOUT: %.96c: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.e03, %DivAssignWith.facet.7e1 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.3de7ae.1: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.81a1d1.2, @Cpp.long_long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.3de7ae.2: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.81a1d1.1, @Cpp.long_long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %ModAssignWith.type.3e2: type = facet_type <@ModAssignWith, @ModAssignWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.1: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.1, @Cpp.long_long.as.ModAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.0a710f.1: %Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.0a710f.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ModAssignWith.impl_witness.ed9: = impl_witness imports.%ModAssignWith.impl_witness_table.cdc, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.030e50.1: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.1c5c20.1: %Cpp.long_long.as.ModAssignWith.impl.Op.type.030e50.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.030e50.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.1, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.1c5c20.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.030e50.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.761: %ModAssignWith.type.3e2 = facet_value %Cpp.long_long, (%ModAssignWith.impl_witness.ed9) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.3f1: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long_long, %ModAssignWith.facet.761) [concrete] -// CHECK:STDOUT: %.e86: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.3f1, %ModAssignWith.facet.761 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.0d98f1.1: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.1c5c20.2, @Cpp.long_long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.0d98f1.2: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.1c5c20.1, @Cpp.long_long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness.166: = impl_witness imports.%ModAssignWith.impl_witness_table.f30, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.6001cc.1: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.e8b848.1: %Cpp.long_long.as.ModAssignWith.impl.Op.type.6001cc.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.6001cc.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.1, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.e8b848.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.6001cc.2 = struct_value () [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.1f2: %ModAssignWith.type.3e2 = facet_value %Cpp.long_long, (%ModAssignWith.impl_witness.166) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.b2d: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%Cpp.long_long, %ModAssignWith.facet.1f2) [concrete] +// CHECK:STDOUT: %.c4ff: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.b2d, %ModAssignWith.facet.1f2 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.5504e8.1: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.e8b848.2, @Cpp.long_long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.5504e8.2: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.e8b848.1, @Cpp.long_long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.2f8: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.1: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.1, @Cpp.long_long.as.BitAndAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.3a2cbb.1: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.3a2cbb.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness.8e7: = impl_witness imports.%BitAndAssignWith.impl_witness_table.d41, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.f75b5c.1: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.da411d.1: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.f75b5c.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.f75b5c.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.1, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.da411d.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.f75b5c.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.6e7: %BitAndAssignWith.type.2f8 = facet_value %Cpp.long_long, (%BitAndAssignWith.impl_witness.8e7) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.f7e: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long_long, %BitAndAssignWith.facet.6e7) [concrete] -// CHECK:STDOUT: %.922: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.f7e, %BitAndAssignWith.facet.6e7 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.dc94b5.1: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.da411d.2, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.dc94b5.2: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.da411d.1, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness.4ab: = impl_witness imports.%BitAndAssignWith.impl_witness_table.390, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.517dbc.1: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.961e72.1: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.517dbc.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.517dbc.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.1, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.961e72.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.517dbc.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.aee: %BitAndAssignWith.type.2f8 = facet_value %Cpp.long_long, (%BitAndAssignWith.impl_witness.4ab) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.53f: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%Cpp.long_long, %BitAndAssignWith.facet.aee) [concrete] +// CHECK:STDOUT: %.4d3: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.53f, %BitAndAssignWith.facet.aee [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.0dcb28.1: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.961e72.2, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.0dcb28.2: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.961e72.1, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.eac: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.1: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.1, @Cpp.long_long.as.BitOrAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.65c84e.1: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.65c84e.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness.d84: = impl_witness imports.%BitOrAssignWith.impl_witness_table.446, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.503598.1: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.1137bd.1: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.503598.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.503598.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.1, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.1137bd.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.503598.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.bf3: %BitOrAssignWith.type.eac = facet_value %Cpp.long_long, (%BitOrAssignWith.impl_witness.d84) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.5b1: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long_long, %BitOrAssignWith.facet.bf3) [concrete] -// CHECK:STDOUT: %.cc3: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.5b1, %BitOrAssignWith.facet.bf3 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.9908b9.1: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.1137bd.2, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.9908b9.2: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.1137bd.1, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness.928: = impl_witness imports.%BitOrAssignWith.impl_witness_table.30d, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.8f8ead.1: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.e58fe4.1: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.8f8ead.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.8f8ead.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.1, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.e58fe4.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.8f8ead.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.75e: %BitOrAssignWith.type.eac = facet_value %Cpp.long_long, (%BitOrAssignWith.impl_witness.928) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.278: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%Cpp.long_long, %BitOrAssignWith.facet.75e) [concrete] +// CHECK:STDOUT: %.fac: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.278, %BitOrAssignWith.facet.75e [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.93d1df.1: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.e58fe4.2, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.93d1df.2: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.e58fe4.1, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.434: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.1: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.1, @Cpp.long_long.as.BitXorAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.3b70cd.1: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.3b70cd.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness.462: = impl_witness imports.%BitXorAssignWith.impl_witness_table.8e4, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.3d8271.1: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.84559f.1: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.3d8271.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.3d8271.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.1, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.84559f.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.3d8271.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.562: %BitXorAssignWith.type.434 = facet_value %Cpp.long_long, (%BitXorAssignWith.impl_witness.462) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.0f1: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long_long, %BitXorAssignWith.facet.562) [concrete] -// CHECK:STDOUT: %.cae: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.0f1, %BitXorAssignWith.facet.562 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.1bb816.1: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.84559f.2, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.1bb816.2: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.84559f.1, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness.16d: = impl_witness imports.%BitXorAssignWith.impl_witness_table.414, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.7cf10a.1: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.322da2.1: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.7cf10a.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.7cf10a.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.1, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.322da2.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.7cf10a.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.0b0: %BitXorAssignWith.type.434 = facet_value %Cpp.long_long, (%BitXorAssignWith.impl_witness.16d) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.3a8: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%Cpp.long_long, %BitXorAssignWith.facet.0b0) [concrete] +// CHECK:STDOUT: %.ed3: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.3a8, %BitXorAssignWith.facet.0b0 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.707457.1: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.322da2.2, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.707457.2: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.322da2.1, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.509: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.1: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long_long.as.LeftShiftAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.688a59.1: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.688a59.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.2 = struct_value () [symbolic] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.812: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.dd0, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.25e1dd.1: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e964c.1: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.25e1dd.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.25e1dd.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e964c.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.25e1dd.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.033: %LeftShiftAssignWith.type.509 = facet_value %Cpp.long_long, (%LeftShiftAssignWith.impl_witness.812) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.5dd: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long_long, %LeftShiftAssignWith.facet.033) [concrete] -// CHECK:STDOUT: %.c95: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.5dd, %LeftShiftAssignWith.facet.033 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.ebef73.1: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e964c.2, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.ebef73.2: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e964c.1, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.9be: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.080, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.90e5a3.1: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c9d902.1: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.90e5a3.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.90e5a3.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c9d902.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.90e5a3.2 = struct_value () [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.e21: %LeftShiftAssignWith.type.509 = facet_value %Cpp.long_long, (%LeftShiftAssignWith.impl_witness.9be) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.c82: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%Cpp.long_long, %LeftShiftAssignWith.facet.e21) [concrete] +// CHECK:STDOUT: %.ae9: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.c82, %LeftShiftAssignWith.facet.e21 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.795f62.1: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c9d902.2, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.795f62.2: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c9d902.1, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.a59: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.1: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long_long.as.RightShiftAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.1: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.2 = struct_value () [symbolic] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.dab: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.00b, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5579b8.1: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.02ad61.1: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5579b8.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5579b8.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.02ad61.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5579b8.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.347: %RightShiftAssignWith.type.a59 = facet_value %Cpp.long_long, (%RightShiftAssignWith.impl_witness.dab) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.82e: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long_long, %RightShiftAssignWith.facet.347) [concrete] -// CHECK:STDOUT: %.888: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.82e, %RightShiftAssignWith.facet.347 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.fa67f5.1: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.02ad61.2, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.7bc) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.fa67f5.2: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.02ad61.1, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.7bc) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.2a5: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.af8, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.bd24cc.1: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.5eb4a1.1: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.bd24cc.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.bd24cc.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.5eb4a1.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.bd24cc.2 = struct_value () [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.926: %RightShiftAssignWith.type.a59 = facet_value %Cpp.long_long, (%RightShiftAssignWith.impl_witness.2a5) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.3ee: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%Cpp.long_long, %RightShiftAssignWith.facet.926) [concrete] +// CHECK:STDOUT: %.b01: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.3ee, %RightShiftAssignWith.facet.926 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.ddd122.1: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.5eb4a1.2, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.bc8) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.ddd122.2: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.5eb4a1.1, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.bc8) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] // CHECK:STDOUT: %Cpp.long_long.as.Copy.impl.Op.type: type = fn_type @Cpp.long_long.as.Copy.impl.Op [concrete] @@ -2636,40 +2636,40 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.051: @T.as_type.as.ImplicitAs.impl.%T.as_type.as.ImplicitAs.impl.Convert.type (%T.as_type.as.ImplicitAs.impl.Convert.type.6c4) = import_ref Core//prelude/types/cpp/int, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.ImplicitAs.impl.%T.as_type.as.ImplicitAs.impl.Convert (constants.%T.as_type.as.ImplicitAs.impl.Convert.61d)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.5b9 = impl_witness_table (%Core.import_ref.051), @T.as_type.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.fac = impl_witness_table (%Core.import_ref.051), @T.as_type.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %Core.import_ref.634: @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.442 = impl_witness_table (%Core.import_ref.634), @Cpp.long_long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.24b = impl_witness_table (%Core.import_ref.634), @Cpp.long_long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.c11: @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.2)] // CHECK:STDOUT: %Core.import_ref.9c3: %Cpp.long_long.as.Copy.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.a14 = impl_witness_table (%Core.import_ref.9c3), @Cpp.long_long.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.d10 = impl_witness_table (%Core.import_ref.9c3), @Cpp.long_long.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.14b: @Cpp.long_long.as.SubAssignWith.impl.%Cpp.long_long.as.SubAssignWith.impl.Op.type.2 (%Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.SubAssignWith.impl.%Cpp.long_long.as.SubAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.SubAssignWith.impl.Op.67476b.1)] -// CHECK:STDOUT: %SubAssignWith.impl_witness_table.425 = impl_witness_table (%Core.import_ref.14b), @Cpp.long_long.as.SubAssignWith.impl [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness_table.be9 = impl_witness_table (%Core.import_ref.14b), @Cpp.long_long.as.SubAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.3dd: @Cpp.long_long.as.SubAssignWith.impl.%Cpp.long_long.as.SubAssignWith.impl.Op.type.1 (%Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.SubAssignWith.impl.%Cpp.long_long.as.SubAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.SubAssignWith.impl.Op.67476b.2)] // CHECK:STDOUT: %Core.import_ref.1e7: @Cpp.long_long.as.MulAssignWith.impl.%Cpp.long_long.as.MulAssignWith.impl.Op.type.2 (%Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.MulAssignWith.impl.%Cpp.long_long.as.MulAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.MulAssignWith.impl.Op.59c70e.1)] -// CHECK:STDOUT: %MulAssignWith.impl_witness_table.769 = impl_witness_table (%Core.import_ref.1e7), @Cpp.long_long.as.MulAssignWith.impl [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness_table.fb7 = impl_witness_table (%Core.import_ref.1e7), @Cpp.long_long.as.MulAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.1a0: @Cpp.long_long.as.MulAssignWith.impl.%Cpp.long_long.as.MulAssignWith.impl.Op.type.1 (%Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.MulAssignWith.impl.%Cpp.long_long.as.MulAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.MulAssignWith.impl.Op.59c70e.2)] // CHECK:STDOUT: %Core.import_ref.90c: @Cpp.long_long.as.DivAssignWith.impl.%Cpp.long_long.as.DivAssignWith.impl.Op.type.2 (%Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.DivAssignWith.impl.%Cpp.long_long.as.DivAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.DivAssignWith.impl.Op.053c65.1)] -// CHECK:STDOUT: %DivAssignWith.impl_witness_table.538 = impl_witness_table (%Core.import_ref.90c), @Cpp.long_long.as.DivAssignWith.impl [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness_table.228 = impl_witness_table (%Core.import_ref.90c), @Cpp.long_long.as.DivAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.4db: @Cpp.long_long.as.DivAssignWith.impl.%Cpp.long_long.as.DivAssignWith.impl.Op.type.1 (%Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.DivAssignWith.impl.%Cpp.long_long.as.DivAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.DivAssignWith.impl.Op.053c65.2)] // CHECK:STDOUT: %Core.import_ref.620: @Cpp.long_long.as.ModAssignWith.impl.%Cpp.long_long.as.ModAssignWith.impl.Op.type.2 (%Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.ModAssignWith.impl.%Cpp.long_long.as.ModAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.ModAssignWith.impl.Op.0a710f.1)] -// CHECK:STDOUT: %ModAssignWith.impl_witness_table.cdc = impl_witness_table (%Core.import_ref.620), @Cpp.long_long.as.ModAssignWith.impl [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness_table.f30 = impl_witness_table (%Core.import_ref.620), @Cpp.long_long.as.ModAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.978: @Cpp.long_long.as.ModAssignWith.impl.%Cpp.long_long.as.ModAssignWith.impl.Op.type.1 (%Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.ModAssignWith.impl.%Cpp.long_long.as.ModAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.ModAssignWith.impl.Op.0a710f.2)] // CHECK:STDOUT: %Core.import_ref.f6c: @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.3a2cbb.1)] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.d41 = impl_witness_table (%Core.import_ref.f6c), @Cpp.long_long.as.BitAndAssignWith.impl [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.390 = impl_witness_table (%Core.import_ref.f6c), @Cpp.long_long.as.BitAndAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.96f: @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.3a2cbb.2)] // CHECK:STDOUT: %Core.import_ref.4fa: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.65c84e.1)] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.446 = impl_witness_table (%Core.import_ref.4fa), @Cpp.long_long.as.BitOrAssignWith.impl [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.30d = impl_witness_table (%Core.import_ref.4fa), @Cpp.long_long.as.BitOrAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.152: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.65c84e.2)] // CHECK:STDOUT: %Core.import_ref.0a0: @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.3b70cd.1)] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.8e4 = impl_witness_table (%Core.import_ref.0a0), @Cpp.long_long.as.BitXorAssignWith.impl [concrete] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.414 = impl_witness_table (%Core.import_ref.0a0), @Cpp.long_long.as.BitXorAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.993: @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.3b70cd.2)] // CHECK:STDOUT: %Core.import_ref.463: @Cpp.long_long.as.LeftShiftAssignWith.impl.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.2 (%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.LeftShiftAssignWith.impl.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.688a59.1)] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.dd0 = impl_witness_table (%Core.import_ref.463), @Cpp.long_long.as.LeftShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.080 = impl_witness_table (%Core.import_ref.463), @Cpp.long_long.as.LeftShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.3c4: @Cpp.long_long.as.LeftShiftAssignWith.impl.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.1 (%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.LeftShiftAssignWith.impl.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.688a59.2)] -// CHECK:STDOUT: %Core.import_ref.6d5a: @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2 (%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.1)] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.00b = impl_witness_table (%Core.import_ref.6d5a), @Cpp.long_long.as.RightShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.6d5: @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2 (%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.1)] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.af8 = impl_witness_table (%Core.import_ref.6d5), @Cpp.long_long.as.RightShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.77b: @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.1 (%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.2)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -2677,7 +2677,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long_long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long_long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc8_3: init %Cpp.long_long = converted %int_1.loc8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.b19] @@ -2693,7 +2693,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %Cpp.long_long = var_storage %b.var_patt // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long_long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc9_3: init %Cpp.long_long = converted %int_1.loc9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.b19] @@ -2709,172 +2709,172 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc11: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc11: %.a99 = impl_witness_access constants.%AddAssignWith.impl_witness.82d, element0 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.57b7c2.2] +// CHECK:STDOUT: %impl.elem0.loc11: %.474 = impl_witness_access constants.%AddAssignWith.impl_witness.f0c, element0 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.a9ea4f.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %a.ref.loc11, %impl.elem0.loc11 -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Cpp.long_long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.51a919.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Cpp.long_long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.7b4e49.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %a.ref.loc11, %specific_fn.loc11 // CHECK:STDOUT: %.loc11_8: %Cpp.long_long = acquire_value %b.ref.loc11 -// CHECK:STDOUT: %.loc11_5.3: %Cpp.long_long.as.AddAssignWith.impl.Op.type.7da4ae.1 = specific_constant imports.%Core.Op.c11, @Cpp.long_long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.57b7c2.1] -// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long_long.as.AddAssignWith.impl.Op.type.7da4ae.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.57b7c2.1] +// CHECK:STDOUT: %.loc11_5.3: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3c3ed3.1 = specific_constant imports.%Core.Op.c11, @Cpp.long_long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.a9ea4f.1] +// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3c3ed3.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.a9ea4f.1] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref.loc11, %Op.ref.loc11 -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long_long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.51a919.2] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long_long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.7b4e49.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %a.ref.loc11, %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc11_5.3(%a.ref.loc11, %.loc11_8) // CHECK:STDOUT: %a.ref.loc12: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc12: %.17f = impl_witness_access constants.%SubAssignWith.impl_witness.d2c, element0 [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.2d41e3.2] +// CHECK:STDOUT: %impl.elem0.loc12: %.a6c = impl_witness_access constants.%SubAssignWith.impl_witness.be8, element0 [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.2b0a24.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %a.ref.loc12, %impl.elem0.loc12 -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Cpp.long_long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.6e9b6c.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Cpp.long_long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.9ec3e7.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %a.ref.loc12, %specific_fn.loc12 // CHECK:STDOUT: %.loc12_8: %Cpp.long_long = acquire_value %b.ref.loc12 -// CHECK:STDOUT: %.loc12_5.3: %Cpp.long_long.as.SubAssignWith.impl.Op.type.c6ad2e.1 = specific_constant imports.%Core.Op.3dd, @Cpp.long_long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.2d41e3.1] -// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long_long.as.SubAssignWith.impl.Op.type.c6ad2e.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.2d41e3.1] +// CHECK:STDOUT: %.loc12_5.3: %Cpp.long_long.as.SubAssignWith.impl.Op.type.ecc32f.1 = specific_constant imports.%Core.Op.3dd, @Cpp.long_long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.2b0a24.1] +// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long_long.as.SubAssignWith.impl.Op.type.ecc32f.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.2b0a24.1] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.bound: = bound_method %a.ref.loc12, %Op.ref.loc12 -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long_long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.6e9b6c.2] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long_long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.9ec3e7.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %a.ref.loc12, %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc12_5.3(%a.ref.loc12, %.loc12_8) // CHECK:STDOUT: %a.ref.loc13: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13: %.50e = impl_witness_access constants.%MulAssignWith.impl_witness.96f, element0 [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.46f6d9.2] +// CHECK:STDOUT: %impl.elem0.loc13: %.138 = impl_witness_access constants.%MulAssignWith.impl_witness.013, element0 [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.34272f.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %a.ref.loc13, %impl.elem0.loc13 -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Cpp.long_long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.762651.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Cpp.long_long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.d2823b.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %a.ref.loc13, %specific_fn.loc13 // CHECK:STDOUT: %.loc13_8: %Cpp.long_long = acquire_value %b.ref.loc13 -// CHECK:STDOUT: %.loc13_5.3: %Cpp.long_long.as.MulAssignWith.impl.Op.type.892850.1 = specific_constant imports.%Core.Op.1a0, @Cpp.long_long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.46f6d9.1] -// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long_long.as.MulAssignWith.impl.Op.type.892850.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.46f6d9.1] +// CHECK:STDOUT: %.loc13_5.3: %Cpp.long_long.as.MulAssignWith.impl.Op.type.ce0a27.1 = specific_constant imports.%Core.Op.1a0, @Cpp.long_long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.34272f.1] +// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long_long.as.MulAssignWith.impl.Op.type.ce0a27.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.34272f.1] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.bound: = bound_method %a.ref.loc13, %Op.ref.loc13 -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long_long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.762651.2] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long_long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.d2823b.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %a.ref.loc13, %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc13_5.3(%a.ref.loc13, %.loc13_8) // CHECK:STDOUT: %a.ref.loc14: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc14: %.1d3 = impl_witness_access constants.%DivAssignWith.impl_witness.0c4, element0 [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.1dcb1e.2] +// CHECK:STDOUT: %impl.elem0.loc14: %.96c = impl_witness_access constants.%DivAssignWith.impl_witness.1db, element0 [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.81a1d1.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %a.ref.loc14, %impl.elem0.loc14 -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Cpp.long_long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.20bed4.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Cpp.long_long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.3de7ae.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %a.ref.loc14, %specific_fn.loc14 // CHECK:STDOUT: %.loc14_8: %Cpp.long_long = acquire_value %b.ref.loc14 -// CHECK:STDOUT: %.loc14_5.3: %Cpp.long_long.as.DivAssignWith.impl.Op.type.90284d.1 = specific_constant imports.%Core.Op.4db, @Cpp.long_long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.1dcb1e.1] -// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long_long.as.DivAssignWith.impl.Op.type.90284d.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.1dcb1e.1] +// CHECK:STDOUT: %.loc14_5.3: %Cpp.long_long.as.DivAssignWith.impl.Op.type.f8edd0.1 = specific_constant imports.%Core.Op.4db, @Cpp.long_long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.81a1d1.1] +// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long_long.as.DivAssignWith.impl.Op.type.f8edd0.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.81a1d1.1] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.bound: = bound_method %a.ref.loc14, %Op.ref.loc14 -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long_long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.20bed4.2] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long_long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.3de7ae.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %a.ref.loc14, %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc14_5.3(%a.ref.loc14, %.loc14_8) // CHECK:STDOUT: %a.ref.loc15: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc15: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc15: %.e86 = impl_witness_access constants.%ModAssignWith.impl_witness.ed9, element0 [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.1c5c20.2] +// CHECK:STDOUT: %impl.elem0.loc15: %.c4ff = impl_witness_access constants.%ModAssignWith.impl_witness.166, element0 [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.e8b848.2] // CHECK:STDOUT: %bound_method.loc15_5.1: = bound_method %a.ref.loc15, %impl.elem0.loc15 -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Cpp.long_long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.0d98f1.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc15_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc15_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc15_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc15_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc15_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Cpp.long_long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.5504e8.1] // CHECK:STDOUT: %bound_method.loc15_5.2: = bound_method %a.ref.loc15, %specific_fn.loc15 // CHECK:STDOUT: %.loc15_8: %Cpp.long_long = acquire_value %b.ref.loc15 -// CHECK:STDOUT: %.loc15_5.3: %Cpp.long_long.as.ModAssignWith.impl.Op.type.030e50.1 = specific_constant imports.%Core.Op.978, @Cpp.long_long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.1c5c20.1] -// CHECK:STDOUT: %Op.ref.loc15: %Cpp.long_long.as.ModAssignWith.impl.Op.type.030e50.1 = name_ref Op, %.loc15_5.3 [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.1c5c20.1] +// CHECK:STDOUT: %.loc15_5.3: %Cpp.long_long.as.ModAssignWith.impl.Op.type.6001cc.1 = specific_constant imports.%Core.Op.978, @Cpp.long_long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.e8b848.1] +// CHECK:STDOUT: %Op.ref.loc15: %Cpp.long_long.as.ModAssignWith.impl.Op.type.6001cc.1 = name_ref Op, %.loc15_5.3 [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.e8b848.1] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.bound: = bound_method %a.ref.loc15, %Op.ref.loc15 -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc15, @Cpp.long_long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.0d98f1.2] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc15, @Cpp.long_long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.5504e8.2] // CHECK:STDOUT: %bound_method.loc15_5.3: = bound_method %a.ref.loc15, %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc15_5.3(%a.ref.loc15, %.loc15_8) // CHECK:STDOUT: %a.ref.loc17: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc17: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc17: %.922 = impl_witness_access constants.%BitAndAssignWith.impl_witness.8e7, element0 [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.da411d.2] +// CHECK:STDOUT: %impl.elem0.loc17: %.4d3 = impl_witness_access constants.%BitAndAssignWith.impl_witness.4ab, element0 [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.961e72.2] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %a.ref.loc17, %impl.elem0.loc17 -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.dc94b5.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.0dcb28.1] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %a.ref.loc17, %specific_fn.loc17 // CHECK:STDOUT: %.loc17_8: %Cpp.long_long = acquire_value %b.ref.loc17 -// CHECK:STDOUT: %.loc17_5.3: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.f75b5c.1 = specific_constant imports.%Core.Op.96f, @Cpp.long_long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.da411d.1] -// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.f75b5c.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.da411d.1] +// CHECK:STDOUT: %.loc17_5.3: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.517dbc.1 = specific_constant imports.%Core.Op.96f, @Cpp.long_long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.961e72.1] +// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.517dbc.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.961e72.1] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.bound: = bound_method %a.ref.loc17, %Op.ref.loc17 -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.dc94b5.2] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.0dcb28.2] // CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %a.ref.loc17, %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc17_5.3(%a.ref.loc17, %.loc17_8) // CHECK:STDOUT: %a.ref.loc18: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc18: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc18: %.cc3 = impl_witness_access constants.%BitOrAssignWith.impl_witness.d84, element0 [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1137bd.2] +// CHECK:STDOUT: %impl.elem0.loc18: %.fac = impl_witness_access constants.%BitOrAssignWith.impl_witness.928, element0 [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.e58fe4.2] // CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %a.ref.loc18, %impl.elem0.loc18 -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.9908b9.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.93d1df.1] // CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %a.ref.loc18, %specific_fn.loc18 // CHECK:STDOUT: %.loc18_8: %Cpp.long_long = acquire_value %b.ref.loc18 -// CHECK:STDOUT: %.loc18_5.3: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.503598.1 = specific_constant imports.%Core.Op.152, @Cpp.long_long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1137bd.1] -// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.503598.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1137bd.1] +// CHECK:STDOUT: %.loc18_5.3: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.8f8ead.1 = specific_constant imports.%Core.Op.152, @Cpp.long_long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.e58fe4.1] +// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.8f8ead.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.e58fe4.1] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.bound: = bound_method %a.ref.loc18, %Op.ref.loc18 -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.9908b9.2] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.93d1df.2] // CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %a.ref.loc18, %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc18_5.3(%a.ref.loc18, %.loc18_8) // CHECK:STDOUT: %a.ref.loc19: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc19: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc19: %.cae = impl_witness_access constants.%BitXorAssignWith.impl_witness.462, element0 [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.84559f.2] +// CHECK:STDOUT: %impl.elem0.loc19: %.ed3 = impl_witness_access constants.%BitXorAssignWith.impl_witness.16d, element0 [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.322da2.2] // CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %a.ref.loc19, %impl.elem0.loc19 -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.1bb816.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.707457.1] // CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %a.ref.loc19, %specific_fn.loc19 // CHECK:STDOUT: %.loc19_8: %Cpp.long_long = acquire_value %b.ref.loc19 -// CHECK:STDOUT: %.loc19_5.3: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.3d8271.1 = specific_constant imports.%Core.Op.993, @Cpp.long_long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.84559f.1] -// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.3d8271.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.84559f.1] +// CHECK:STDOUT: %.loc19_5.3: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.7cf10a.1 = specific_constant imports.%Core.Op.993, @Cpp.long_long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.322da2.1] +// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.7cf10a.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.322da2.1] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.bound: = bound_method %a.ref.loc19, %Op.ref.loc19 -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.1bb816.2] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.707457.2] // CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %a.ref.loc19, %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc19_5.3(%a.ref.loc19, %.loc19_8) // CHECK:STDOUT: %a.ref.loc20: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc20: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc20: %.c95 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.812, element0 [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e964c.2] +// CHECK:STDOUT: %impl.elem0.loc20: %.ae9 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.9be, element0 [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c9d902.2] // CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %a.ref.loc20, %impl.elem0.loc20 -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.ebef73.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.795f62.1] // CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %a.ref.loc20, %specific_fn.loc20 // CHECK:STDOUT: %.loc20_9: %Cpp.long_long = acquire_value %b.ref.loc20 -// CHECK:STDOUT: %.loc20_5.3: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.25e1dd.1 = specific_constant imports.%Core.Op.3c4, @Cpp.long_long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e964c.1] -// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.25e1dd.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e964c.1] +// CHECK:STDOUT: %.loc20_5.3: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.90e5a3.1 = specific_constant imports.%Core.Op.3c4, @Cpp.long_long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c9d902.1] +// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.90e5a3.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c9d902.1] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc20, %Op.ref.loc20 -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.ebef73.2] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.795f62.2] // CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %a.ref.loc20, %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc20_5.3(%a.ref.loc20, %.loc20_9) // CHECK:STDOUT: %a.ref.loc21: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc21: ref %Cpp.long_long = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc21: %.888 = impl_witness_access constants.%RightShiftAssignWith.impl_witness.dab, element0 [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.02ad61.2] +// CHECK:STDOUT: %impl.elem0.loc21: %.b01 = impl_witness_access constants.%RightShiftAssignWith.impl_witness.2a5, element0 [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.5eb4a1.2] // CHECK:STDOUT: %bound_method.loc21_5.1: = bound_method %a.ref.loc21, %impl.elem0.loc21 -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.3f3) [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.7bc] -// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.fa67f5.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.1: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc21_5.1: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc21_5.1 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %ImplicitAs.facet.loc21_5.2: %ImplicitAs.type.0ec = facet_value constants.%Cpp.long_long, (constants.%ImplicitAs.impl_witness.9c2) [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %.loc21_5.2: %ImplicitAs.type.0ec = converted constants.%Cpp.long_long, %ImplicitAs.facet.loc21_5.2 [concrete = constants.%ImplicitAs.facet.bc8] +// CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.ddd122.1] // CHECK:STDOUT: %bound_method.loc21_5.2: = bound_method %a.ref.loc21, %specific_fn.loc21 // CHECK:STDOUT: %.loc21_9: %Cpp.long_long = acquire_value %b.ref.loc21 -// CHECK:STDOUT: %.loc21_5.3: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5579b8.1 = specific_constant imports.%Core.Op.77b, @Cpp.long_long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.02ad61.1] -// CHECK:STDOUT: %Op.ref.loc21: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.5579b8.1 = name_ref Op, %.loc21_5.3 [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.02ad61.1] +// CHECK:STDOUT: %.loc21_5.3: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.bd24cc.1 = specific_constant imports.%Core.Op.77b, @Cpp.long_long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.5eb4a1.1] +// CHECK:STDOUT: %Op.ref.loc21: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.bd24cc.1 = name_ref Op, %.loc21_5.3 [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.5eb4a1.1] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc21, %Op.ref.loc21 -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc21, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7bc) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.fa67f5.2] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc21, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.bc8) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.ddd122.2] // CHECK:STDOUT: %bound_method.loc21_5.3: = bound_method %a.ref.loc21, %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc21_5.3(%a.ref.loc21, %.loc21_9) // CHECK:STDOUT: %Destroy.Op.bound.loc9: = bound_method %b.var, constants.%Destroy.Op.1a2547.3 @@ -2909,10 +2909,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.patt: %pattern_type.d58 = ref_binding_pattern a [concrete] // CHECK:STDOUT: %a.var_patt: %pattern_type.d58 = var_pattern %a.patt [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ec: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long_long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.2ed: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet.2ed [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.82d: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet.82d [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -2923,20 +2923,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.305: = impl_witness imports.%ImplicitAs.impl_witness_table.a87 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.7a4: %ImplicitAs.type.0ec = facet_value %i64, (%ImplicitAs.impl_witness.305) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.610: = impl_witness imports.%AddAssignWith.impl_witness_table.442, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.3d0: %AddAssignWith.type.d51 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.610) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.55a: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i64, %AddAssignWith.facet.3d0) [concrete] -// CHECK:STDOUT: %.4c9: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.55a, %AddAssignWith.facet.3d0 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.57a765.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.57a765.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.3ae: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.25e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.3ae, %ImplicitAs.facet.7a4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.b39: = impl_witness imports.%ImplicitAs.impl_witness_table.527 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.2d9: %ImplicitAs.type.0ec = facet_value %i64, (%ImplicitAs.impl_witness.b39) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.057: = impl_witness imports.%AddAssignWith.impl_witness_table.24b, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.a5f: %AddAssignWith.type.d51 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.057) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.a94: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i64, %AddAssignWith.facet.a5f) [concrete] +// CHECK:STDOUT: %.0aa: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.a94, %AddAssignWith.facet.a5f [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.116bb8.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.116bb8.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.561: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.c2b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.561, %ImplicitAs.facet.2d9 [concrete] // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.type: type = fn_type @i64.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert: %i64.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %SubAssignWith.type.01e: type = facet_type <@SubAssignWith, @SubAssignWith(%i64)> [concrete] @@ -2944,136 +2944,136 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.67476b.1: %Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.67476b.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.2 = struct_value () [symbolic] -// CHECK:STDOUT: %SubAssignWith.impl_witness.2a8: = impl_witness imports.%SubAssignWith.impl_witness_table.425, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.798be9.1: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.1509c5.1: %Cpp.long_long.as.SubAssignWith.impl.Op.type.798be9.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.798be9.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.1, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.1509c5.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.798be9.2 = struct_value () [concrete] -// CHECK:STDOUT: %SubAssignWith.facet.b78: %SubAssignWith.type.01e = facet_value %Cpp.long_long, (%SubAssignWith.impl_witness.2a8) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.926: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%i64, %SubAssignWith.facet.b78) [concrete] -// CHECK:STDOUT: %.aed: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.926, %SubAssignWith.facet.b78 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.7824e6.1: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.1509c5.2, @Cpp.long_long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.7824e6.2: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.1509c5.1, @Cpp.long_long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness.b1b: = impl_witness imports.%SubAssignWith.impl_witness_table.be9, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.71efff.1: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.2, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.a86429.1: %Cpp.long_long.as.SubAssignWith.impl.Op.type.71efff.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.type.71efff.2: type = fn_type @Cpp.long_long.as.SubAssignWith.impl.Op.1, @Cpp.long_long.as.SubAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.a86429.2: %Cpp.long_long.as.SubAssignWith.impl.Op.type.71efff.2 = struct_value () [concrete] +// CHECK:STDOUT: %SubAssignWith.facet.5cd: %SubAssignWith.type.01e = facet_value %Cpp.long_long, (%SubAssignWith.impl_witness.b1b) [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.495: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%i64, %SubAssignWith.facet.5cd) [concrete] +// CHECK:STDOUT: %.21c0: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.495, %SubAssignWith.facet.5cd [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.2e266b.1: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.a86429.2, @Cpp.long_long.as.SubAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.2e266b.2: = specific_function %Cpp.long_long.as.SubAssignWith.impl.Op.a86429.1, @Cpp.long_long.as.SubAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %MulAssignWith.type.813: type = facet_type <@MulAssignWith, @MulAssignWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.1: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.1, @Cpp.long_long.as.MulAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.59c70e.1: %Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.59c70e.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.2 = struct_value () [symbolic] -// CHECK:STDOUT: %MulAssignWith.impl_witness.3bc: = impl_witness imports.%MulAssignWith.impl_witness_table.769, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.26ce70.1: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.5d705c.1: %Cpp.long_long.as.MulAssignWith.impl.Op.type.26ce70.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.26ce70.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.1, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.5d705c.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.26ce70.2 = struct_value () [concrete] -// CHECK:STDOUT: %MulAssignWith.facet.f52: %MulAssignWith.type.813 = facet_value %Cpp.long_long, (%MulAssignWith.impl_witness.3bc) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.221: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%i64, %MulAssignWith.facet.f52) [concrete] -// CHECK:STDOUT: %.9c3: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.221, %MulAssignWith.facet.f52 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.89951d.1: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.5d705c.2, @Cpp.long_long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.89951d.2: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.5d705c.1, @Cpp.long_long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness.b10: = impl_witness imports.%MulAssignWith.impl_witness_table.fb7, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6aa783.1: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.2, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.7f1754.1: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6aa783.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6aa783.2: type = fn_type @Cpp.long_long.as.MulAssignWith.impl.Op.1, @Cpp.long_long.as.MulAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.7f1754.2: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6aa783.2 = struct_value () [concrete] +// CHECK:STDOUT: %MulAssignWith.facet.26a: %MulAssignWith.type.813 = facet_value %Cpp.long_long, (%MulAssignWith.impl_witness.b10) [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.3e6: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%i64, %MulAssignWith.facet.26a) [concrete] +// CHECK:STDOUT: %.d86: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.3e6, %MulAssignWith.facet.26a [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.aeb140.1: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.7f1754.2, @Cpp.long_long.as.MulAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.aeb140.2: = specific_function %Cpp.long_long.as.MulAssignWith.impl.Op.7f1754.1, @Cpp.long_long.as.MulAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %DivAssignWith.type.4ac: type = facet_type <@DivAssignWith, @DivAssignWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.1: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.1, @Cpp.long_long.as.DivAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.053c65.1: %Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.053c65.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.2 = struct_value () [symbolic] -// CHECK:STDOUT: %DivAssignWith.impl_witness.f1b: = impl_witness imports.%DivAssignWith.impl_witness_table.538, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.5f499c.1: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.98d348.1: %Cpp.long_long.as.DivAssignWith.impl.Op.type.5f499c.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.5f499c.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.1, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.98d348.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.5f499c.2 = struct_value () [concrete] -// CHECK:STDOUT: %DivAssignWith.facet.5d0: %DivAssignWith.type.4ac = facet_value %Cpp.long_long, (%DivAssignWith.impl_witness.f1b) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.ec0: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%i64, %DivAssignWith.facet.5d0) [concrete] -// CHECK:STDOUT: %.2a8: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.ec0, %DivAssignWith.facet.5d0 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.2d709b.1: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.98d348.2, @Cpp.long_long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.2d709b.2: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.98d348.1, @Cpp.long_long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness.ec5: = impl_witness imports.%DivAssignWith.impl_witness_table.228, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.31fea9.1: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.2, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.acd96d.1: %Cpp.long_long.as.DivAssignWith.impl.Op.type.31fea9.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.type.31fea9.2: type = fn_type @Cpp.long_long.as.DivAssignWith.impl.Op.1, @Cpp.long_long.as.DivAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.acd96d.2: %Cpp.long_long.as.DivAssignWith.impl.Op.type.31fea9.2 = struct_value () [concrete] +// CHECK:STDOUT: %DivAssignWith.facet.bdb: %DivAssignWith.type.4ac = facet_value %Cpp.long_long, (%DivAssignWith.impl_witness.ec5) [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.290: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%i64, %DivAssignWith.facet.bdb) [concrete] +// CHECK:STDOUT: %.e98: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.290, %DivAssignWith.facet.bdb [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.24aa96.1: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.acd96d.2, @Cpp.long_long.as.DivAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.24aa96.2: = specific_function %Cpp.long_long.as.DivAssignWith.impl.Op.acd96d.1, @Cpp.long_long.as.DivAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %ModAssignWith.type.6a8: type = facet_type <@ModAssignWith, @ModAssignWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.1: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.1, @Cpp.long_long.as.ModAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.0a710f.1: %Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.0a710f.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ModAssignWith.impl_witness.563: = impl_witness imports.%ModAssignWith.impl_witness_table.cdc, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.89fbed.1: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.6bf2ce.1: %Cpp.long_long.as.ModAssignWith.impl.Op.type.89fbed.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.89fbed.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.1, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.6bf2ce.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.89fbed.2 = struct_value () [concrete] -// CHECK:STDOUT: %ModAssignWith.facet.0e4: %ModAssignWith.type.6a8 = facet_value %Cpp.long_long, (%ModAssignWith.impl_witness.563) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.a6d: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%i64, %ModAssignWith.facet.0e4) [concrete] -// CHECK:STDOUT: %.7bd: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.a6d, %ModAssignWith.facet.0e4 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.b20423.1: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.6bf2ce.2, @Cpp.long_long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.b20423.2: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.6bf2ce.1, @Cpp.long_long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness.d17: = impl_witness imports.%ModAssignWith.impl_witness_table.f30, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.76306f.1: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.2, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.33527b.1: %Cpp.long_long.as.ModAssignWith.impl.Op.type.76306f.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.type.76306f.2: type = fn_type @Cpp.long_long.as.ModAssignWith.impl.Op.1, @Cpp.long_long.as.ModAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.33527b.2: %Cpp.long_long.as.ModAssignWith.impl.Op.type.76306f.2 = struct_value () [concrete] +// CHECK:STDOUT: %ModAssignWith.facet.5b1: %ModAssignWith.type.6a8 = facet_value %Cpp.long_long, (%ModAssignWith.impl_witness.d17) [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.f67: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%i64, %ModAssignWith.facet.5b1) [concrete] +// CHECK:STDOUT: %.e07: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.f67, %ModAssignWith.facet.5b1 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.698e15.1: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.33527b.2, @Cpp.long_long.as.ModAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.698e15.2: = specific_function %Cpp.long_long.as.ModAssignWith.impl.Op.33527b.1, @Cpp.long_long.as.ModAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.817: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.1: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.1, @Cpp.long_long.as.BitAndAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.3a2cbb.1: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.3a2cbb.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness.7e3: = impl_witness imports.%BitAndAssignWith.impl_witness_table.d41, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.212afa.1: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.678907.1: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.212afa.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.212afa.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.1, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.678907.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.212afa.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitAndAssignWith.facet.8ef: %BitAndAssignWith.type.817 = facet_value %Cpp.long_long, (%BitAndAssignWith.impl_witness.7e3) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.89a: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%i64, %BitAndAssignWith.facet.8ef) [concrete] -// CHECK:STDOUT: %.920: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.89a, %BitAndAssignWith.facet.8ef [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.4fc9be.1: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.678907.2, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.4fc9be.2: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.678907.1, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness.367: = impl_witness imports.%BitAndAssignWith.impl_witness_table.390, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1531ae.1: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.2, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.c2e480.1: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1531ae.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1531ae.2: type = fn_type @Cpp.long_long.as.BitAndAssignWith.impl.Op.1, @Cpp.long_long.as.BitAndAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.c2e480.2: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1531ae.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitAndAssignWith.facet.b19: %BitAndAssignWith.type.817 = facet_value %Cpp.long_long, (%BitAndAssignWith.impl_witness.367) [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.cb7: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%i64, %BitAndAssignWith.facet.b19) [concrete] +// CHECK:STDOUT: %.f3d: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.cb7, %BitAndAssignWith.facet.b19 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.3c68e0.1: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.c2e480.2, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.3c68e0.2: = specific_function %Cpp.long_long.as.BitAndAssignWith.impl.Op.c2e480.1, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.9cc: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.1: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.1, @Cpp.long_long.as.BitOrAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.65c84e.1: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.65c84e.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness.0f6: = impl_witness imports.%BitOrAssignWith.impl_witness_table.446, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2aebbe.1: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.bbf3fb.1: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2aebbe.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2aebbe.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.1, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.bbf3fb.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2aebbe.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitOrAssignWith.facet.b74: %BitOrAssignWith.type.9cc = facet_value %Cpp.long_long, (%BitOrAssignWith.impl_witness.0f6) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.db9: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%i64, %BitOrAssignWith.facet.b74) [concrete] -// CHECK:STDOUT: %.ab1: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.db9, %BitOrAssignWith.facet.b74 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.80ce92.1: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.bbf3fb.2, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.80ce92.2: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.bbf3fb.1, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness.573: = impl_witness imports.%BitOrAssignWith.impl_witness_table.30d, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.7ba83d.1: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.2, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.b8a20c.1: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.7ba83d.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.7ba83d.2: type = fn_type @Cpp.long_long.as.BitOrAssignWith.impl.Op.1, @Cpp.long_long.as.BitOrAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.b8a20c.2: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.7ba83d.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitOrAssignWith.facet.acc: %BitOrAssignWith.type.9cc = facet_value %Cpp.long_long, (%BitOrAssignWith.impl_witness.573) [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.dfe: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%i64, %BitOrAssignWith.facet.acc) [concrete] +// CHECK:STDOUT: %.60b: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.dfe, %BitOrAssignWith.facet.acc [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.542169.1: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.b8a20c.2, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.542169.2: = specific_function %Cpp.long_long.as.BitOrAssignWith.impl.Op.b8a20c.1, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.801: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.1: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.1, @Cpp.long_long.as.BitXorAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.3b70cd.1: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.3b70cd.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.2 = struct_value () [symbolic] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness.400: = impl_witness imports.%BitXorAssignWith.impl_witness_table.8e4, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c459c7.1: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.9c6ff1.1: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c459c7.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c459c7.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.1, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.9c6ff1.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c459c7.2 = struct_value () [concrete] -// CHECK:STDOUT: %BitXorAssignWith.facet.f31: %BitXorAssignWith.type.801 = facet_value %Cpp.long_long, (%BitXorAssignWith.impl_witness.400) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.559: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%i64, %BitXorAssignWith.facet.f31) [concrete] -// CHECK:STDOUT: %.931: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.559, %BitXorAssignWith.facet.f31 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.c20ea8.1: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.9c6ff1.2, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.c20ea8.2: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.9c6ff1.1, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness.2eb: = impl_witness imports.%BitXorAssignWith.impl_witness_table.414, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.1cb851.1: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.2, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.d5755c.1: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.1cb851.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.1cb851.2: type = fn_type @Cpp.long_long.as.BitXorAssignWith.impl.Op.1, @Cpp.long_long.as.BitXorAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.d5755c.2: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.1cb851.2 = struct_value () [concrete] +// CHECK:STDOUT: %BitXorAssignWith.facet.0e7: %BitXorAssignWith.type.801 = facet_value %Cpp.long_long, (%BitXorAssignWith.impl_witness.2eb) [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.95e: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%i64, %BitXorAssignWith.facet.0e7) [concrete] +// CHECK:STDOUT: %.3ea: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.95e, %BitXorAssignWith.facet.0e7 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.602c79.1: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.d5755c.2, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.602c79.2: = specific_function %Cpp.long_long.as.BitXorAssignWith.impl.Op.d5755c.1, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.d52: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.1: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long_long.as.LeftShiftAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.688a59.1: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.688a59.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.2 = struct_value () [symbolic] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.afc: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.dd0, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.8c1aba.1: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e7679.1: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.8c1aba.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.8c1aba.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e7679.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.8c1aba.2 = struct_value () [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.facet.41f: %LeftShiftAssignWith.type.d52 = facet_value %Cpp.long_long, (%LeftShiftAssignWith.impl_witness.afc) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.8f0: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%i64, %LeftShiftAssignWith.facet.41f) [concrete] -// CHECK:STDOUT: %.7e2: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.8f0, %LeftShiftAssignWith.facet.41f [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.b21942.1: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e7679.2, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.b21942.2: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e7679.1, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness.63f: = impl_witness imports.%LeftShiftAssignWith.impl_witness_table.080, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.f6ff82.1: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c56168.1: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.f6ff82.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.f6ff82.2: type = fn_type @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1, @Cpp.long_long.as.LeftShiftAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c56168.2: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.f6ff82.2 = struct_value () [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.facet.69f: %LeftShiftAssignWith.type.d52 = facet_value %Cpp.long_long, (%LeftShiftAssignWith.impl_witness.63f) [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.6fd: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%i64, %LeftShiftAssignWith.facet.69f) [concrete] +// CHECK:STDOUT: %.915: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.6fd, %LeftShiftAssignWith.facet.69f [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.108543.1: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c56168.2, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.108543.2: = specific_function %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c56168.1, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.7d8: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%i64)> [concrete] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.1: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long_long.as.RightShiftAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.1: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.2 = struct_value () [symbolic] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.68a: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.00b, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.959149.1: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.f75d42.1: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.959149.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.959149.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.f75d42.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.959149.2 = struct_value () [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.facet.e02: %RightShiftAssignWith.type.7d8 = facet_value %Cpp.long_long, (%RightShiftAssignWith.impl_witness.68a) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.263: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%i64, %RightShiftAssignWith.facet.e02) [concrete] -// CHECK:STDOUT: %.128: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.263, %RightShiftAssignWith.facet.e02 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.eff961.1: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.f75d42.2, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.eff961.2: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.f75d42.1, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness.47c: = impl_witness imports.%RightShiftAssignWith.impl_witness_table.af8, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.175017.1: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.110511.1: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.175017.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.175017.2: type = fn_type @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1, @Cpp.long_long.as.RightShiftAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.110511.2: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.175017.2 = struct_value () [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.facet.004: %RightShiftAssignWith.type.7d8 = facet_value %Cpp.long_long, (%RightShiftAssignWith.impl_witness.47c) [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.6c4: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%i64, %RightShiftAssignWith.facet.004) [concrete] +// CHECK:STDOUT: %.b40: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.6c4, %RightShiftAssignWith.facet.004 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.9385c3.1: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.110511.2, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.9385c3.2: = specific_function %Cpp.long_long.as.RightShiftAssignWith.impl.Op.110511.1, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] // CHECK:STDOUT: } @@ -3084,38 +3084,38 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %Core.import_ref.634: @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.442 = impl_witness_table (%Core.import_ref.634), @Cpp.long_long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.24b = impl_witness_table (%Core.import_ref.634), @Cpp.long_long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.c11: @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %i64.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i64.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a87 = impl_witness_table (%Core.import_ref.06c923.2), @i64.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.527 = impl_witness_table (%Core.import_ref.06c923.2), @i64.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.14b: @Cpp.long_long.as.SubAssignWith.impl.%Cpp.long_long.as.SubAssignWith.impl.Op.type.2 (%Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.SubAssignWith.impl.%Cpp.long_long.as.SubAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.SubAssignWith.impl.Op.67476b.1)] -// CHECK:STDOUT: %SubAssignWith.impl_witness_table.425 = impl_witness_table (%Core.import_ref.14b), @Cpp.long_long.as.SubAssignWith.impl [concrete] +// CHECK:STDOUT: %SubAssignWith.impl_witness_table.be9 = impl_witness_table (%Core.import_ref.14b), @Cpp.long_long.as.SubAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.3dd: @Cpp.long_long.as.SubAssignWith.impl.%Cpp.long_long.as.SubAssignWith.impl.Op.type.1 (%Cpp.long_long.as.SubAssignWith.impl.Op.type.aafcc5.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.SubAssignWith.impl.%Cpp.long_long.as.SubAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.SubAssignWith.impl.Op.67476b.2)] // CHECK:STDOUT: %Core.import_ref.1e7: @Cpp.long_long.as.MulAssignWith.impl.%Cpp.long_long.as.MulAssignWith.impl.Op.type.2 (%Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.MulAssignWith.impl.%Cpp.long_long.as.MulAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.MulAssignWith.impl.Op.59c70e.1)] -// CHECK:STDOUT: %MulAssignWith.impl_witness_table.769 = impl_witness_table (%Core.import_ref.1e7), @Cpp.long_long.as.MulAssignWith.impl [concrete] +// CHECK:STDOUT: %MulAssignWith.impl_witness_table.fb7 = impl_witness_table (%Core.import_ref.1e7), @Cpp.long_long.as.MulAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.1a0: @Cpp.long_long.as.MulAssignWith.impl.%Cpp.long_long.as.MulAssignWith.impl.Op.type.1 (%Cpp.long_long.as.MulAssignWith.impl.Op.type.987caa.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.MulAssignWith.impl.%Cpp.long_long.as.MulAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.MulAssignWith.impl.Op.59c70e.2)] // CHECK:STDOUT: %Core.import_ref.90c: @Cpp.long_long.as.DivAssignWith.impl.%Cpp.long_long.as.DivAssignWith.impl.Op.type.2 (%Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.DivAssignWith.impl.%Cpp.long_long.as.DivAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.DivAssignWith.impl.Op.053c65.1)] -// CHECK:STDOUT: %DivAssignWith.impl_witness_table.538 = impl_witness_table (%Core.import_ref.90c), @Cpp.long_long.as.DivAssignWith.impl [concrete] +// CHECK:STDOUT: %DivAssignWith.impl_witness_table.228 = impl_witness_table (%Core.import_ref.90c), @Cpp.long_long.as.DivAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.4db: @Cpp.long_long.as.DivAssignWith.impl.%Cpp.long_long.as.DivAssignWith.impl.Op.type.1 (%Cpp.long_long.as.DivAssignWith.impl.Op.type.7d9a4f.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.DivAssignWith.impl.%Cpp.long_long.as.DivAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.DivAssignWith.impl.Op.053c65.2)] // CHECK:STDOUT: %Core.import_ref.620: @Cpp.long_long.as.ModAssignWith.impl.%Cpp.long_long.as.ModAssignWith.impl.Op.type.2 (%Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.ModAssignWith.impl.%Cpp.long_long.as.ModAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.ModAssignWith.impl.Op.0a710f.1)] -// CHECK:STDOUT: %ModAssignWith.impl_witness_table.cdc = impl_witness_table (%Core.import_ref.620), @Cpp.long_long.as.ModAssignWith.impl [concrete] +// CHECK:STDOUT: %ModAssignWith.impl_witness_table.f30 = impl_witness_table (%Core.import_ref.620), @Cpp.long_long.as.ModAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.978: @Cpp.long_long.as.ModAssignWith.impl.%Cpp.long_long.as.ModAssignWith.impl.Op.type.1 (%Cpp.long_long.as.ModAssignWith.impl.Op.type.aee511.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.ModAssignWith.impl.%Cpp.long_long.as.ModAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.ModAssignWith.impl.Op.0a710f.2)] // CHECK:STDOUT: %Core.import_ref.f6c: @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.3a2cbb.1)] -// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.d41 = impl_witness_table (%Core.import_ref.f6c), @Cpp.long_long.as.BitAndAssignWith.impl [concrete] +// CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.390 = impl_witness_table (%Core.import_ref.f6c), @Cpp.long_long.as.BitAndAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.96f: @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.cd65f6.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.3a2cbb.2)] // CHECK:STDOUT: %Core.import_ref.4fa: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.65c84e.1)] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.446 = impl_witness_table (%Core.import_ref.4fa), @Cpp.long_long.as.BitOrAssignWith.impl [concrete] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.30d = impl_witness_table (%Core.import_ref.4fa), @Cpp.long_long.as.BitOrAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.152: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.a360c5.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.65c84e.2)] // CHECK:STDOUT: %Core.import_ref.0a0: @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.3b70cd.1)] -// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.8e4 = impl_witness_table (%Core.import_ref.0a0), @Cpp.long_long.as.BitXorAssignWith.impl [concrete] +// CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.414 = impl_witness_table (%Core.import_ref.0a0), @Cpp.long_long.as.BitXorAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.993: @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c7963a.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.3b70cd.2)] // CHECK:STDOUT: %Core.import_ref.463: @Cpp.long_long.as.LeftShiftAssignWith.impl.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.2 (%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.LeftShiftAssignWith.impl.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.688a59.1)] -// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.dd0 = impl_witness_table (%Core.import_ref.463), @Cpp.long_long.as.LeftShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.impl_witness_table.080 = impl_witness_table (%Core.import_ref.463), @Cpp.long_long.as.LeftShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.3c4: @Cpp.long_long.as.LeftShiftAssignWith.impl.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.1 (%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.d78f49.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.LeftShiftAssignWith.impl.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.688a59.2)] -// CHECK:STDOUT: %Core.import_ref.6d5a: @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2 (%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.1)] -// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.00b = impl_witness_table (%Core.import_ref.6d5a), @Cpp.long_long.as.RightShiftAssignWith.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.6d5: @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2 (%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.1)] +// CHECK:STDOUT: %RightShiftAssignWith.impl_witness_table.af8 = impl_witness_table (%Core.import_ref.6d5), @Cpp.long_long.as.RightShiftAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.77b: @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.1 (%Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.2a7c37.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.RightShiftAssignWith.impl.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.9744e0.2)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -3124,7 +3124,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: // CHECK:STDOUT: %a.var: ref %Cpp.long_long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc9: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc9: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long_long = call %bound_method.loc9(%int_1.loc9) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc9_3: init %Cpp.long_long = converted %int_1.loc9, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.b19] @@ -3140,20 +3140,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc10: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc10: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10_5: %.4c9 = impl_witness_access constants.%AddAssignWith.impl_witness.610, element0 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.0aa = impl_witness_access constants.%AddAssignWith.impl_witness.057, element0 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %a.ref.loc10, %impl.elem0.loc10_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long_long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.57a765.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long_long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.116bb8.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %a.ref.loc10, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5.3: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.1 = specific_constant imports.%Core.Op.c11, @Cpp.long_long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.1] -// CHECK:STDOUT: %Op.ref.loc10: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.1 = name_ref Op, %.loc10_5.3 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.1] +// CHECK:STDOUT: %.loc10_5.3: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.1 = specific_constant imports.%Core.Op.c11, @Cpp.long_long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.1] +// CHECK:STDOUT: %Op.ref.loc10: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.1 = name_ref Op, %.loc10_5.3 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.1] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref.loc10, %Op.ref.loc10 -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc10, @Cpp.long_long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.57a765.2] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc10, @Cpp.long_long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.116bb8.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %a.ref.loc10, %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc10_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_8: = bound_method %b.ref.loc10, %impl.elem0.loc10_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc10: init %Cpp.long_long = call %bound_method.loc10_8(%b.ref.loc10) // CHECK:STDOUT: %.loc10_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc10 @@ -3161,20 +3161,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc10_5.3(%a.ref.loc10, %.loc10_8.2) // CHECK:STDOUT: %a.ref.loc11: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc11: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc11_5: %.aed = impl_witness_access constants.%SubAssignWith.impl_witness.2a8, element0 [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.1509c5.2] +// CHECK:STDOUT: %impl.elem0.loc11_5: %.21c0 = impl_witness_access constants.%SubAssignWith.impl_witness.b1b, element0 [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.a86429.2] // CHECK:STDOUT: %bound_method.loc11_5.1: = bound_method %a.ref.loc11, %impl.elem0.loc11_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11_5, @Cpp.long_long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.7824e6.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc11_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc11_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc11_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc11_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11_5, @Cpp.long_long.as.SubAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.2e266b.1] // CHECK:STDOUT: %bound_method.loc11_5.2: = bound_method %a.ref.loc11, %specific_fn.loc11 -// CHECK:STDOUT: %.loc11_5.3: %Cpp.long_long.as.SubAssignWith.impl.Op.type.798be9.1 = specific_constant imports.%Core.Op.3dd, @Cpp.long_long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.1509c5.1] -// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long_long.as.SubAssignWith.impl.Op.type.798be9.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.1509c5.1] +// CHECK:STDOUT: %.loc11_5.3: %Cpp.long_long.as.SubAssignWith.impl.Op.type.71efff.1 = specific_constant imports.%Core.Op.3dd, @Cpp.long_long.as.SubAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.a86429.1] +// CHECK:STDOUT: %Op.ref.loc11: %Cpp.long_long.as.SubAssignWith.impl.Op.type.71efff.1 = name_ref Op, %.loc11_5.3 [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.a86429.1] // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.bound: = bound_method %a.ref.loc11, %Op.ref.loc11 -// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long_long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.7824e6.2] +// CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc11, @Cpp.long_long.as.SubAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn.2e266b.2] // CHECK:STDOUT: %bound_method.loc11_5.3: = bound_method %a.ref.loc11, %Cpp.long_long.as.SubAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc11_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc11_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc11_8: = bound_method %b.ref.loc11, %impl.elem0.loc11_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc11: init %Cpp.long_long = call %bound_method.loc11_8(%b.ref.loc11) // CHECK:STDOUT: %.loc11_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc11 @@ -3182,20 +3182,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.SubAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc11_5.3(%a.ref.loc11, %.loc11_8.2) // CHECK:STDOUT: %a.ref.loc12: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc12: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc12_5: %.9c3 = impl_witness_access constants.%MulAssignWith.impl_witness.3bc, element0 [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.5d705c.2] +// CHECK:STDOUT: %impl.elem0.loc12_5: %.d86 = impl_witness_access constants.%MulAssignWith.impl_witness.b10, element0 [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.7f1754.2] // CHECK:STDOUT: %bound_method.loc12_5.1: = bound_method %a.ref.loc12, %impl.elem0.loc12_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12_5, @Cpp.long_long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.89951d.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc12_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc12_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc12_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc12_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12_5, @Cpp.long_long.as.MulAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.aeb140.1] // CHECK:STDOUT: %bound_method.loc12_5.2: = bound_method %a.ref.loc12, %specific_fn.loc12 -// CHECK:STDOUT: %.loc12_5.3: %Cpp.long_long.as.MulAssignWith.impl.Op.type.26ce70.1 = specific_constant imports.%Core.Op.1a0, @Cpp.long_long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.5d705c.1] -// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long_long.as.MulAssignWith.impl.Op.type.26ce70.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.5d705c.1] +// CHECK:STDOUT: %.loc12_5.3: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6aa783.1 = specific_constant imports.%Core.Op.1a0, @Cpp.long_long.as.MulAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.7f1754.1] +// CHECK:STDOUT: %Op.ref.loc12: %Cpp.long_long.as.MulAssignWith.impl.Op.type.6aa783.1 = name_ref Op, %.loc12_5.3 [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.7f1754.1] // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.bound: = bound_method %a.ref.loc12, %Op.ref.loc12 -// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long_long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.89951d.2] +// CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc12, @Cpp.long_long.as.MulAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn.aeb140.2] // CHECK:STDOUT: %bound_method.loc12_5.3: = bound_method %a.ref.loc12, %Cpp.long_long.as.MulAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc12_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc12_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc12_8: = bound_method %b.ref.loc12, %impl.elem0.loc12_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc12: init %Cpp.long_long = call %bound_method.loc12_8(%b.ref.loc12) // CHECK:STDOUT: %.loc12_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc12 @@ -3203,20 +3203,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.MulAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc12_5.3(%a.ref.loc12, %.loc12_8.2) // CHECK:STDOUT: %a.ref.loc13: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc13: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc13_5: %.2a8 = impl_witness_access constants.%DivAssignWith.impl_witness.f1b, element0 [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.98d348.2] +// CHECK:STDOUT: %impl.elem0.loc13_5: %.e98 = impl_witness_access constants.%DivAssignWith.impl_witness.ec5, element0 [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.acd96d.2] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %a.ref.loc13, %impl.elem0.loc13_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Cpp.long_long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.2d709b.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc13_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc13_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc13_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc13_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_5, @Cpp.long_long.as.DivAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.24aa96.1] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %a.ref.loc13, %specific_fn.loc13 -// CHECK:STDOUT: %.loc13_5.3: %Cpp.long_long.as.DivAssignWith.impl.Op.type.5f499c.1 = specific_constant imports.%Core.Op.4db, @Cpp.long_long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.98d348.1] -// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long_long.as.DivAssignWith.impl.Op.type.5f499c.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.98d348.1] +// CHECK:STDOUT: %.loc13_5.3: %Cpp.long_long.as.DivAssignWith.impl.Op.type.31fea9.1 = specific_constant imports.%Core.Op.4db, @Cpp.long_long.as.DivAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.acd96d.1] +// CHECK:STDOUT: %Op.ref.loc13: %Cpp.long_long.as.DivAssignWith.impl.Op.type.31fea9.1 = name_ref Op, %.loc13_5.3 [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.acd96d.1] // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.bound: = bound_method %a.ref.loc13, %Op.ref.loc13 -// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long_long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.2d709b.2] +// CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc13, @Cpp.long_long.as.DivAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn.24aa96.2] // CHECK:STDOUT: %bound_method.loc13_5.3: = bound_method %a.ref.loc13, %Cpp.long_long.as.DivAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc13_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc13_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc13_8: = bound_method %b.ref.loc13, %impl.elem0.loc13_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc13: init %Cpp.long_long = call %bound_method.loc13_8(%b.ref.loc13) // CHECK:STDOUT: %.loc13_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc13 @@ -3224,20 +3224,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.DivAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc13_5.3(%a.ref.loc13, %.loc13_8.2) // CHECK:STDOUT: %a.ref.loc14: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc14: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc14_5: %.7bd = impl_witness_access constants.%ModAssignWith.impl_witness.563, element0 [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.6bf2ce.2] +// CHECK:STDOUT: %impl.elem0.loc14_5: %.e07 = impl_witness_access constants.%ModAssignWith.impl_witness.d17, element0 [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.33527b.2] // CHECK:STDOUT: %bound_method.loc14_5.1: = bound_method %a.ref.loc14, %impl.elem0.loc14_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14_5, @Cpp.long_long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.b20423.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc14_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc14_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc14_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc14_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14_5, @Cpp.long_long.as.ModAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.698e15.1] // CHECK:STDOUT: %bound_method.loc14_5.2: = bound_method %a.ref.loc14, %specific_fn.loc14 -// CHECK:STDOUT: %.loc14_5.3: %Cpp.long_long.as.ModAssignWith.impl.Op.type.89fbed.1 = specific_constant imports.%Core.Op.978, @Cpp.long_long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.6bf2ce.1] -// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long_long.as.ModAssignWith.impl.Op.type.89fbed.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.6bf2ce.1] +// CHECK:STDOUT: %.loc14_5.3: %Cpp.long_long.as.ModAssignWith.impl.Op.type.76306f.1 = specific_constant imports.%Core.Op.978, @Cpp.long_long.as.ModAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.33527b.1] +// CHECK:STDOUT: %Op.ref.loc14: %Cpp.long_long.as.ModAssignWith.impl.Op.type.76306f.1 = name_ref Op, %.loc14_5.3 [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.33527b.1] // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.bound: = bound_method %a.ref.loc14, %Op.ref.loc14 -// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long_long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.b20423.2] +// CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc14, @Cpp.long_long.as.ModAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn.698e15.2] // CHECK:STDOUT: %bound_method.loc14_5.3: = bound_method %a.ref.loc14, %Cpp.long_long.as.ModAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc14_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc14_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc14_8: = bound_method %b.ref.loc14, %impl.elem0.loc14_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc14: init %Cpp.long_long = call %bound_method.loc14_8(%b.ref.loc14) // CHECK:STDOUT: %.loc14_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc14 @@ -3245,20 +3245,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.ModAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc14_5.3(%a.ref.loc14, %.loc14_8.2) // CHECK:STDOUT: %a.ref.loc16: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc16: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc16_5: %.920 = impl_witness_access constants.%BitAndAssignWith.impl_witness.7e3, element0 [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.678907.2] +// CHECK:STDOUT: %impl.elem0.loc16_5: %.f3d = impl_witness_access constants.%BitAndAssignWith.impl_witness.367, element0 [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.c2e480.2] // CHECK:STDOUT: %bound_method.loc16_5.1: = bound_method %a.ref.loc16, %impl.elem0.loc16_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc16_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc16_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc16_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc16_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc16_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc16_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16_5, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.4fc9be.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc16_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc16_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc16_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc16_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc16_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc16_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16_5, @Cpp.long_long.as.BitAndAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.3c68e0.1] // CHECK:STDOUT: %bound_method.loc16_5.2: = bound_method %a.ref.loc16, %specific_fn.loc16 -// CHECK:STDOUT: %.loc16_5.3: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.212afa.1 = specific_constant imports.%Core.Op.96f, @Cpp.long_long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.678907.1] -// CHECK:STDOUT: %Op.ref.loc16: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.212afa.1 = name_ref Op, %.loc16_5.3 [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.678907.1] +// CHECK:STDOUT: %.loc16_5.3: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1531ae.1 = specific_constant imports.%Core.Op.96f, @Cpp.long_long.as.BitAndAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.c2e480.1] +// CHECK:STDOUT: %Op.ref.loc16: %Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1531ae.1 = name_ref Op, %.loc16_5.3 [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.c2e480.1] // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.bound: = bound_method %a.ref.loc16, %Op.ref.loc16 -// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc16, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.4fc9be.2] +// CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc16, @Cpp.long_long.as.BitAndAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn.3c68e0.2] // CHECK:STDOUT: %bound_method.loc16_5.3: = bound_method %a.ref.loc16, %Cpp.long_long.as.BitAndAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc16_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc16_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc16_8: = bound_method %b.ref.loc16, %impl.elem0.loc16_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc16: init %Cpp.long_long = call %bound_method.loc16_8(%b.ref.loc16) // CHECK:STDOUT: %.loc16_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc16 @@ -3266,20 +3266,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.BitAndAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc16_5.3(%a.ref.loc16, %.loc16_8.2) // CHECK:STDOUT: %a.ref.loc17: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc17: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc17_5: %.ab1 = impl_witness_access constants.%BitOrAssignWith.impl_witness.0f6, element0 [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.bbf3fb.2] +// CHECK:STDOUT: %impl.elem0.loc17_5: %.60b = impl_witness_access constants.%BitOrAssignWith.impl_witness.573, element0 [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.b8a20c.2] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %a.ref.loc17, %impl.elem0.loc17_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.80ce92.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc17_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc17_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc17_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc17_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc17_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17_5, @Cpp.long_long.as.BitOrAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.542169.1] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %a.ref.loc17, %specific_fn.loc17 -// CHECK:STDOUT: %.loc17_5.3: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2aebbe.1 = specific_constant imports.%Core.Op.152, @Cpp.long_long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.bbf3fb.1] -// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2aebbe.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.bbf3fb.1] +// CHECK:STDOUT: %.loc17_5.3: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.7ba83d.1 = specific_constant imports.%Core.Op.152, @Cpp.long_long.as.BitOrAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.b8a20c.1] +// CHECK:STDOUT: %Op.ref.loc17: %Cpp.long_long.as.BitOrAssignWith.impl.Op.type.7ba83d.1 = name_ref Op, %.loc17_5.3 [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.b8a20c.1] // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.bound: = bound_method %a.ref.loc17, %Op.ref.loc17 -// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.80ce92.2] +// CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc17, @Cpp.long_long.as.BitOrAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn.542169.2] // CHECK:STDOUT: %bound_method.loc17_5.3: = bound_method %a.ref.loc17, %Cpp.long_long.as.BitOrAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc17_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc17_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc17_8: = bound_method %b.ref.loc17, %impl.elem0.loc17_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc17: init %Cpp.long_long = call %bound_method.loc17_8(%b.ref.loc17) // CHECK:STDOUT: %.loc17_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc17 @@ -3287,20 +3287,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.BitOrAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc17_5.3(%a.ref.loc17, %.loc17_8.2) // CHECK:STDOUT: %a.ref.loc18: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc18: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc18_5: %.931 = impl_witness_access constants.%BitXorAssignWith.impl_witness.400, element0 [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.9c6ff1.2] +// CHECK:STDOUT: %impl.elem0.loc18_5: %.3ea = impl_witness_access constants.%BitXorAssignWith.impl_witness.2eb, element0 [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.d5755c.2] // CHECK:STDOUT: %bound_method.loc18_5.1: = bound_method %a.ref.loc18, %impl.elem0.loc18_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18_5, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.c20ea8.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc18_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc18_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc18_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc18_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc18_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18_5, @Cpp.long_long.as.BitXorAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.602c79.1] // CHECK:STDOUT: %bound_method.loc18_5.2: = bound_method %a.ref.loc18, %specific_fn.loc18 -// CHECK:STDOUT: %.loc18_5.3: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c459c7.1 = specific_constant imports.%Core.Op.993, @Cpp.long_long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.9c6ff1.1] -// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.c459c7.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.9c6ff1.1] +// CHECK:STDOUT: %.loc18_5.3: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.1cb851.1 = specific_constant imports.%Core.Op.993, @Cpp.long_long.as.BitXorAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.d5755c.1] +// CHECK:STDOUT: %Op.ref.loc18: %Cpp.long_long.as.BitXorAssignWith.impl.Op.type.1cb851.1 = name_ref Op, %.loc18_5.3 [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.d5755c.1] // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.bound: = bound_method %a.ref.loc18, %Op.ref.loc18 -// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.c20ea8.2] +// CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc18, @Cpp.long_long.as.BitXorAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn.602c79.2] // CHECK:STDOUT: %bound_method.loc18_5.3: = bound_method %a.ref.loc18, %Cpp.long_long.as.BitXorAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc18_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc18_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc18_8: = bound_method %b.ref.loc18, %impl.elem0.loc18_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc18: init %Cpp.long_long = call %bound_method.loc18_8(%b.ref.loc18) // CHECK:STDOUT: %.loc18_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc18 @@ -3308,20 +3308,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.BitXorAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc18_5.3(%a.ref.loc18, %.loc18_8.2) // CHECK:STDOUT: %a.ref.loc19: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc19: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc19_5: %.7e2 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.afc, element0 [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e7679.2] +// CHECK:STDOUT: %impl.elem0.loc19_5: %.915 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness.63f, element0 [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c56168.2] // CHECK:STDOUT: %bound_method.loc19_5.1: = bound_method %a.ref.loc19, %impl.elem0.loc19_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19_5, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.b21942.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc19_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc19_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc19_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc19_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc19_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19_5, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.108543.1] // CHECK:STDOUT: %bound_method.loc19_5.2: = bound_method %a.ref.loc19, %specific_fn.loc19 -// CHECK:STDOUT: %.loc19_5.3: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.8c1aba.1 = specific_constant imports.%Core.Op.3c4, @Cpp.long_long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e7679.1] -// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.8c1aba.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.4e7679.1] +// CHECK:STDOUT: %.loc19_5.3: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.f6ff82.1 = specific_constant imports.%Core.Op.3c4, @Cpp.long_long.as.LeftShiftAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c56168.1] +// CHECK:STDOUT: %Op.ref.loc19: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.type.f6ff82.1 = name_ref Op, %.loc19_5.3 [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.c56168.1] // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc19, %Op.ref.loc19 -// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.b21942.2] +// CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc19, @Cpp.long_long.as.LeftShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn.108543.2] // CHECK:STDOUT: %bound_method.loc19_5.3: = bound_method %a.ref.loc19, %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc19_9: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc19_9: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc19_9: = bound_method %b.ref.loc19, %impl.elem0.loc19_9 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc19: init %Cpp.long_long = call %bound_method.loc19_9(%b.ref.loc19) // CHECK:STDOUT: %.loc19_9.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc19 @@ -3329,20 +3329,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.LeftShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc19_5.3(%a.ref.loc19, %.loc19_9.2) // CHECK:STDOUT: %a.ref.loc20: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref.loc20: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc20_5: %.128 = impl_witness_access constants.%RightShiftAssignWith.impl_witness.68a, element0 [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.f75d42.2] +// CHECK:STDOUT: %impl.elem0.loc20_5: %.b40 = impl_witness_access constants.%RightShiftAssignWith.impl_witness.47c, element0 [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.110511.2] // CHECK:STDOUT: %bound_method.loc20_5.1: = bound_method %a.ref.loc20, %impl.elem0.loc20_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.eff961.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc20_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc20_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc20_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc20_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc20_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20_5, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.9385c3.1] // CHECK:STDOUT: %bound_method.loc20_5.2: = bound_method %a.ref.loc20, %specific_fn.loc20 -// CHECK:STDOUT: %.loc20_5.3: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.959149.1 = specific_constant imports.%Core.Op.77b, @Cpp.long_long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.f75d42.1] -// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.959149.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.f75d42.1] +// CHECK:STDOUT: %.loc20_5.3: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.175017.1 = specific_constant imports.%Core.Op.77b, @Cpp.long_long.as.RightShiftAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.110511.1] +// CHECK:STDOUT: %Op.ref.loc20: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.type.175017.1 = name_ref Op, %.loc20_5.3 [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.110511.1] // CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.bound: = bound_method %a.ref.loc20, %Op.ref.loc20 -// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.eff961.2] +// CHECK:STDOUT: %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn: = specific_function %Op.ref.loc20, @Cpp.long_long.as.RightShiftAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn.9385c3.2] // CHECK:STDOUT: %bound_method.loc20_5.3: = bound_method %a.ref.loc20, %Cpp.long_long.as.RightShiftAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc20_9: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc20_9: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc20_9: = bound_method %b.ref.loc20, %impl.elem0.loc20_9 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call.loc20: init %Cpp.long_long = call %bound_method.loc20_9(%b.ref.loc20) // CHECK:STDOUT: %.loc20_9.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call.loc20 @@ -3378,10 +3378,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.d58 = var_pattern %a.patt [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ec: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long_long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -3392,16 +3392,16 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2 = struct_value () [symbolic] -// CHECK:STDOUT: %AddAssignWith.impl_witness.b05: = impl_witness imports.%AddAssignWith.impl_witness_table.442, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3d164b.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.7e3843.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3d164b.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3d164b.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.7e3843.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3d164b.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.6b7: %AddAssignWith.type.5ab = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.b05) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.ca5: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.6b7) [concrete] -// CHECK:STDOUT: %.eab: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.ca5, %AddAssignWith.facet.6b7 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.d7abb9.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.7e3843.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.d7abb9.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.7e3843.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.022: = impl_witness imports.%AddAssignWith.impl_witness_table.24b, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.01ebb2.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.0ea592.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.01ebb2.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.01ebb2.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.0ea592.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.01ebb2.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.ff3: %AddAssignWith.type.5ab = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.022) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.498: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(Core.IntLiteral, %AddAssignWith.facet.ff3) [concrete] +// CHECK:STDOUT: %.9a6: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.498, %AddAssignWith.facet.ff3 [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.cb43dd.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.0ea592.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.cb43dd.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.0ea592.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc8_3.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.3: %Destroy.Op.type.1d8f74.3 = struct_value () [concrete] // CHECK:STDOUT: } @@ -3412,9 +3412,9 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %Core.import_ref.634: @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.442 = impl_witness_table (%Core.import_ref.634), @Cpp.long_long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.24b = impl_witness_table (%Core.import_ref.634), @Cpp.long_long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.c11: @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.2)] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -3422,7 +3422,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long_long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long_long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc8_3: init %Cpp.long_long = converted %int_1.loc8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.b19] @@ -3438,20 +3438,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9_5: %.eab = impl_witness_access constants.%AddAssignWith.impl_witness.b05, element0 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.7e3843.2] +// CHECK:STDOUT: %impl.elem0.loc9_5: %.9a6 = impl_witness_access constants.%AddAssignWith.impl_witness.022, element0 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.0ea592.2] // CHECK:STDOUT: %bound_method.loc9_5.1: = bound_method %a.ref, %impl.elem0.loc9_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.1: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc9_5.1: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc9_5.1 [concrete = constants.%ImplicitAs.facet] -// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.660) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc9_5.2: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.f95) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc9_5.2: %ImplicitAs.type.0ec = converted Core.IntLiteral, %ImplicitAs.facet.loc9_5.2 [concrete = constants.%ImplicitAs.facet] -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc9_5, @Cpp.long_long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.d7abb9.1] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc9_5, @Cpp.long_long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.cb43dd.1] // CHECK:STDOUT: %bound_method.loc9_5.2: = bound_method %a.ref, %specific_fn -// CHECK:STDOUT: %.loc9_5.3: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3d164b.1 = specific_constant imports.%Core.Op.c11, @Cpp.long_long.as.AddAssignWith.impl(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.7e3843.1] -// CHECK:STDOUT: %Op.ref: %Cpp.long_long.as.AddAssignWith.impl.Op.type.3d164b.1 = name_ref Op, %.loc9_5.3 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.7e3843.1] +// CHECK:STDOUT: %.loc9_5.3: %Cpp.long_long.as.AddAssignWith.impl.Op.type.01ebb2.1 = specific_constant imports.%Core.Op.c11, @Cpp.long_long.as.AddAssignWith.impl(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.0ea592.1] +// CHECK:STDOUT: %Op.ref: %Cpp.long_long.as.AddAssignWith.impl.Op.type.01ebb2.1 = name_ref Op, %.loc9_5.3 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.0ea592.1] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref, %Op.ref -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long_long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.d7abb9.2] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long_long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.cb43dd.2] // CHECK:STDOUT: %bound_method.loc9_5.3: = bound_method %a.ref, %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc9_8: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc9_8: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc9_8: = bound_method %int_1.loc9, %impl.elem0.loc9_8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9: init %Cpp.long_long = call %bound_method.loc9_8(%int_1.loc9) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc9_8.1: %Cpp.long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9 [concrete = constants.%int_1.b19] @@ -3488,10 +3488,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ec: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long_long)> [concrete] // CHECK:STDOUT: %ImplicitAs.type.221: type = facet_type <@ImplicitAs, @ImplicitAs(%i64)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.2ed: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2ed) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet.2ed [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.82d: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.82d) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet.82d [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -3501,12 +3501,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.091: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.227: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.55a = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.6e8: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.091) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a04: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.6e8) [concrete] -// CHECK:STDOUT: %.f34: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a04, %ImplicitAs.facet.6e8 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.235: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.227) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.da7: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i64, %ImplicitAs.facet.235) [concrete] +// CHECK:STDOUT: %.03f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.da7, %ImplicitAs.facet.235 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.89f: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -3517,20 +3517,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.1 = struct_value () [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%U.bf2) [symbolic] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.305: = impl_witness imports.%ImplicitAs.impl_witness_table.a87 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.7a4: %ImplicitAs.type.0ec = facet_value %i64, (%ImplicitAs.impl_witness.305) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.610: = impl_witness imports.%AddAssignWith.impl_witness_table.442, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.1 = struct_value () [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.3d0: %AddAssignWith.type.d51 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.610) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.55a: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i64, %AddAssignWith.facet.3d0) [concrete] -// CHECK:STDOUT: %.4c9: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.55a, %AddAssignWith.facet.3d0 [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.57a765.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.57a765.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.3ae: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.25e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.3ae, %ImplicitAs.facet.7a4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.b39: = impl_witness imports.%ImplicitAs.impl_witness_table.527 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.2d9: %ImplicitAs.type.0ec = facet_value %i64, (%ImplicitAs.impl_witness.b39) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.057: = impl_witness imports.%AddAssignWith.impl_witness_table.24b, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.1: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.2, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.1: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.1 = struct_value () [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.2: type = fn_type @Cpp.long_long.as.AddAssignWith.impl.Op.1, @Cpp.long_long.as.AddAssignWith.impl(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.2: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.a5f: %AddAssignWith.type.d51 = facet_value %Cpp.long_long, (%AddAssignWith.impl_witness.057) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.a94: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i64, %AddAssignWith.facet.a5f) [concrete] +// CHECK:STDOUT: %.0aa: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.a94, %AddAssignWith.facet.a5f [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.116bb8.1: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.2, @Cpp.long_long.as.AddAssignWith.impl.Op.1(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.116bb8.2: = specific_function %Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.1, @Cpp.long_long.as.AddAssignWith.impl.Op.2(%ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.561: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet.2d9) [concrete] +// CHECK:STDOUT: %.c2b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.561, %ImplicitAs.facet.2d9 [concrete] // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.type: type = fn_type @i64.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert: %i64.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc8_3.3 [concrete] @@ -3543,21 +3543,21 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Core.import_ref.634: @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.type.2 (%Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.1)] -// CHECK:STDOUT: %AddAssignWith.impl_witness_table.442 = impl_witness_table (%Core.import_ref.634), @Cpp.long_long.as.AddAssignWith.impl [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness_table.24b = impl_witness_table (%Core.import_ref.634), @Cpp.long_long.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.c11: @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.type.1 (%Cpp.long_long.as.AddAssignWith.impl.Op.type.524923.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.AddAssignWith.impl.%Cpp.long_long.as.AddAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.AddAssignWith.impl.Op.8f0746.2)] // CHECK:STDOUT: %Core.import_ref.06c923.2: %i64.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%i64.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a87 = impl_witness_table (%Core.import_ref.06c923.2), @i64.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.527 = impl_witness_table (%Core.import_ref.06c923.2), @i64.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CompoundAssignmentLongLongAndRuntimeI64() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long_long = var_storage %a.var_patt // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc8: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8: init %Cpp.long_long = call %bound_method.loc8(%int_1.loc8) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc8_3: init %Cpp.long_long = converted %int_1.loc8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_1.b19] @@ -3572,7 +3572,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.d58 = var_pattern %a.patt [concrete = constants.%a.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc9: %.f34 = impl_witness_access constants.%ImplicitAs.impl_witness.091, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] +// CHECK:STDOUT: %impl.elem0.loc9: %.03f = impl_witness_access constants.%ImplicitAs.impl_witness.227, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.a1b] // CHECK:STDOUT: %bound_method.loc9_16.1: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.89f] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_16.2: = bound_method %int_1.loc9, %specific_fn.loc9 [concrete = constants.%bound_method] @@ -3586,20 +3586,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: ref %Cpp.long_long = name_ref a, %a // CHECK:STDOUT: %b.ref: %i64 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0.loc10_5: %.4c9 = impl_witness_access constants.%AddAssignWith.impl_witness.610, element0 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.2] +// CHECK:STDOUT: %impl.elem0.loc10_5: %.0aa = impl_witness_access constants.%AddAssignWith.impl_witness.057, element0 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.2] // CHECK:STDOUT: %bound_method.loc10_5.1: = bound_method %a.ref, %impl.elem0.loc10_5 -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.305) [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.7a4] -// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long_long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.57a765.1] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.1: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc10_5.1: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.1 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %ImplicitAs.facet.loc10_5.2: %ImplicitAs.type.0ec = facet_value constants.%i64, (constants.%ImplicitAs.impl_witness.b39) [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %.loc10_5.2: %ImplicitAs.type.0ec = converted constants.%i64, %ImplicitAs.facet.loc10_5.2 [concrete = constants.%ImplicitAs.facet.2d9] +// CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_5, @Cpp.long_long.as.AddAssignWith.impl.Op.1(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.116bb8.1] // CHECK:STDOUT: %bound_method.loc10_5.2: = bound_method %a.ref, %specific_fn.loc10 -// CHECK:STDOUT: %.loc10_5.3: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.1 = specific_constant imports.%Core.Op.c11, @Cpp.long_long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.1] -// CHECK:STDOUT: %Op.ref: %Cpp.long_long.as.AddAssignWith.impl.Op.type.6f7c53.1 = name_ref Op, %.loc10_5.3 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.0167bf.1] +// CHECK:STDOUT: %.loc10_5.3: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.1 = specific_constant imports.%Core.Op.c11, @Cpp.long_long.as.AddAssignWith.impl(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.1] +// CHECK:STDOUT: %Op.ref: %Cpp.long_long.as.AddAssignWith.impl.Op.type.8e5700.1 = name_ref Op, %.loc10_5.3 [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.565cc5.1] // CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.bound: = bound_method %a.ref, %Op.ref -// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long_long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.7a4) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.57a765.2] +// CHECK:STDOUT: %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Cpp.long_long.as.AddAssignWith.impl.Op.2(constants.%ImplicitAs.facet.2d9) [concrete = constants.%Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn.116bb8.2] // CHECK:STDOUT: %bound_method.loc10_5.3: = bound_method %a.ref, %Cpp.long_long.as.AddAssignWith.impl.Op.specific_fn -// CHECK:STDOUT: %impl.elem0.loc10_8: %.25e = impl_witness_access constants.%ImplicitAs.impl_witness.305, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc10_8: %.c2b = impl_witness_access constants.%ImplicitAs.impl_witness.b39, element0 [concrete = constants.%i64.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc10_8: = bound_method %b.ref, %impl.elem0.loc10_8 // CHECK:STDOUT: %i64.as.ImplicitAs.impl.Convert.call: init %Cpp.long_long = call %bound_method.loc10_8(%b.ref) // CHECK:STDOUT: %.loc10_8.1: %Cpp.long_long = value_of_initializer %i64.as.ImplicitAs.impl.Convert.call @@ -3635,10 +3635,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.d58 = var_pattern %a.patt [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.0ec: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.long_long)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.660: = impl_witness imports.%ImplicitAs.impl_witness_table.d6d [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.660) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.062: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.ca2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.062, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.f95: = impl_witness imports.%ImplicitAs.impl_witness_table.6d4 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.0ec = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.f95) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.750: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.long_long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.cd7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.750, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -3646,15 +3646,15 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Inc.type: type = facet_type <@Inc> [concrete] // CHECK:STDOUT: %Inc.impl_witness: = impl_witness imports.%Inc.impl_witness_table [concrete] // CHECK:STDOUT: %Inc.facet: %Inc.type = facet_value %Cpp.long_long, (%Inc.impl_witness) [concrete] -// CHECK:STDOUT: %Inc.WithSelf.Op.type.929: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] -// CHECK:STDOUT: %.ac5: type = fn_type_with_self_type %Inc.WithSelf.Op.type.929, %Inc.facet [concrete] +// CHECK:STDOUT: %Inc.WithSelf.Op.type.d92: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] +// CHECK:STDOUT: %.471: type = fn_type_with_self_type %Inc.WithSelf.Op.type.d92, %Inc.facet [concrete] // CHECK:STDOUT: %Cpp.long_long.as.Inc.impl.Op.type: type = fn_type @Cpp.long_long.as.Inc.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long_long.as.Inc.impl.Op: %Cpp.long_long.as.Inc.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Dec.type: type = facet_type <@Dec> [concrete] // CHECK:STDOUT: %Dec.impl_witness: = impl_witness imports.%Dec.impl_witness_table [concrete] // CHECK:STDOUT: %Dec.facet: %Dec.type = facet_value %Cpp.long_long, (%Dec.impl_witness) [concrete] -// CHECK:STDOUT: %Dec.WithSelf.Op.type.2cb: type = fn_type @Dec.WithSelf.Op, @Dec.WithSelf(%Dec.facet) [concrete] -// CHECK:STDOUT: %.a4b: type = fn_type_with_self_type %Dec.WithSelf.Op.type.2cb, %Dec.facet [concrete] +// CHECK:STDOUT: %Dec.WithSelf.Op.type.22e: type = fn_type @Dec.WithSelf.Op, @Dec.WithSelf(%Dec.facet) [concrete] +// CHECK:STDOUT: %.89c: type = fn_type_with_self_type %Dec.WithSelf.Op.type.22e, %Dec.facet [concrete] // CHECK:STDOUT: %Cpp.long_long.as.Dec.impl.Op.type: type = fn_type @Cpp.long_long.as.Dec.impl.Op [concrete] // CHECK:STDOUT: %Cpp.long_long.as.Dec.impl.Op: %Cpp.long_long.as.Dec.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc8_3.3 [concrete] @@ -3667,7 +3667,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d6d = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.6d4 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.e33 [concrete] // CHECK:STDOUT: %Core.import_ref.9c3475.1: %Cpp.long_long.as.Inc.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.Inc.impl.Op] // CHECK:STDOUT: %Inc.impl_witness_table = impl_witness_table (%Core.import_ref.9c3475.1), @Cpp.long_long.as.Inc.impl [concrete] // CHECK:STDOUT: %Core.import_ref.9c3475.2: %Cpp.long_long.as.Dec.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.long_long.as.Dec.impl.Op] @@ -3678,7 +3678,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.long_long = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.ca2 = impl_witness_access constants.%ImplicitAs.impl_witness.660, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.cd7 = impl_witness_access constants.%ImplicitAs.impl_witness.f95, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.long_long = call %bound_method.loc8(%int_1) [concrete = constants.%int_1.b19] // CHECK:STDOUT: %.loc8_3: init %Cpp.long_long = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.b19] @@ -3693,11 +3693,11 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.var_patt: %pattern_type.d58 = var_pattern %a.patt [concrete = constants.%a.var_patt] // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc9: ref %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc9: %.ac5 = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%Cpp.long_long.as.Inc.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.471 = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%Cpp.long_long.as.Inc.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %a.ref.loc9, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.long_long.as.Inc.impl.Op.call: init %empty_tuple.type = call %bound_method.loc9(%a.ref.loc9) // CHECK:STDOUT: %a.ref.loc10: ref %Cpp.long_long = name_ref a, %a -// CHECK:STDOUT: %impl.elem0.loc10: %.a4b = impl_witness_access constants.%Dec.impl_witness, element0 [concrete = constants.%Cpp.long_long.as.Dec.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc10: %.89c = impl_witness_access constants.%Dec.impl_witness, element0 [concrete = constants.%Cpp.long_long.as.Dec.impl.Op] // CHECK:STDOUT: %bound_method.loc10: = bound_method %a.ref.loc10, %impl.elem0.loc10 // CHECK:STDOUT: %Cpp.long_long.as.Dec.impl.Op.call: init %empty_tuple.type = call %bound_method.loc10(%a.ref.loc10) // CHECK:STDOUT: %Destroy.Op.bound: = bound_method %a.var, constants.%Destroy.Op.1a2547.3 @@ -3736,10 +3736,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %ImplicitAs.type.7cb: type = facet_type <@ImplicitAs, @ImplicitAs(Core.IntLiteral)> [concrete] // CHECK:STDOUT: %ImplicitAs.type.14f: type = facet_type <@ImplicitAs, @ImplicitAs(%u64)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.fa4: = impl_witness imports.%ImplicitAs.impl_witness_table.bd1 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.e8c: %ImplicitAs.type.1c8 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.fa4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6e2: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long_long, %ImplicitAs.facet.e8c) [concrete] -// CHECK:STDOUT: %.ee9: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6e2, %ImplicitAs.facet.e8c [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d72: = impl_witness imports.%ImplicitAs.impl_witness_table.961 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.745: %ImplicitAs.type.1c8 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d72) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.469: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long_long, %ImplicitAs.facet.745) [concrete] +// CHECK:STDOUT: %.2fd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.469, %ImplicitAs.facet.745 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce [concrete] @@ -3759,12 +3759,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %To.fe9: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b68(%To.fe9) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.170: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.9c4: = impl_witness imports.%ImplicitAs.impl_witness_table.42f, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.8d9: = impl_witness imports.%ImplicitAs.impl_witness_table.f01, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b18: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert.2, @Core.IntLiteral.as.ImplicitAs.impl.b68(%int_64) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.633: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.b18 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.d29: %ImplicitAs.type.14f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.9c4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8cc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.d29) [concrete] -// CHECK:STDOUT: %.93e: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8cc, %ImplicitAs.facet.d29 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.e08: %ImplicitAs.type.14f = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.8d9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.17c: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%u64, %ImplicitAs.facet.e08) [concrete] +// CHECK:STDOUT: %.ed5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.17c, %ImplicitAs.facet.e08 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.eb0: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.633 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.633, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(%int_64) [concrete] // CHECK:STDOUT: %bound_method.7e7: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -3781,17 +3781,17 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %As.type.116: type = generic_interface_type @As [concrete] // CHECK:STDOUT: %As.generic: %As.type.116 = struct_value () [concrete] // CHECK:STDOUT: %As.type.7f6: type = facet_type <@As, @As(%Cpp.unsigned_long_long)> [concrete] -// CHECK:STDOUT: %As.impl_witness.f99: = impl_witness imports.%As.impl_witness_table.14e [concrete] -// CHECK:STDOUT: %As.facet: %As.type.7f6 = facet_value Core.IntLiteral, (%As.impl_witness.f99) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.a98: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.unsigned_long_long, %As.facet) [concrete] -// CHECK:STDOUT: %.912: type = fn_type_with_self_type %As.WithSelf.Convert.type.a98, %As.facet [concrete] +// CHECK:STDOUT: %As.impl_witness.0db: = impl_witness imports.%As.impl_witness_table.701 [concrete] +// CHECK:STDOUT: %As.facet: %As.type.7f6 = facet_value Core.IntLiteral, (%As.impl_witness.0db) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.381: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%Cpp.unsigned_long_long, %As.facet) [concrete] +// CHECK:STDOUT: %.94e: type = fn_type_with_self_type %As.WithSelf.Convert.type.381, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type: type = fn_type @Core.IntLiteral.as.As.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert: %Core.IntLiteral.as.As.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.83c: = impl_witness imports.%ImplicitAs.impl_witness_table.2bc [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.fdc: %ImplicitAs.type.7cb = facet_value %Cpp.unsigned_long_long, (%ImplicitAs.impl_witness.83c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a28: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.fdc) [concrete] -// CHECK:STDOUT: %.27b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a28, %ImplicitAs.facet.fdc [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.8ae: = impl_witness imports.%ImplicitAs.impl_witness_table.faa [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.a64: %ImplicitAs.type.7cb = facet_value %Cpp.unsigned_long_long, (%ImplicitAs.impl_witness.8ae) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7b8: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.a64) [concrete] +// CHECK:STDOUT: %.88d: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7b8, %ImplicitAs.facet.a64 [concrete] // CHECK:STDOUT: %Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert.type: type = fn_type @Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert: %Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.877, %Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert [concrete] @@ -3807,12 +3807,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %ImplicitAs.type.ed3: type = facet_type <@ImplicitAs, @ImplicitAs(%f32.c73)> [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%N) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.303: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2fa: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.a62 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.65e: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.303) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2e4: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.65e) [concrete] -// CHECK:STDOUT: %.17b: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2e4, %ImplicitAs.facet.65e [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.fcd: %ImplicitAs.type.ed3 = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.2fa) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7cb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f32.c73, %ImplicitAs.facet.fcd) [concrete] +// CHECK:STDOUT: %.7fe: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7cb, %ImplicitAs.facet.fcd [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.3e4: = bound_method %float.6da, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -3854,7 +3854,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.ULongLong64: type = import_ref Core//prelude/types/cpp/int, ULongLong64, loaded [concrete = constants.%Cpp.unsigned_long_long] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.06c923.1: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.ae6 = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bd1 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.f5b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.961 = impl_witness_table (%Core.import_ref.06c923.1), @Core.IntLiteral.as.ImplicitAs.impl.f5b [concrete] // CHECK:STDOUT: %ULongLongResult.decl: type = class_decl @ULongLongResult [concrete = constants.%ULongLongResult] {} {} // CHECK:STDOUT: %PassULongLong.cpp_overload_set.value: %PassULongLong.cpp_overload_set.type = cpp_overload_set_value @PassULongLong.cpp_overload_set [concrete = constants.%PassULongLong.cpp_overload_set.value] // CHECK:STDOUT: %PassULongLong__carbon_thunk.decl.3ca866.1: %PassULongLong__carbon_thunk.type.76ef5b.1 = fn_decl @PassULongLong__carbon_thunk.1 [concrete = constants.%PassULongLong__carbon_thunk.030145.1] { @@ -3864,7 +3864,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.UInt: %UInt.type = import_ref Core//prelude/types/uint, UInt, loaded [concrete = constants.%UInt.generic] // CHECK:STDOUT: %Core.import_ref.aa5: @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.199) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.b68.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.170)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.42f = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f01 = impl_witness_table (%Core.import_ref.aa5), @Core.IntLiteral.as.ImplicitAs.impl.b68 [concrete] // CHECK:STDOUT: %ULongResult.decl: type = class_decl @ULongResult [concrete = constants.%ULongResult] {} {} // CHECK:STDOUT: %PassULongLong__carbon_thunk.decl.3ca866.2: %PassULongLong__carbon_thunk.type.76ef5b.2 = fn_decl @PassULongLong__carbon_thunk.2 [concrete = constants.%PassULongLong__carbon_thunk.030145.2] { // CHECK:STDOUT: @@ -3874,18 +3874,18 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.Float: %Float.type = import_ref Core//prelude/types/float, Float, loaded [concrete = constants.%Float.generic] // CHECK:STDOUT: %Core.As: %As.type.116 = import_ref Core//prelude/operators/as, As, loaded [concrete = constants.%As.generic] // CHECK:STDOUT: %Core.import_ref.06c923.2: %Core.IntLiteral.as.As.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] -// CHECK:STDOUT: %As.impl_witness_table.14e = impl_witness_table (%Core.import_ref.06c923.2), @Core.IntLiteral.as.As.impl.f3d [concrete] +// CHECK:STDOUT: %As.impl_witness_table.701 = impl_witness_table (%Core.import_ref.06c923.2), @Core.IntLiteral.as.As.impl.f3d [concrete] // CHECK:STDOUT: %Core.import_ref.06c923.3: %Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.2bc = impl_witness_table (%Core.import_ref.06c923.3), @Cpp.unsigned_long_long.as.ImplicitAs.impl.437 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.faa = impl_witness_table (%Core.import_ref.06c923.3), @Cpp.unsigned_long_long.as.ImplicitAs.impl.437 [concrete] // CHECK:STDOUT: %Core.import_ref.c4c: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc15: %.ee9 = impl_witness_access constants.%ImplicitAs.impl_witness.fa4, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] +// CHECK:STDOUT: %impl.elem0.loc15: %.2fd = impl_witness_access constants.%ImplicitAs.impl_witness.d72, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3ce] // CHECK:STDOUT: %bound_method.loc15: = bound_method %int_1.loc15, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5d7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc15: init %Cpp.unsigned_long_long = call %bound_method.loc15(%int_1.loc15) [concrete = constants.%int_1.877] // CHECK:STDOUT: %.loc15_56.1: %Cpp.unsigned_long_long = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc15 [concrete = constants.%int_1.877] @@ -3943,7 +3943,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %cpp_compat_ulong_long_result.patt: %pattern_type.97e = value_binding_pattern cpp_compat_ulong_long_result [concrete = constants.%cpp_compat_ulong_long_result.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc21: %.93e = impl_witness_access constants.%ImplicitAs.impl_witness.9c4, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] +// CHECK:STDOUT: %impl.elem0.loc21: %.ed5 = impl_witness_access constants.%ImplicitAs.impl_witness.8d9, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.633] // CHECK:STDOUT: %bound_method.loc21_25.1: = bound_method %int_1.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.eb0] // CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_25.2: = bound_method %int_1.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.7e7] @@ -3975,7 +3975,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %a.var: ref %array_type = var_storage %a.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.6da] // CHECK:STDOUT: %.loc24_64.1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple] -// CHECK:STDOUT: %impl.elem0.loc24_64: %.17b = impl_witness_access constants.%ImplicitAs.impl_witness.303, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] +// CHECK:STDOUT: %impl.elem0.loc24_64: %.7fe = impl_witness_access constants.%ImplicitAs.impl_witness.2fa, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.b37] // CHECK:STDOUT: %bound_method.loc24_64.1: = bound_method %float, %impl.elem0.loc24_64 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc24: = specific_function %impl.elem0.loc24_64, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_64.2: = bound_method %float, %specific_fn.loc24 [concrete = constants.%bound_method.3e4] @@ -3992,12 +3992,12 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc24: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %unsigned_long_long.ref.loc24: type = name_ref unsigned_long_long, constants.%Cpp.unsigned_long_long [concrete = constants.%Cpp.unsigned_long_long] -// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.912 = impl_witness_access constants.%As.impl_witness.f99, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc24_30.1: %.94e = impl_witness_access constants.%As.impl_witness.0db, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc24_30.1: = bound_method %int_1.loc24, %impl.elem0.loc24_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %Cpp.unsigned_long_long = call %bound_method.loc24_30.1(%int_1.loc24) [concrete = constants.%int_1.877] // CHECK:STDOUT: %.loc24_30.1: %Cpp.unsigned_long_long = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.877] // CHECK:STDOUT: %.loc24_30.2: %Cpp.unsigned_long_long = converted %int_1.loc24, %.loc24_30.1 [concrete = constants.%int_1.877] -// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.27b = impl_witness_access constants.%ImplicitAs.impl_witness.83c, element0 [concrete = constants.%Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc24_30.2: %.88d = impl_witness_access constants.%ImplicitAs.impl_witness.8ae, element0 [concrete = constants.%Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc24_30.2: = bound_method %.loc24_30.2, %impl.elem0.loc24_30.2 [concrete = constants.%Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert.call: init Core.IntLiteral = call %bound_method.loc24_30.2(%.loc24_30.2) [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc24_30.3: Core.IntLiteral = value_of_initializer %Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.5b8] @@ -4046,20 +4046,20 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.1c8: type = facet_type <@ImplicitAs, @ImplicitAs(%Cpp.unsigned_long_long)> [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.fa4: = impl_witness imports.%ImplicitAs.impl_witness_table.bd1 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.1c8 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.fa4) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6e2: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long_long, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.ee9: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6e2, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d72: = impl_witness imports.%ImplicitAs.impl_witness_table.961 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.1c8 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.d72) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.469: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%Cpp.unsigned_long_long, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.2fd: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.469, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %int_1.877: %Cpp.unsigned_long_long = int_value 1 [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.4cd = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.4cd = var_pattern %b.patt [concrete] -// CHECK:STDOUT: %Copy.impl_witness.15f: = impl_witness imports.%Copy.impl_witness_table.217 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.unsigned_long_long, (%Copy.impl_witness.15f) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.a3f: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.294: type = fn_type_with_self_type %Copy.WithSelf.Op.type.a3f, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.2e6: = impl_witness imports.%Copy.impl_witness_table.6d7 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %Cpp.unsigned_long_long, (%Copy.impl_witness.2e6) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.761: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.e48: type = fn_type_with_self_type %Copy.WithSelf.Op.type.761, %Copy.facet [concrete] // CHECK:STDOUT: %Cpp.unsigned_long_long.as.Copy.impl.Op.type: type = fn_type @Cpp.unsigned_long_long.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Cpp.unsigned_long_long.as.Copy.impl.Op: %Cpp.unsigned_long_long.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc9_3.3 [concrete] @@ -4072,16 +4072,16 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.06c: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.bd1 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.f5b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.961 = impl_witness_table (%Core.import_ref.06c), @Core.IntLiteral.as.ImplicitAs.impl.f5b [concrete] // CHECK:STDOUT: %Core.import_ref.9c3: %Cpp.unsigned_long_long.as.Copy.impl.Op.type = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [concrete = constants.%Cpp.unsigned_long_long.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.217 = impl_witness_table (%Core.import_ref.9c3), @Cpp.unsigned_long_long.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.6d7 = impl_witness_table (%Core.import_ref.9c3), @Cpp.unsigned_long_long.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @CopyUnsignedLongLong() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %Cpp.unsigned_long_long = var_storage %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8: %.ee9 = impl_witness_access constants.%ImplicitAs.impl_witness.fa4, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc8: %.2fd = impl_witness_access constants.%ImplicitAs.impl_witness.d72, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc8: = bound_method %int_1, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %Cpp.unsigned_long_long = call %bound_method.loc8(%int_1) [concrete = constants.%int_1.877] // CHECK:STDOUT: %.loc8_3: init %Cpp.unsigned_long_long = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.877] @@ -4098,7 +4098,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %b.var: ref %Cpp.unsigned_long_long = var_storage %b.var_patt // CHECK:STDOUT: %a.ref: ref %Cpp.unsigned_long_long = name_ref a, %a // CHECK:STDOUT: %.loc9_42: %Cpp.unsigned_long_long = acquire_value %a.ref -// CHECK:STDOUT: %impl.elem0.loc9: %.294 = impl_witness_access constants.%Copy.impl_witness.15f, element0 [concrete = constants.%Cpp.unsigned_long_long.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc9: %.e48 = impl_witness_access constants.%Copy.impl_witness.2e6, element0 [concrete = constants.%Cpp.unsigned_long_long.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc9: = bound_method %.loc9_42, %impl.elem0.loc9 // CHECK:STDOUT: %Cpp.unsigned_long_long.as.Copy.impl.Op.call: init %Cpp.unsigned_long_long = call %bound_method.loc9(%.loc9_42) // CHECK:STDOUT: assign %b.var, %Cpp.unsigned_long_long.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/interop/cpp/primitive_types/void_pointer.carbon b/toolchain/check/testdata/interop/cpp/primitive_types/void_pointer.carbon index 0a1b9c4454a6..66eab8c285ac 100644 --- a/toolchain/check/testdata/interop/cpp/primitive_types/void_pointer.carbon +++ b/toolchain/check/testdata/interop/cpp/primitive_types/void_pointer.carbon @@ -149,12 +149,12 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.8e0: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.992(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.a18: %ptr.as.ImplicitAs.impl.Convert.type.8e0 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.36b: = impl_witness imports.%ImplicitAs.impl_witness_table.01c, @ptr.as.ImplicitAs.impl.992(%S) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.033: = impl_witness imports.%ImplicitAs.impl_witness_table.c14, @ptr.as.ImplicitAs.impl.992(%S) [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.b93: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.992(%S) [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.313: %ptr.as.ImplicitAs.impl.Convert.type.b93 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.31f: %ImplicitAs.type.c59 = facet_value %ptr.037, (%ImplicitAs.impl_witness.36b) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.881: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%ptr.00a, %ImplicitAs.facet.31f) [concrete] -// CHECK:STDOUT: %.fec: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.881, %ImplicitAs.facet.31f [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.9ea: %ImplicitAs.type.c59 = facet_value %ptr.037, (%ImplicitAs.impl_witness.033) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.371: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%ptr.00a, %ImplicitAs.facet.9ea) [concrete] +// CHECK:STDOUT: %.00d: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.371, %ImplicitAs.facet.9ea [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.specific_fn.642: = specific_function %ptr.as.ImplicitAs.impl.Convert.313, @ptr.as.ImplicitAs.impl.Convert.1(%S) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -166,13 +166,13 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: } // CHECK:STDOUT: %S.decl: type = class_decl @S [concrete = constants.%S] {} {} // CHECK:STDOUT: %Core.import_ref.47d: @ptr.as.ImplicitAs.impl.992.%ptr.as.ImplicitAs.impl.Convert.type (%ptr.as.ImplicitAs.impl.Convert.type.8e0) = import_ref Core//prelude/types/cpp/void, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.ImplicitAs.impl.992.%ptr.as.ImplicitAs.impl.Convert (constants.%ptr.as.ImplicitAs.impl.Convert.a18)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.01c = impl_witness_table (%Core.import_ref.47d), @ptr.as.ImplicitAs.impl.992 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.c14 = impl_witness_table (%Core.import_ref.47d), @ptr.as.ImplicitAs.impl.992 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%input.param: %ptr.037) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %input.ref: %ptr.037 = name_ref input, %input -// CHECK:STDOUT: %impl.elem0: %.fec = impl_witness_access constants.%ImplicitAs.impl_witness.36b, element0 [concrete = constants.%ptr.as.ImplicitAs.impl.Convert.313] +// CHECK:STDOUT: %impl.elem0: %.00d = impl_witness_access constants.%ImplicitAs.impl_witness.033, element0 [concrete = constants.%ptr.as.ImplicitAs.impl.Convert.313] // CHECK:STDOUT: %bound_method.loc10_29.1: = bound_method %input.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.ImplicitAs.impl.Convert.1(constants.%S) [concrete = constants.%ptr.as.ImplicitAs.impl.Convert.specific_fn.642] // CHECK:STDOUT: %bound_method.loc10_29.2: = bound_method %input.ref, %specific_fn @@ -204,12 +204,12 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.8e0: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.992(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.a18: %ptr.as.ImplicitAs.impl.Convert.type.8e0 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.184: = impl_witness imports.%ImplicitAs.impl_witness_table.01c, @ptr.as.ImplicitAs.impl.992(%C) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.37b: = impl_witness imports.%ImplicitAs.impl_witness_table.c14, @ptr.as.ImplicitAs.impl.992(%C) [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.c38: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.992(%C) [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.458: %ptr.as.ImplicitAs.impl.Convert.type.c38 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.54b: %ImplicitAs.type.c59 = facet_value %ptr.6b6, (%ImplicitAs.impl_witness.184) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a7e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%ptr.00a, %ImplicitAs.facet.54b) [concrete] -// CHECK:STDOUT: %.4f2: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a7e, %ImplicitAs.facet.54b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.08f: %ImplicitAs.type.c59 = facet_value %ptr.6b6, (%ImplicitAs.impl_witness.37b) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.620: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%ptr.00a, %ImplicitAs.facet.08f) [concrete] +// CHECK:STDOUT: %.d86: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.620, %ImplicitAs.facet.08f [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.specific_fn.aae: = specific_function %ptr.as.ImplicitAs.impl.Convert.458, @ptr.as.ImplicitAs.impl.Convert.1(%C) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -219,13 +219,13 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.47d: @ptr.as.ImplicitAs.impl.992.%ptr.as.ImplicitAs.impl.Convert.type (%ptr.as.ImplicitAs.impl.Convert.type.8e0) = import_ref Core//prelude/types/cpp/void, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.ImplicitAs.impl.992.%ptr.as.ImplicitAs.impl.Convert (constants.%ptr.as.ImplicitAs.impl.Convert.a18)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.01c = impl_witness_table (%Core.import_ref.47d), @ptr.as.ImplicitAs.impl.992 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.c14 = impl_witness_table (%Core.import_ref.47d), @ptr.as.ImplicitAs.impl.992 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%input.param: %ptr.6b6) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %input.ref: %ptr.6b6 = name_ref input, %input -// CHECK:STDOUT: %impl.elem0: %.4f2 = impl_witness_access constants.%ImplicitAs.impl_witness.184, element0 [concrete = constants.%ptr.as.ImplicitAs.impl.Convert.458] +// CHECK:STDOUT: %impl.elem0: %.d86 = impl_witness_access constants.%ImplicitAs.impl_witness.37b, element0 [concrete = constants.%ptr.as.ImplicitAs.impl.Convert.458] // CHECK:STDOUT: %bound_method.loc10_29.1: = bound_method %input.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.ImplicitAs.impl.Convert.1(constants.%C) [concrete = constants.%ptr.as.ImplicitAs.impl.Convert.specific_fn.aae] // CHECK:STDOUT: %bound_method.loc10_29.2: = bound_method %input.ref, %specific_fn @@ -263,15 +263,15 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %ImplicitAs.type.c59: type = facet_type <@ImplicitAs, @ImplicitAs(%ptr.00a)> [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.8e0: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.992(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.a18: %ptr.as.ImplicitAs.impl.Convert.type.8e0 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.36b: = impl_witness imports.%ImplicitAs.impl_witness_table.01c, @ptr.as.ImplicitAs.impl.992(%S) [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.31f: %ImplicitAs.type.c59 = facet_value %ptr.037, (%ImplicitAs.impl_witness.36b) [concrete] -// CHECK:STDOUT: %As.impl_witness.28e: = impl_witness imports.%As.impl_witness_table.aa3, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.31f) [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.type.6d1: type = fn_type @T.as_type.as.As.impl.Convert, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.31f) [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.ed3: %T.as_type.as.As.impl.Convert.type.6d1 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.ffb = facet_value %ptr.037, (%As.impl_witness.28e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.99f: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%ptr.00a, %As.facet) [concrete] -// CHECK:STDOUT: %.629: type = fn_type_with_self_type %As.WithSelf.Convert.type.99f, %As.facet [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.specific_fn: = specific_function %T.as_type.as.As.impl.Convert.ed3, @T.as_type.as.As.impl.Convert(%ptr.00a, %ImplicitAs.facet.31f) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.033: = impl_witness imports.%ImplicitAs.impl_witness_table.c14, @ptr.as.ImplicitAs.impl.992(%S) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.9ea: %ImplicitAs.type.c59 = facet_value %ptr.037, (%ImplicitAs.impl_witness.033) [concrete] +// CHECK:STDOUT: %As.impl_witness.cac: = impl_witness imports.%As.impl_witness_table.10e, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.9ea) [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.type.4ae: type = fn_type @T.as_type.as.As.impl.Convert, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.9ea) [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.189: %T.as_type.as.As.impl.Convert.type.4ae = struct_value () [concrete] +// CHECK:STDOUT: %As.facet: %As.type.ffb = facet_value %ptr.037, (%As.impl_witness.cac) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.565: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%ptr.00a, %As.facet) [concrete] +// CHECK:STDOUT: %.d32: type = fn_type_with_self_type %As.WithSelf.Convert.type.565, %As.facet [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.specific_fn: = specific_function %T.as_type.as.As.impl.Convert.189, @T.as_type.as.As.impl.Convert(%ptr.00a, %ImplicitAs.facet.9ea) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -282,9 +282,9 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: } // CHECK:STDOUT: %S.decl: type = class_decl @S [concrete = constants.%S] {} {} // CHECK:STDOUT: %Core.import_ref.a07: @T.as_type.as.As.impl.%T.as_type.as.As.impl.Convert.type (%T.as_type.as.As.impl.Convert.type.1a4) = import_ref Core//prelude/operators/as, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.As.impl.%T.as_type.as.As.impl.Convert (constants.%T.as_type.as.As.impl.Convert.0c3)] -// CHECK:STDOUT: %As.impl_witness_table.aa3 = impl_witness_table (%Core.import_ref.a07), @T.as_type.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.10e = impl_witness_table (%Core.import_ref.a07), @T.as_type.as.As.impl [concrete] // CHECK:STDOUT: %Core.import_ref.47d: @ptr.as.ImplicitAs.impl.992.%ptr.as.ImplicitAs.impl.Convert.type (%ptr.as.ImplicitAs.impl.Convert.type.8e0) = import_ref Core//prelude/types/cpp/void, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.ImplicitAs.impl.992.%ptr.as.ImplicitAs.impl.Convert (constants.%ptr.as.ImplicitAs.impl.Convert.a18)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.01c = impl_witness_table (%Core.import_ref.47d), @ptr.as.ImplicitAs.impl.992 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.c14 = impl_witness_table (%Core.import_ref.47d), @ptr.as.ImplicitAs.impl.992 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%input.param: %ptr.037) { @@ -293,9 +293,9 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %Cpp.ref.loc10_38: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %void.ref.loc10_41: type = name_ref void, constants.%Cpp.void [concrete = constants.%Cpp.void] // CHECK:STDOUT: %ptr.loc10_46: type = ptr_type %void.ref.loc10_41 [concrete = constants.%ptr.00a] -// CHECK:STDOUT: %impl.elem0: %.629 = impl_witness_access constants.%As.impl_witness.28e, element0 [concrete = constants.%T.as_type.as.As.impl.Convert.ed3] +// CHECK:STDOUT: %impl.elem0: %.d32 = impl_witness_access constants.%As.impl_witness.cac, element0 [concrete = constants.%T.as_type.as.As.impl.Convert.189] // CHECK:STDOUT: %bound_method.loc10_35.1: = bound_method %input.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @T.as_type.as.As.impl.Convert(constants.%ptr.00a, constants.%ImplicitAs.facet.31f) [concrete = constants.%T.as_type.as.As.impl.Convert.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @T.as_type.as.As.impl.Convert(constants.%ptr.00a, constants.%ImplicitAs.facet.9ea) [concrete = constants.%T.as_type.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_35.2: = bound_method %input.ref, %specific_fn // CHECK:STDOUT: %T.as_type.as.As.impl.Convert.call: init %ptr.00a = call %bound_method.loc10_35.2(%input.ref) // CHECK:STDOUT: %.loc10_35.1: %ptr.00a = value_of_initializer %T.as_type.as.As.impl.Convert.call @@ -331,15 +331,15 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %ImplicitAs.type.c59: type = facet_type <@ImplicitAs, @ImplicitAs(%ptr.00a)> [concrete] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.type.8e0: type = fn_type @ptr.as.ImplicitAs.impl.Convert.1, @ptr.as.ImplicitAs.impl.992(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.ImplicitAs.impl.Convert.a18: %ptr.as.ImplicitAs.impl.Convert.type.8e0 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.184: = impl_witness imports.%ImplicitAs.impl_witness_table.01c, @ptr.as.ImplicitAs.impl.992(%C) [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.54b: %ImplicitAs.type.c59 = facet_value %ptr.6b6, (%ImplicitAs.impl_witness.184) [concrete] -// CHECK:STDOUT: %As.impl_witness.6bc: = impl_witness imports.%As.impl_witness_table.aa3, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.54b) [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.type.68f: type = fn_type @T.as_type.as.As.impl.Convert, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.54b) [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.e3d: %T.as_type.as.As.impl.Convert.type.68f = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.ffb = facet_value %ptr.6b6, (%As.impl_witness.6bc) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.3fa: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%ptr.00a, %As.facet) [concrete] -// CHECK:STDOUT: %.efd: type = fn_type_with_self_type %As.WithSelf.Convert.type.3fa, %As.facet [concrete] -// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.specific_fn: = specific_function %T.as_type.as.As.impl.Convert.e3d, @T.as_type.as.As.impl.Convert(%ptr.00a, %ImplicitAs.facet.54b) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.37b: = impl_witness imports.%ImplicitAs.impl_witness_table.c14, @ptr.as.ImplicitAs.impl.992(%C) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.08f: %ImplicitAs.type.c59 = facet_value %ptr.6b6, (%ImplicitAs.impl_witness.37b) [concrete] +// CHECK:STDOUT: %As.impl_witness.f61: = impl_witness imports.%As.impl_witness_table.10e, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.08f) [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.type.454: type = fn_type @T.as_type.as.As.impl.Convert, @T.as_type.as.As.impl(%ptr.00a, %ImplicitAs.facet.08f) [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.8bc: %T.as_type.as.As.impl.Convert.type.454 = struct_value () [concrete] +// CHECK:STDOUT: %As.facet: %As.type.ffb = facet_value %ptr.6b6, (%As.impl_witness.f61) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.5ee: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%ptr.00a, %As.facet) [concrete] +// CHECK:STDOUT: %.b01: type = fn_type_with_self_type %As.WithSelf.Convert.type.5ee, %As.facet [concrete] +// CHECK:STDOUT: %T.as_type.as.As.impl.Convert.specific_fn: = specific_function %T.as_type.as.As.impl.Convert.8bc, @T.as_type.as.As.impl.Convert(%ptr.00a, %ImplicitAs.facet.08f) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -348,9 +348,9 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.a07: @T.as_type.as.As.impl.%T.as_type.as.As.impl.Convert.type (%T.as_type.as.As.impl.Convert.type.1a4) = import_ref Core//prelude/operators/as, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.As.impl.%T.as_type.as.As.impl.Convert (constants.%T.as_type.as.As.impl.Convert.0c3)] -// CHECK:STDOUT: %As.impl_witness_table.aa3 = impl_witness_table (%Core.import_ref.a07), @T.as_type.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.10e = impl_witness_table (%Core.import_ref.a07), @T.as_type.as.As.impl [concrete] // CHECK:STDOUT: %Core.import_ref.47d: @ptr.as.ImplicitAs.impl.992.%ptr.as.ImplicitAs.impl.Convert.type (%ptr.as.ImplicitAs.impl.Convert.type.8e0) = import_ref Core//prelude/types/cpp/void, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.ImplicitAs.impl.992.%ptr.as.ImplicitAs.impl.Convert (constants.%ptr.as.ImplicitAs.impl.Convert.a18)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.01c = impl_witness_table (%Core.import_ref.47d), @ptr.as.ImplicitAs.impl.992 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.c14 = impl_witness_table (%Core.import_ref.47d), @ptr.as.ImplicitAs.impl.992 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%input.param: %ptr.6b6) { @@ -359,9 +359,9 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %Cpp.ref.loc10_38: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %void.ref.loc10_41: type = name_ref void, constants.%Cpp.void [concrete = constants.%Cpp.void] // CHECK:STDOUT: %ptr.loc10_46: type = ptr_type %void.ref.loc10_41 [concrete = constants.%ptr.00a] -// CHECK:STDOUT: %impl.elem0: %.efd = impl_witness_access constants.%As.impl_witness.6bc, element0 [concrete = constants.%T.as_type.as.As.impl.Convert.e3d] +// CHECK:STDOUT: %impl.elem0: %.b01 = impl_witness_access constants.%As.impl_witness.f61, element0 [concrete = constants.%T.as_type.as.As.impl.Convert.8bc] // CHECK:STDOUT: %bound_method.loc10_35.1: = bound_method %input.ref, %impl.elem0 -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @T.as_type.as.As.impl.Convert(constants.%ptr.00a, constants.%ImplicitAs.facet.54b) [concrete = constants.%T.as_type.as.As.impl.Convert.specific_fn] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @T.as_type.as.As.impl.Convert(constants.%ptr.00a, constants.%ImplicitAs.facet.08f) [concrete = constants.%T.as_type.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_35.2: = bound_method %input.ref, %specific_fn // CHECK:STDOUT: %T.as_type.as.As.impl.Convert.call: init %ptr.00a = call %bound_method.loc10_35.2(%input.ref) // CHECK:STDOUT: %.loc10_35.1: %ptr.00a = value_of_initializer %T.as_type.as.As.impl.Convert.call @@ -459,12 +459,12 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.232: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%T.67d, %U.091) [symbolic] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.691: %ptr.as.UnsafeAs.impl.Convert.type.232 = struct_value () [symbolic] -// CHECK:STDOUT: %UnsafeAs.impl_witness.293: = impl_witness imports.%UnsafeAs.impl_witness_table.4b1, @ptr.as.UnsafeAs.impl(%Cpp.void, %S) [concrete] +// CHECK:STDOUT: %UnsafeAs.impl_witness.4ec: = impl_witness imports.%UnsafeAs.impl_witness_table.e4b, @ptr.as.UnsafeAs.impl(%Cpp.void, %S) [concrete] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.664: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%Cpp.void, %S) [concrete] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.cba: %ptr.as.UnsafeAs.impl.Convert.type.664 = struct_value () [concrete] -// CHECK:STDOUT: %UnsafeAs.facet: %UnsafeAs.type.ae7 = facet_value %ptr.00a, (%UnsafeAs.impl_witness.293) [concrete] -// CHECK:STDOUT: %UnsafeAs.WithSelf.Convert.type.de8: type = fn_type @UnsafeAs.WithSelf.Convert, @UnsafeAs.WithSelf(%ptr.037, %UnsafeAs.facet) [concrete] -// CHECK:STDOUT: %.a0b: type = fn_type_with_self_type %UnsafeAs.WithSelf.Convert.type.de8, %UnsafeAs.facet [concrete] +// CHECK:STDOUT: %UnsafeAs.facet: %UnsafeAs.type.ae7 = facet_value %ptr.00a, (%UnsafeAs.impl_witness.4ec) [concrete] +// CHECK:STDOUT: %UnsafeAs.WithSelf.Convert.type.9c5: type = fn_type @UnsafeAs.WithSelf.Convert, @UnsafeAs.WithSelf(%ptr.037, %UnsafeAs.facet) [concrete] +// CHECK:STDOUT: %.d46: type = fn_type_with_self_type %UnsafeAs.WithSelf.Convert.type.9c5, %UnsafeAs.facet [concrete] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.specific_fn: = specific_function %ptr.as.UnsafeAs.impl.Convert.cba, @ptr.as.UnsafeAs.impl.Convert(%Cpp.void, %S) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -476,7 +476,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: } // CHECK:STDOUT: %S.decl: type = class_decl @S [concrete = constants.%S] {} {} // CHECK:STDOUT: %Core.import_ref.822: @ptr.as.UnsafeAs.impl.%ptr.as.UnsafeAs.impl.Convert.type (%ptr.as.UnsafeAs.impl.Convert.type.232) = import_ref Core//prelude/operators/as, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.UnsafeAs.impl.%ptr.as.UnsafeAs.impl.Convert (constants.%ptr.as.UnsafeAs.impl.Convert.691)] -// CHECK:STDOUT: %UnsafeAs.impl_witness_table.4b1 = impl_witness_table (%Core.import_ref.822), @ptr.as.UnsafeAs.impl [concrete] +// CHECK:STDOUT: %UnsafeAs.impl_witness_table.e4b = impl_witness_table (%Core.import_ref.822), @ptr.as.UnsafeAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%input.param: %ptr.00a) { @@ -485,7 +485,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %Cpp.ref.loc10_42: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %S.ref.loc10_45: type = name_ref S, imports.%S.decl [concrete = constants.%S] // CHECK:STDOUT: %ptr.loc10_47: type = ptr_type %S.ref.loc10_45 [concrete = constants.%ptr.037] -// CHECK:STDOUT: %impl.elem0: %.a0b = impl_witness_access constants.%UnsafeAs.impl_witness.293, element0 [concrete = constants.%ptr.as.UnsafeAs.impl.Convert.cba] +// CHECK:STDOUT: %impl.elem0: %.d46 = impl_witness_access constants.%UnsafeAs.impl_witness.4ec, element0 [concrete = constants.%ptr.as.UnsafeAs.impl.Convert.cba] // CHECK:STDOUT: %bound_method.loc10_39.1: = bound_method %input.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.UnsafeAs.impl.Convert(constants.%Cpp.void, constants.%S) [concrete = constants.%ptr.as.UnsafeAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_39.2: = bound_method %input.ref, %specific_fn @@ -518,18 +518,18 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.232: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%T.67d, %U.091) [symbolic] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.691: %ptr.as.UnsafeAs.impl.Convert.type.232 = struct_value () [symbolic] -// CHECK:STDOUT: %UnsafeAs.impl_witness.78a: = impl_witness imports.%UnsafeAs.impl_witness_table.4b1, @ptr.as.UnsafeAs.impl(%Cpp.void, %C) [concrete] +// CHECK:STDOUT: %UnsafeAs.impl_witness.07d: = impl_witness imports.%UnsafeAs.impl_witness_table.e4b, @ptr.as.UnsafeAs.impl(%Cpp.void, %C) [concrete] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.type.bab: type = fn_type @ptr.as.UnsafeAs.impl.Convert, @ptr.as.UnsafeAs.impl(%Cpp.void, %C) [concrete] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.ec2: %ptr.as.UnsafeAs.impl.Convert.type.bab = struct_value () [concrete] -// CHECK:STDOUT: %UnsafeAs.facet: %UnsafeAs.type.1d9 = facet_value %ptr.00a, (%UnsafeAs.impl_witness.78a) [concrete] -// CHECK:STDOUT: %UnsafeAs.WithSelf.Convert.type.e61: type = fn_type @UnsafeAs.WithSelf.Convert, @UnsafeAs.WithSelf(%ptr.6b6, %UnsafeAs.facet) [concrete] -// CHECK:STDOUT: %.fc7: type = fn_type_with_self_type %UnsafeAs.WithSelf.Convert.type.e61, %UnsafeAs.facet [concrete] +// CHECK:STDOUT: %UnsafeAs.facet: %UnsafeAs.type.1d9 = facet_value %ptr.00a, (%UnsafeAs.impl_witness.07d) [concrete] +// CHECK:STDOUT: %UnsafeAs.WithSelf.Convert.type.cc9: type = fn_type @UnsafeAs.WithSelf.Convert, @UnsafeAs.WithSelf(%ptr.6b6, %UnsafeAs.facet) [concrete] +// CHECK:STDOUT: %.095: type = fn_type_with_self_type %UnsafeAs.WithSelf.Convert.type.cc9, %UnsafeAs.facet [concrete] // CHECK:STDOUT: %ptr.as.UnsafeAs.impl.Convert.specific_fn: = specific_function %ptr.as.UnsafeAs.impl.Convert.ec2, @ptr.as.UnsafeAs.impl.Convert(%Cpp.void, %C) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.822: @ptr.as.UnsafeAs.impl.%ptr.as.UnsafeAs.impl.Convert.type (%ptr.as.UnsafeAs.impl.Convert.type.232) = import_ref Core//prelude/operators/as, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.UnsafeAs.impl.%ptr.as.UnsafeAs.impl.Convert (constants.%ptr.as.UnsafeAs.impl.Convert.691)] -// CHECK:STDOUT: %UnsafeAs.impl_witness_table.4b1 = impl_witness_table (%Core.import_ref.822), @ptr.as.UnsafeAs.impl [concrete] +// CHECK:STDOUT: %UnsafeAs.impl_witness_table.e4b = impl_witness_table (%Core.import_ref.822), @ptr.as.UnsafeAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%input.param: %ptr.00a) { @@ -537,7 +537,7 @@ fn F(input: Cpp.void*) { // CHECK:STDOUT: %input.ref: %ptr.00a = name_ref input, %input // CHECK:STDOUT: %C.ref.loc10_38: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %ptr.loc10_39: type = ptr_type %C.ref.loc10_38 [concrete = constants.%ptr.6b6] -// CHECK:STDOUT: %impl.elem0: %.fc7 = impl_witness_access constants.%UnsafeAs.impl_witness.78a, element0 [concrete = constants.%ptr.as.UnsafeAs.impl.Convert.ec2] +// CHECK:STDOUT: %impl.elem0: %.095 = impl_witness_access constants.%UnsafeAs.impl_witness.07d, element0 [concrete = constants.%ptr.as.UnsafeAs.impl.Convert.ec2] // CHECK:STDOUT: %bound_method.loc10_35.1: = bound_method %input.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.UnsafeAs.impl.Convert(constants.%Cpp.void, constants.%C) [concrete = constants.%ptr.as.UnsafeAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_35.2: = bound_method %input.ref, %specific_fn diff --git a/toolchain/check/testdata/interop/cpp/range_for.carbon b/toolchain/check/testdata/interop/cpp/range_for.carbon index f8e88d8ae49b..dd0dfdd34f1d 100644 --- a/toolchain/check/testdata/interop/cpp/range_for.carbon +++ b/toolchain/check/testdata/interop/cpp/range_for.carbon @@ -852,50 +852,50 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.df9cc1.3: = custom_witness (%Destroy.Op.1a2547.3), @Destroy [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %facet_value.ba2: %facet_type.f48 = facet_value %i32, (%custom_witness.df9cc1.3, %Copy.impl_witness.0e0) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %facet_value.53d: %facet_type.f48 = facet_value %i32, (%custom_witness.df9cc1.3, %Copy.impl_witness.b51) [concrete] // CHECK:STDOUT: %Iterate.lookup_impl_witness.1d8: = lookup_impl_witness %.Self.500, @Iterate [symbolic_self] // CHECK:STDOUT: %impl.elem0.294: %facet_type.f48 = impl_witness_access %Iterate.lookup_impl_witness.1d8, element0 [symbolic_self] -// CHECK:STDOUT: %Iterate_where.type.ec1: type = facet_type <@Iterate where %impl.elem0.294 = %facet_value.ba2> [concrete] -// CHECK:STDOUT: %pattern_type.a4d: type = pattern_type %Iterate_where.type.ec1 [concrete] -// CHECK:STDOUT: %R.patt: %pattern_type.a4d = symbolic_binding_pattern R, 0 [symbolic] -// CHECK:STDOUT: %R: %Iterate_where.type.ec1 = symbolic_binding R, 0 [symbolic] +// CHECK:STDOUT: %Iterate_where.type.01c: type = facet_type <@Iterate where %impl.elem0.294 = %facet_value.53d> [concrete] +// CHECK:STDOUT: %pattern_type.024: type = pattern_type %Iterate_where.type.01c [concrete] +// CHECK:STDOUT: %R.patt: %pattern_type.024 = symbolic_binding_pattern R, 0 [symbolic] +// CHECK:STDOUT: %R: %Iterate_where.type.01c = symbolic_binding R, 0 [symbolic] // CHECK:STDOUT: %R.as_type: type = facet_access_type %R [symbolic] -// CHECK:STDOUT: %pattern_type.b2da: type = pattern_type %R.as_type [symbolic] -// CHECK:STDOUT: %r.param_patt.774: %pattern_type.b2da = value_param_pattern [symbolic] -// CHECK:STDOUT: %r.patt.54b: %pattern_type.b2da = at_binding_pattern r, %r.param_patt.774 [symbolic] +// CHECK:STDOUT: %pattern_type.073: type = pattern_type %R.as_type [symbolic] +// CHECK:STDOUT: %r.param_patt.d39: %pattern_type.073 = value_param_pattern [symbolic] +// CHECK:STDOUT: %r.patt.de1: %pattern_type.073 = at_binding_pattern r, %r.param_patt.d39 [symbolic] // CHECK:STDOUT: %facet_type.037: type = facet_type <@IntFitsIn, @IntFitsIn(%Int.67af24.2) & @AnyInt> [symbolic] // CHECK:STDOUT: %From.6a4: %facet_type.037 = symbolic_binding From, 1 [symbolic] // CHECK:STDOUT: %From.as_type.as.ImplicitAs.impl.Convert.type.7fa: type = fn_type @From.as_type.as.ImplicitAs.impl.Convert, @From.as_type.as.ImplicitAs.impl(%To, %From.6a4) [symbolic] // CHECK:STDOUT: %From.as_type.as.ImplicitAs.impl.Convert.643: %From.as_type.as.ImplicitAs.impl.Convert.type.7fa = struct_value () [symbolic] // CHECK:STDOUT: %i.patt: %pattern_type.6b6 = value_binding_pattern i [concrete] -// CHECK:STDOUT: %Iterate.lookup_impl_witness.18b: = lookup_impl_witness %R, @Iterate [symbolic] -// CHECK:STDOUT: %Iterate.facet.353: %Iterate.type = facet_value %R.as_type, (%Iterate.lookup_impl_witness.18b) [symbolic] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.8fb: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.353) [symbolic] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.830: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.353) [symbolic] -// CHECK:STDOUT: %.985: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.8fb, %Iterate.facet.353 [symbolic] -// CHECK:STDOUT: %impl.elem2.8ec: %.985 = impl_witness_access %Iterate.lookup_impl_witness.18b, element2 [symbolic] -// CHECK:STDOUT: %impl.elem1.295: %Destroy.type = impl_witness_access %Iterate.lookup_impl_witness.18b, element1 [symbolic] -// CHECK:STDOUT: %as_type.c8a: type = facet_access_type %impl.elem1.295 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.9ca: = specific_impl_function %impl.elem2.8ec, @Iterate.WithSelf.NewCursor(%Iterate.facet.353) [symbolic] -// CHECK:STDOUT: %ptr.2ef: type = ptr_type %as_type.c8a [symbolic] -// CHECK:STDOUT: %.f86: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.830, %Iterate.facet.353 [symbolic] -// CHECK:STDOUT: %impl.elem3.5f7: %.f86 = impl_witness_access %Iterate.lookup_impl_witness.18b, element3 [symbolic] -// CHECK:STDOUT: %DefaultOptionalStorage.970: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.ba2) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.337: = impl_witness imports.%OptionalStorage.impl_witness_table.cfa, @T.as_type.as.OptionalStorage.impl(%facet_value.ba2) [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.372: %OptionalStorage.type = facet_value %i32, (%OptionalStorage.impl_witness.337) [concrete] -// CHECK:STDOUT: %Optional.64e: type = class_type @Optional, @Optional(%OptionalStorage.facet.372) [concrete] -// CHECK:STDOUT: %specific_impl_fn.9a8: = specific_impl_function %impl.elem3.5f7, @Iterate.WithSelf.Next(%Iterate.facet.353) [symbolic] -// CHECK:STDOUT: %Optional.HasValue.type.cf4: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.372) [concrete] -// CHECK:STDOUT: %Optional.HasValue.834: %Optional.HasValue.type.cf4 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.a6a: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.372) [concrete] -// CHECK:STDOUT: %Optional.Get.78e: %Optional.Get.type.a6a = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.lookup_impl_witness.403: = lookup_impl_witness %R, @Iterate [symbolic] +// CHECK:STDOUT: %Iterate.facet.a7e: %Iterate.type = facet_value %R.as_type, (%Iterate.lookup_impl_witness.403) [symbolic] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.d86: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.a7e) [symbolic] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.7ad: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.a7e) [symbolic] +// CHECK:STDOUT: %.7f7: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.d86, %Iterate.facet.a7e [symbolic] +// CHECK:STDOUT: %impl.elem2.680: %.7f7 = impl_witness_access %Iterate.lookup_impl_witness.403, element2 [symbolic] +// CHECK:STDOUT: %impl.elem1.595: %Destroy.type = impl_witness_access %Iterate.lookup_impl_witness.403, element1 [symbolic] +// CHECK:STDOUT: %as_type.038: type = facet_access_type %impl.elem1.595 [symbolic] +// CHECK:STDOUT: %specific_impl_fn.740: = specific_impl_function %impl.elem2.680, @Iterate.WithSelf.NewCursor(%Iterate.facet.a7e) [symbolic] +// CHECK:STDOUT: %ptr.d7f: type = ptr_type %as_type.038 [symbolic] +// CHECK:STDOUT: %.339: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.7ad, %Iterate.facet.a7e [symbolic] +// CHECK:STDOUT: %impl.elem3.ffb: %.339 = impl_witness_access %Iterate.lookup_impl_witness.403, element3 [symbolic] +// CHECK:STDOUT: %DefaultOptionalStorage.bfa: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.53d) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.c8c: = impl_witness imports.%OptionalStorage.impl_witness_table.460, @T.as_type.as.OptionalStorage.impl(%facet_value.53d) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.097: %OptionalStorage.type = facet_value %i32, (%OptionalStorage.impl_witness.c8c) [concrete] +// CHECK:STDOUT: %Optional.755: type = class_type @Optional, @Optional(%OptionalStorage.facet.097) [concrete] +// CHECK:STDOUT: %specific_impl_fn.c09: = specific_impl_function %impl.elem3.ffb, @Iterate.WithSelf.Next(%Iterate.facet.a7e) [symbolic] +// CHECK:STDOUT: %Optional.HasValue.type.af3: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.097) [concrete] +// CHECK:STDOUT: %Optional.HasValue.4f6: %Optional.HasValue.type.af3 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.336: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.097) [concrete] +// CHECK:STDOUT: %Optional.Get.0a8: %Optional.Get.type.336 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.facet.d07318.2: %Destroy.type = facet_value %i32, (%custom_witness.df9cc1.3) [concrete] // CHECK:STDOUT: %MaybeUnformed.023: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.d07318.2) [concrete] // CHECK:STDOUT: %.1d6a7: type = maybe_unformed_type %i32 [concrete] // CHECK:STDOUT: %struct_type.value.has_value.ad0: type = struct_type {.value: %MaybeUnformed.023, .has_value: bool} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn.da7: = specific_function %Optional.HasValue.834, @Optional.HasValue(%OptionalStorage.facet.372) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn.bec: = specific_function %Optional.Get.78e, @Optional.Get(%OptionalStorage.facet.372) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.b8c: = specific_function %Optional.HasValue.4f6, @Optional.HasValue(%OptionalStorage.facet.097) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn.fc5: = specific_function %Optional.Get.0a8, @Optional.Get(%OptionalStorage.facet.097) [concrete] // CHECK:STDOUT: %AddAssignWith.type.941: type = facet_type <@AddAssignWith, @AddAssignWith(%i32)> [concrete] // CHECK:STDOUT: %ImplicitAs.type.f7de31.2: type = facet_type <@ImplicitAs, @ImplicitAs(%Int.67af24.1)> [symbolic] // CHECK:STDOUT: %U.4e6: %ImplicitAs.type.f7de31.2 = symbolic_binding U, 1 [symbolic] @@ -907,27 +907,27 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.36a: = custom_witness (), @IntFitsIn, @IntFitsIn(%i32) [concrete] // CHECK:STDOUT: %Int.as.AnyInt.impl.AsInt.type.f15: type = fn_type @Int.as.AnyInt.impl.AsInt, @Int.as.AnyInt.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Int.as.AnyInt.impl.AsInt.d10: %Int.as.AnyInt.impl.AsInt.type.f15 = struct_value () [symbolic] -// CHECK:STDOUT: %AnyInt.impl_witness.5b3: = impl_witness imports.%AnyInt.impl_witness_table, @Int.as.AnyInt.impl(%int_32) [concrete] -// CHECK:STDOUT: %facet_value.b77: %facet_type.138 = facet_value %i32, (%custom_witness.36a, %AnyInt.impl_witness.5b3) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.007: = impl_witness imports.%ImplicitAs.impl_witness_table.3b9, @From.as_type.as.ImplicitAs.impl(%int_32, %facet_value.b77) [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.36a: %ImplicitAs.type.914 = facet_value %i32, (%ImplicitAs.impl_witness.007) [concrete] -// CHECK:STDOUT: %AddAssignWith.impl_witness.a04: = impl_witness imports.%AddAssignWith.impl_witness_table, @Int.as.AddAssignWith.impl(%int_32, %ImplicitAs.facet.36a) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.bff697.1: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%int_32, %ImplicitAs.facet.36a) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.050d02.1: %Int.as.AddAssignWith.impl.Op.type.bff697.1 = struct_value () [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.bff697.2: type = fn_type @Int.as.AddAssignWith.impl.Op.1, @Int.as.AddAssignWith.impl(%int_32, %ImplicitAs.facet.36a) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.050d02.2: %Int.as.AddAssignWith.impl.Op.type.bff697.2 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet.c2e: %AddAssignWith.type.941 = facet_value %i32, (%AddAssignWith.impl_witness.a04) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.916: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.c2e) [concrete] -// CHECK:STDOUT: %.e47d: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.916, %AddAssignWith.facet.c2e [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.a5cfa1.1: = specific_function %Int.as.AddAssignWith.impl.Op.050d02.2, @Int.as.AddAssignWith.impl.Op.1(%int_32, %ImplicitAs.facet.36a) [concrete] -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.a5cfa1.2: = specific_function %Int.as.AddAssignWith.impl.Op.050d02.1, @Int.as.AddAssignWith.impl.Op.2(%int_32, %ImplicitAs.facet.36a) [concrete] +// CHECK:STDOUT: %AnyInt.impl_witness.48c: = impl_witness imports.%AnyInt.impl_witness_table, @Int.as.AnyInt.impl(%int_32) [concrete] +// CHECK:STDOUT: %facet_value.cd1: %facet_type.138 = facet_value %i32, (%custom_witness.36a, %AnyInt.impl_witness.48c) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.1d8: = impl_witness imports.%ImplicitAs.impl_witness_table.992, @From.as_type.as.ImplicitAs.impl(%int_32, %facet_value.cd1) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.e88: %ImplicitAs.type.914 = facet_value %i32, (%ImplicitAs.impl_witness.1d8) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.e9d: = impl_witness imports.%AddAssignWith.impl_witness_table, @Int.as.AddAssignWith.impl(%int_32, %ImplicitAs.facet.e88) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.0b80aa.1: type = fn_type @Int.as.AddAssignWith.impl.Op.2, @Int.as.AddAssignWith.impl(%int_32, %ImplicitAs.facet.e88) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.d34738.1: %Int.as.AddAssignWith.impl.Op.type.0b80aa.1 = struct_value () [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.type.0b80aa.2: type = fn_type @Int.as.AddAssignWith.impl.Op.1, @Int.as.AddAssignWith.impl(%int_32, %ImplicitAs.facet.e88) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.d34738.2: %Int.as.AddAssignWith.impl.Op.type.0b80aa.2 = struct_value () [concrete] +// CHECK:STDOUT: %AddAssignWith.facet.e5e: %AddAssignWith.type.941 = facet_value %i32, (%AddAssignWith.impl_witness.e9d) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.640: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%i32, %AddAssignWith.facet.e5e) [concrete] +// CHECK:STDOUT: %.004: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.640, %AddAssignWith.facet.e5e [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.d76216.1: = specific_function %Int.as.AddAssignWith.impl.Op.d34738.2, @Int.as.AddAssignWith.impl.Op.1(%int_32, %ImplicitAs.facet.e88) [concrete] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.d76216.2: = specific_function %Int.as.AddAssignWith.impl.Op.d34738.1, @Int.as.AddAssignWith.impl.Op.2(%int_32, %ImplicitAs.facet.e88) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.9: type = fn_type @Destroy.Op.loc34_19.6 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.9: %Destroy.Op.type.1d8f74.9 = struct_value () [concrete] -// CHECK:STDOUT: %Destroy.lookup_impl_witness.d26: = lookup_impl_witness %impl.elem1.295, @Destroy [symbolic] -// CHECK:STDOUT: %Destroy.WithSelf.Op.type.71c: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1.295) [symbolic] -// CHECK:STDOUT: %.fa0: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.71c, %impl.elem1.295 [symbolic] -// CHECK:STDOUT: %impl.elem0.544: %.fa0 = impl_witness_access %Destroy.lookup_impl_witness.d26, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.fa9: = specific_impl_function %impl.elem0.544, @Destroy.WithSelf.Op(%impl.elem1.295) [symbolic] +// CHECK:STDOUT: %Destroy.lookup_impl_witness.3c4: = lookup_impl_witness %impl.elem1.595, @Destroy [symbolic] +// CHECK:STDOUT: %Destroy.WithSelf.Op.type.76f: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1.595) [symbolic] +// CHECK:STDOUT: %.2f2: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.76f, %impl.elem1.595 [symbolic] +// CHECK:STDOUT: %impl.elem0.528: %.2f2 = impl_witness_access %Destroy.lookup_impl_witness.3c4, element0 [symbolic] +// CHECK:STDOUT: %specific_impl_fn.dfd: = specific_impl_function %impl.elem0.528, @Destroy.WithSelf.Op(%impl.elem1.595) [symbolic] // CHECK:STDOUT: %MutableRange: type = class_type @MutableRange [concrete] // CHECK:STDOUT: %pattern_type.e635: type = pattern_type %MutableRange [concrete] // CHECK:STDOUT: %ConstRange: type = class_type @ConstRange [concrete] @@ -954,19 +954,19 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %NotEqual.type.53d9ee.1: type = fn_type @NotEqual.1 [concrete] // CHECK:STDOUT: %NotEqual.119263.1: %NotEqual.type.53d9ee.1 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.981: = custom_witness (%Equal.285b15.1, %NotEqual.119263.1), @EqWith, @EqWith(%Iterator.3ee) [concrete] -// CHECK:STDOUT: %facet_value.036: %CppRange_where.type.d682d6.1 = facet_value %MutableRange, (%custom_witness.df9cc1.3, %Copy.impl_witness.0e0, %custom_witness.ed3, %custom_witness.955, %custom_witness.ef8, %custom_witness.444, %custom_witness.981) [concrete] +// CHECK:STDOUT: %facet_value.c6e: %CppRange_where.type.d682d6.1 = facet_value %MutableRange, (%custom_witness.df9cc1.3, %Copy.impl_witness.b51, %custom_witness.ed3, %custom_witness.955, %custom_witness.ef8, %custom_witness.444, %custom_witness.981) [concrete] // CHECK:STDOUT: %tuple.type.508: type = tuple_type (%Iterator.3ee, %Iterator.3ee) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.10: type = fn_type @Destroy.Op.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.10: %Destroy.Op.type.1d8f74.10 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.df9cc1.10: = custom_witness (%Destroy.Op.1a2547.10), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.30f: %Destroy.type = facet_value %tuple.type.508, (%custom_witness.df9cc1.10) [concrete] -// CHECK:STDOUT: %Iterate.impl_witness.5c8: = impl_witness imports.%Iterate.impl_witness_table.978, @T.as_type.as.Iterate.impl(%facet_value.036) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.527: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.036) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.1f4: %T.as_type.as.Iterate.impl.NewCursor.type.527 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.630: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.036) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.acd: %T.as_type.as.Iterate.impl.Next.type.630 = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet.4b7: %Iterate.type = facet_value %MutableRange, (%Iterate.impl_witness.5c8) [concrete] -// CHECK:STDOUT: %facet_value.461: %Iterate_where.type.ec1 = facet_value %MutableRange, (%Iterate.impl_witness.5c8) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.0b0: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.c6e) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.540: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.c6e) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.45a: %T.as_type.as.Iterate.impl.NewCursor.type.540 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.9d1: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.c6e) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.a5b: %T.as_type.as.Iterate.impl.Next.type.9d1 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.facet.fdf: %Iterate.type = facet_value %MutableRange, (%Iterate.impl_witness.0b0) [concrete] +// CHECK:STDOUT: %facet_value.8a3: %Iterate_where.type.01c = facet_value %MutableRange, (%Iterate.impl_witness.0b0) [concrete] // CHECK:STDOUT: %r.param_patt.c79: %pattern_type.e635 = value_param_pattern [concrete] // CHECK:STDOUT: %r.patt.16f: %pattern_type.e635 = at_binding_pattern r, %r.param_patt.c79 [concrete] // CHECK:STDOUT: %Iterator.260: type = class_type @Iterator.2 [concrete] @@ -989,37 +989,37 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %NotEqual.type.53d9ee.2: type = fn_type @NotEqual.2 [concrete] // CHECK:STDOUT: %NotEqual.119263.2: %NotEqual.type.53d9ee.2 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.941: = custom_witness (%Equal.285b15.2, %NotEqual.119263.2), @EqWith, @EqWith(%Iterator.260) [concrete] -// CHECK:STDOUT: %facet_value.f06: %CppRange_where.type.d682d6.1 = facet_value %ConstRange, (%custom_witness.df9cc1.3, %Copy.impl_witness.0e0, %custom_witness.23e, %custom_witness.6e8, %custom_witness.adb, %custom_witness.746, %custom_witness.941) [concrete] +// CHECK:STDOUT: %facet_value.96f: %CppRange_where.type.d682d6.1 = facet_value %ConstRange, (%custom_witness.df9cc1.3, %Copy.impl_witness.b51, %custom_witness.23e, %custom_witness.6e8, %custom_witness.adb, %custom_witness.746, %custom_witness.941) [concrete] // CHECK:STDOUT: %tuple.type.69f: type = tuple_type (%Iterator.260, %Iterator.260) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.11: type = fn_type @Destroy.Op.3 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.11: %Destroy.Op.type.1d8f74.11 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.df9cc1.11: = custom_witness (%Destroy.Op.1a2547.11), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.e4c: %Destroy.type = facet_value %tuple.type.69f, (%custom_witness.df9cc1.11) [concrete] -// CHECK:STDOUT: %Iterate.impl_witness.aff: = impl_witness imports.%Iterate.impl_witness_table.978, @T.as_type.as.Iterate.impl(%facet_value.f06) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.c5f: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.f06) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.abb: %T.as_type.as.Iterate.impl.NewCursor.type.c5f = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.e60: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.f06) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.c8c: %T.as_type.as.Iterate.impl.Next.type.e60 = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet.158: %Iterate.type = facet_value %ConstRange, (%Iterate.impl_witness.aff) [concrete] -// CHECK:STDOUT: %facet_value.3ce: %Iterate_where.type.ec1 = facet_value %ConstRange, (%Iterate.impl_witness.aff) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.bb2: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.96f) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.356: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.96f) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.ab8: %T.as_type.as.Iterate.impl.NewCursor.type.356 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.64d: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.96f) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.a02: %T.as_type.as.Iterate.impl.Next.type.64d = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.facet.4c8: %Iterate.type = facet_value %ConstRange, (%Iterate.impl_witness.bb2) [concrete] +// CHECK:STDOUT: %facet_value.9af: %Iterate_where.type.01c = facet_value %ConstRange, (%Iterate.impl_witness.bb2) [concrete] // CHECK:STDOUT: %r.param_patt.83e: %pattern_type.0ba = value_param_pattern [concrete] // CHECK:STDOUT: %r.patt.116: %pattern_type.0ba = at_binding_pattern r, %r.param_patt.83e [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.43c: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.4b7) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.91a: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.4b7) [concrete] -// CHECK:STDOUT: %.317: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.43c, %Iterate.facet.4b7 [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn.a08: = specific_function %T.as_type.as.Iterate.impl.NewCursor.1f4, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.036) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.5e7: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.fdf) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.08a: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.fdf) [concrete] +// CHECK:STDOUT: %.641: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.5e7, %Iterate.facet.fdf [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn.b38: = specific_function %T.as_type.as.Iterate.impl.NewCursor.45a, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.c6e) [concrete] // CHECK:STDOUT: %ptr.45c: type = ptr_type %tuple.type.508 [concrete] -// CHECK:STDOUT: %.a39: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.91a, %Iterate.facet.4b7 [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn.bc3: = specific_function %T.as_type.as.Iterate.impl.Next.acd, @T.as_type.as.Iterate.impl.Next(%facet_value.036) [concrete] +// CHECK:STDOUT: %.d1b: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.08a, %Iterate.facet.fdf [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn.b5a: = specific_function %T.as_type.as.Iterate.impl.Next.a5b, @T.as_type.as.Iterate.impl.Next(%facet_value.c6e) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.c6c: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.30f) [concrete] // CHECK:STDOUT: %.0a4: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.c6c, %Destroy.facet.30f [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.f62: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.158) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.b3e: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.158) [concrete] -// CHECK:STDOUT: %.21e: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.f62, %Iterate.facet.158 [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn.266: = specific_function %T.as_type.as.Iterate.impl.NewCursor.abb, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.f06) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.9d7: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.4c8) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.f73: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.4c8) [concrete] +// CHECK:STDOUT: %.c93: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.9d7, %Iterate.facet.4c8 [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn.31a: = specific_function %T.as_type.as.Iterate.impl.NewCursor.ab8, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.96f) [concrete] // CHECK:STDOUT: %ptr.c5c: type = ptr_type %tuple.type.69f [concrete] -// CHECK:STDOUT: %.0ea: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.b3e, %Iterate.facet.158 [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn.249: = specific_function %T.as_type.as.Iterate.impl.Next.c8c, @T.as_type.as.Iterate.impl.Next(%facet_value.f06) [concrete] +// CHECK:STDOUT: %.fe6: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.f73, %Iterate.facet.4c8 [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn.480: = specific_function %T.as_type.as.Iterate.impl.Next.a02, @T.as_type.as.Iterate.impl.Next(%facet_value.96f) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.7ec: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.e4c) [concrete] // CHECK:STDOUT: %.0e7: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.7ec, %Destroy.facet.e4c [concrete] // CHECK:STDOUT: %complete_type.c28: = complete_type_witness %tuple.type.508 [concrete] @@ -1028,23 +1028,23 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.bb6: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.e9e) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.6cd)] -// CHECK:STDOUT: %Core.import_ref.daba: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] +// CHECK:STDOUT: %Core.import_ref.dab: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] // CHECK:STDOUT: %Core.import_ref.0c6: type = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%DefaultOptionalStorage (constants.%DefaultOptionalStorage.d50)] // CHECK:STDOUT: %Core.import_ref.dc3: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None.type (%T.as_type.as.OptionalStorage.impl.None.type.0a1) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None (constants.%T.as_type.as.OptionalStorage.impl.None.e06)] // CHECK:STDOUT: %Core.import_ref.c53: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some.type (%T.as_type.as.OptionalStorage.impl.Some.type.492) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some (constants.%T.as_type.as.OptionalStorage.impl.Some.89a)] // CHECK:STDOUT: %Core.import_ref.ed4: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has.type (%T.as_type.as.OptionalStorage.impl.Has.type.e5a) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has (constants.%T.as_type.as.OptionalStorage.impl.Has.4ee)] // CHECK:STDOUT: %Core.import_ref.e9c: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get.type (%T.as_type.as.OptionalStorage.impl.Get.type.a12) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get (constants.%T.as_type.as.OptionalStorage.impl.Get.d32)] // CHECK:STDOUT: %Core.import_ref.0b2 = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.cfa = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.460 = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.eef: %facet_type.f48 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.f93)] // CHECK:STDOUT: %Core.import_ref.fcc: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9cd)] // CHECK:STDOUT: %Core.import_ref.fd1: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.953) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor (constants.%T.as_type.as.Iterate.impl.NewCursor.544)] // CHECK:STDOUT: %Core.import_ref.273: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next.type (%T.as_type.as.Iterate.impl.Next.type.b36) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next (constants.%T.as_type.as.Iterate.impl.Next.d6b)] -// CHECK:STDOUT: %Iterate.impl_witness_table.978 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] +// CHECK:STDOUT: %Iterate.impl_witness_table.121 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.2a4: @From.as_type.as.ImplicitAs.impl.%From.as_type.as.ImplicitAs.impl.Convert.type (%From.as_type.as.ImplicitAs.impl.Convert.type.7fa) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @From.as_type.as.ImplicitAs.impl.%From.as_type.as.ImplicitAs.impl.Convert (constants.%From.as_type.as.ImplicitAs.impl.Convert.643)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.3b9 = impl_witness_table (%Core.import_ref.2a4), @From.as_type.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.992 = impl_witness_table (%Core.import_ref.2a4), @From.as_type.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.098: @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.type.2 (%Int.as.AddAssignWith.impl.Op.type.a58fbe.1) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.2 (constants.%Int.as.AddAssignWith.impl.Op.45b360.1)] // CHECK:STDOUT: %AddAssignWith.impl_witness_table = impl_witness_table (%Core.import_ref.098), @Int.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.1b1: @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.type.1 (%Int.as.AddAssignWith.impl.Op.type.a58fbe.2) = import_ref Core//prelude/types/int, Op, loaded [symbolic = @Int.as.AddAssignWith.impl.%Int.as.AddAssignWith.impl.Op.1 (constants.%Int.as.AddAssignWith.impl.Op.45b360.2)] @@ -1053,28 +1053,28 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %AnyInt.impl_witness_table = impl_witness_table (%Core.import_ref.47b, %Core.import_ref.49b), @Int.as.AnyInt.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @TestIterate(%R.loc30_17.2: %Iterate_where.type.ec1) { +// CHECK:STDOUT: generic fn @TestIterate(%R.loc30_17.2: %Iterate_where.type.01c) { // CHECK:STDOUT: // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: %Iterate.lookup_impl_witness: = lookup_impl_witness %R.loc30_17.1, @Iterate [symbolic = %Iterate.lookup_impl_witness (constants.%Iterate.lookup_impl_witness.18b)] -// CHECK:STDOUT: %Iterate.facet.loc34_19.5: %Iterate.type = facet_value %R.as_type.loc30_61.1, (%Iterate.lookup_impl_witness) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.353)] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.loc34_19.5) [symbolic = %Iterate.WithSelf.NewCursor.type (constants.%Iterate.WithSelf.NewCursor.type.8fb)] -// CHECK:STDOUT: %.loc34_19.19: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type, %Iterate.facet.loc34_19.5 [symbolic = %.loc34_19.19 (constants.%.985)] -// CHECK:STDOUT: %impl.elem2.loc34_19.2: @TestIterate.%.loc34_19.19 (%.985) = impl_witness_access %Iterate.lookup_impl_witness, element2 [symbolic = %impl.elem2.loc34_19.2 (constants.%impl.elem2.8ec)] -// CHECK:STDOUT: %specific_impl_fn.loc34_19.4: = specific_impl_function %impl.elem2.loc34_19.2, @Iterate.WithSelf.NewCursor(%Iterate.facet.loc34_19.5) [symbolic = %specific_impl_fn.loc34_19.4 (constants.%specific_impl_fn.9ca)] +// CHECK:STDOUT: %Iterate.lookup_impl_witness: = lookup_impl_witness %R.loc30_17.1, @Iterate [symbolic = %Iterate.lookup_impl_witness (constants.%Iterate.lookup_impl_witness.403)] +// CHECK:STDOUT: %Iterate.facet.loc34_19.5: %Iterate.type = facet_value %R.as_type.loc30_61.1, (%Iterate.lookup_impl_witness) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.a7e)] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.loc34_19.5) [symbolic = %Iterate.WithSelf.NewCursor.type (constants.%Iterate.WithSelf.NewCursor.type.d86)] +// CHECK:STDOUT: %.loc34_19.19: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type, %Iterate.facet.loc34_19.5 [symbolic = %.loc34_19.19 (constants.%.7f7)] +// CHECK:STDOUT: %impl.elem2.loc34_19.2: @TestIterate.%.loc34_19.19 (%.7f7) = impl_witness_access %Iterate.lookup_impl_witness, element2 [symbolic = %impl.elem2.loc34_19.2 (constants.%impl.elem2.680)] +// CHECK:STDOUT: %specific_impl_fn.loc34_19.4: = specific_impl_function %impl.elem2.loc34_19.2, @Iterate.WithSelf.NewCursor(%Iterate.facet.loc34_19.5) [symbolic = %specific_impl_fn.loc34_19.4 (constants.%specific_impl_fn.740)] // CHECK:STDOUT: -// CHECK:STDOUT: %ptr: type = ptr_type %as_type [symbolic = %ptr (constants.%ptr.2ef)] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.loc34_19.5) [symbolic = %Iterate.WithSelf.Next.type (constants.%Iterate.WithSelf.Next.type.830)] -// CHECK:STDOUT: %.loc34_19.20: type = fn_type_with_self_type %Iterate.WithSelf.Next.type, %Iterate.facet.loc34_19.5 [symbolic = %.loc34_19.20 (constants.%.f86)] -// CHECK:STDOUT: %impl.elem3.loc34_19.2: @TestIterate.%.loc34_19.20 (%.f86) = impl_witness_access %Iterate.lookup_impl_witness, element3 [symbolic = %impl.elem3.loc34_19.2 (constants.%impl.elem3.5f7)] -// CHECK:STDOUT: %specific_impl_fn.loc34_19.5: = specific_impl_function %impl.elem3.loc34_19.2, @Iterate.WithSelf.Next(%Iterate.facet.loc34_19.5) [symbolic = %specific_impl_fn.loc34_19.5 (constants.%specific_impl_fn.9a8)] -// CHECK:STDOUT: %Destroy.WithSelf.Op.type: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1) [symbolic = %Destroy.WithSelf.Op.type (constants.%Destroy.WithSelf.Op.type.71c)] -// CHECK:STDOUT: %.loc34_19.21: type = fn_type_with_self_type %Destroy.WithSelf.Op.type, %impl.elem1 [symbolic = %.loc34_19.21 (constants.%.fa0)] -// CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %impl.elem1, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness.d26)] -// CHECK:STDOUT: %impl.elem0.loc34_19.2: @TestIterate.%.loc34_19.21 (%.fa0) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc34_19.2 (constants.%impl.elem0.544)] -// CHECK:STDOUT: %specific_impl_fn.loc34_19.6: = specific_impl_function %impl.elem0.loc34_19.2, @Destroy.WithSelf.Op(%impl.elem1) [symbolic = %specific_impl_fn.loc34_19.6 (constants.%specific_impl_fn.fa9)] +// CHECK:STDOUT: %ptr: type = ptr_type %as_type [symbolic = %ptr (constants.%ptr.d7f)] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.loc34_19.5) [symbolic = %Iterate.WithSelf.Next.type (constants.%Iterate.WithSelf.Next.type.7ad)] +// CHECK:STDOUT: %.loc34_19.20: type = fn_type_with_self_type %Iterate.WithSelf.Next.type, %Iterate.facet.loc34_19.5 [symbolic = %.loc34_19.20 (constants.%.339)] +// CHECK:STDOUT: %impl.elem3.loc34_19.2: @TestIterate.%.loc34_19.20 (%.339) = impl_witness_access %Iterate.lookup_impl_witness, element3 [symbolic = %impl.elem3.loc34_19.2 (constants.%impl.elem3.ffb)] +// CHECK:STDOUT: %specific_impl_fn.loc34_19.5: = specific_impl_function %impl.elem3.loc34_19.2, @Iterate.WithSelf.Next(%Iterate.facet.loc34_19.5) [symbolic = %specific_impl_fn.loc34_19.5 (constants.%specific_impl_fn.c09)] +// CHECK:STDOUT: %Destroy.WithSelf.Op.type: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1) [symbolic = %Destroy.WithSelf.Op.type (constants.%Destroy.WithSelf.Op.type.76f)] +// CHECK:STDOUT: %.loc34_19.21: type = fn_type_with_self_type %Destroy.WithSelf.Op.type, %impl.elem1 [symbolic = %.loc34_19.21 (constants.%.2f2)] +// CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %impl.elem1, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness.3c4)] +// CHECK:STDOUT: %impl.elem0.loc34_19.2: @TestIterate.%.loc34_19.21 (%.2f2) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc34_19.2 (constants.%impl.elem0.528)] +// CHECK:STDOUT: %specific_impl_fn.loc34_19.6: = specific_impl_function %impl.elem0.loc34_19.2, @Destroy.WithSelf.Op(%impl.elem1) [symbolic = %specific_impl_fn.loc34_19.6 (constants.%specific_impl_fn.dfd)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%r.param: @TestIterate.%R.as_type.loc30_61.1 (%R.as_type)) { // CHECK:STDOUT: !entry: @@ -1083,52 +1083,52 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt: %pattern_type.6b6 = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %r.ref: @TestIterate.%R.as_type.loc30_61.1 (%R.as_type) = name_ref r, %r -// CHECK:STDOUT: %impl.elem2.loc34_19.1: @TestIterate.%.loc34_19.19 (%.985) = impl_witness_access constants.%Iterate.lookup_impl_witness.18b, element2 [symbolic = %impl.elem2.loc34_19.2 (constants.%impl.elem2.8ec)] +// CHECK:STDOUT: %impl.elem2.loc34_19.1: @TestIterate.%.loc34_19.19 (%.7f7) = impl_witness_access constants.%Iterate.lookup_impl_witness.403, element2 [symbolic = %impl.elem2.loc34_19.2 (constants.%impl.elem2.680)] // CHECK:STDOUT: %bound_method.loc34_19.1: = bound_method %r.ref, %impl.elem2.loc34_19.1 -// CHECK:STDOUT: %Iterate.facet.loc34_19.1: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.18b) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.353)] -// CHECK:STDOUT: %.loc34_19.1: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc34_19.1 [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.353)] -// CHECK:STDOUT: %Iterate.facet.loc34_19.2: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.18b) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.353)] -// CHECK:STDOUT: %.loc34_19.2: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc34_19.2 [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.353)] -// CHECK:STDOUT: %specific_impl_fn.loc34_19.1: = specific_impl_function %impl.elem2.loc34_19.1, @Iterate.WithSelf.NewCursor(constants.%Iterate.facet.353) [symbolic = %specific_impl_fn.loc34_19.4 (constants.%specific_impl_fn.9ca)] +// CHECK:STDOUT: %Iterate.facet.loc34_19.1: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.403) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.a7e)] +// CHECK:STDOUT: %.loc34_19.1: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc34_19.1 [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.a7e)] +// CHECK:STDOUT: %Iterate.facet.loc34_19.2: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.403) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.a7e)] +// CHECK:STDOUT: %.loc34_19.2: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc34_19.2 [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.a7e)] +// CHECK:STDOUT: %specific_impl_fn.loc34_19.1: = specific_impl_function %impl.elem2.loc34_19.1, @Iterate.WithSelf.NewCursor(constants.%Iterate.facet.a7e) [symbolic = %specific_impl_fn.loc34_19.4 (constants.%specific_impl_fn.740)] // CHECK:STDOUT: %bound_method.loc34_19.2: = bound_method %r.ref, %specific_impl_fn.loc34_19.1 -// CHECK:STDOUT: %var: ref @TestIterate.%as_type (%as_type.c8a) = var_storage invalid -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.call: init @TestIterate.%as_type (%as_type.c8a) to %var = call %bound_method.loc34_19.2(%r.ref) +// CHECK:STDOUT: %var: ref @TestIterate.%as_type (%as_type.038) = var_storage invalid +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.call: init @TestIterate.%as_type (%as_type.038) to %var = call %bound_method.loc34_19.2(%r.ref) // CHECK:STDOUT: assign %var, %Iterate.WithSelf.NewCursor.call // CHECK:STDOUT: br !for.next // CHECK:STDOUT: // CHECK:STDOUT: !for.next: -// CHECK:STDOUT: %addr: @TestIterate.%ptr (%ptr.2ef) = addr_of %var -// CHECK:STDOUT: %impl.elem3.loc34_19.1: @TestIterate.%.loc34_19.20 (%.f86) = impl_witness_access constants.%Iterate.lookup_impl_witness.18b, element3 [symbolic = %impl.elem3.loc34_19.2 (constants.%impl.elem3.5f7)] +// CHECK:STDOUT: %addr: @TestIterate.%ptr (%ptr.d7f) = addr_of %var +// CHECK:STDOUT: %impl.elem3.loc34_19.1: @TestIterate.%.loc34_19.20 (%.339) = impl_witness_access constants.%Iterate.lookup_impl_witness.403, element3 [symbolic = %impl.elem3.loc34_19.2 (constants.%impl.elem3.ffb)] // CHECK:STDOUT: %bound_method.loc34_19.3: = bound_method %r.ref, %impl.elem3.loc34_19.1 -// CHECK:STDOUT: %Iterate.facet.loc34_19.3: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.18b) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.353)] -// CHECK:STDOUT: %.loc34_19.3: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc34_19.3 [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.353)] -// CHECK:STDOUT: %Iterate.facet.loc34_19.4: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.18b) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.353)] -// CHECK:STDOUT: %.loc34_19.4: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc34_19.4 [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.353)] -// CHECK:STDOUT: %.loc34_19.5: %Destroy.type = converted constants.%as_type.c8a, constants.%impl.elem1.295 [symbolic = %impl.elem1 (constants.%impl.elem1.295)] -// CHECK:STDOUT: %.loc34_19.6: %Destroy.type = converted constants.%as_type.c8a, constants.%impl.elem1.295 [symbolic = %impl.elem1 (constants.%impl.elem1.295)] -// CHECK:STDOUT: %specific_impl_fn.loc34_19.2: = specific_impl_function %impl.elem3.loc34_19.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.353) [symbolic = %specific_impl_fn.loc34_19.5 (constants.%specific_impl_fn.9a8)] +// CHECK:STDOUT: %Iterate.facet.loc34_19.3: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.403) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.a7e)] +// CHECK:STDOUT: %.loc34_19.3: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc34_19.3 [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.a7e)] +// CHECK:STDOUT: %Iterate.facet.loc34_19.4: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.403) [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.a7e)] +// CHECK:STDOUT: %.loc34_19.4: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc34_19.4 [symbolic = %Iterate.facet.loc34_19.5 (constants.%Iterate.facet.a7e)] +// CHECK:STDOUT: %.loc34_19.5: %Destroy.type = converted constants.%as_type.038, constants.%impl.elem1.595 [symbolic = %impl.elem1 (constants.%impl.elem1.595)] +// CHECK:STDOUT: %.loc34_19.6: %Destroy.type = converted constants.%as_type.038, constants.%impl.elem1.595 [symbolic = %impl.elem1 (constants.%impl.elem1.595)] +// CHECK:STDOUT: %specific_impl_fn.loc34_19.2: = specific_impl_function %impl.elem3.loc34_19.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.a7e) [symbolic = %specific_impl_fn.loc34_19.5 (constants.%specific_impl_fn.c09)] // CHECK:STDOUT: %bound_method.loc34_19.4: = bound_method %r.ref, %specific_impl_fn.loc34_19.2 -// CHECK:STDOUT: %.loc34_19.7: ref %Optional.64e = temporary_storage -// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.64e to %.loc34_19.7 = call %bound_method.loc34_19.4(%r.ref, %addr) -// CHECK:STDOUT: %.loc34_19.8: ref %Optional.64e = temporary %.loc34_19.7, %Iterate.WithSelf.Next.call -// CHECK:STDOUT: %.loc34_19.9: %Optional.HasValue.type.cf4 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.HasValue.834] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.cf4 = name_ref HasValue, %.loc34_19.9 [concrete = constants.%Optional.HasValue.834] +// CHECK:STDOUT: %.loc34_19.7: ref %Optional.755 = temporary_storage +// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.755 to %.loc34_19.7 = call %bound_method.loc34_19.4(%r.ref, %addr) +// CHECK:STDOUT: %.loc34_19.8: ref %Optional.755 = temporary %.loc34_19.7, %Iterate.WithSelf.Next.call +// CHECK:STDOUT: %.loc34_19.9: %Optional.HasValue.type.af3 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.HasValue.4f6] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.af3 = name_ref HasValue, %.loc34_19.9 [concrete = constants.%Optional.HasValue.4f6] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc34_19.8, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.HasValue.specific_fn.da7] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.HasValue.specific_fn.b8c] // CHECK:STDOUT: %bound_method.loc34_19.5: = bound_method %.loc34_19.8, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc34_19.10: %Optional.64e = acquire_value %.loc34_19.8 +// CHECK:STDOUT: %.loc34_19.10: %Optional.755 = acquire_value %.loc34_19.8 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc34_19.5(%.loc34_19.10) // CHECK:STDOUT: %.loc34_19.11: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc34_19.12: bool = converted %Optional.HasValue.call, %.loc34_19.11 // CHECK:STDOUT: if %.loc34_19.12 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc34_19.13: %Optional.Get.type.a6a = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.Get.78e] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.a6a = name_ref Get, %.loc34_19.13 [concrete = constants.%Optional.Get.78e] +// CHECK:STDOUT: %.loc34_19.13: %Optional.Get.type.336 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.Get.0a8] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.336 = name_ref Get, %.loc34_19.13 [concrete = constants.%Optional.Get.0a8] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc34_19.8, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.Get.specific_fn.bec] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.Get.specific_fn.fc5] // CHECK:STDOUT: %bound_method.loc34_19.6: = bound_method %.loc34_19.8, %Optional.Get.specific_fn -// CHECK:STDOUT: %.loc34_19.14: %Optional.64e = acquire_value %.loc34_19.8 +// CHECK:STDOUT: %.loc34_19.14: %Optional.755 = acquire_value %.loc34_19.8 // CHECK:STDOUT: %Optional.Get.call: init %i32 = call %bound_method.loc34_19.6(%.loc34_19.14) // CHECK:STDOUT: %.loc34_19.15: %i32 = value_of_initializer %Optional.Get.call // CHECK:STDOUT: %.loc34_19.16: %i32 = converted %Optional.Get.call, %.loc34_19.15 @@ -1136,14 +1136,14 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i: %i32 = wrapper_binding i, %.loc34_19.16 // CHECK:STDOUT: %sum.ref: ref %i32 = name_ref sum, %sum // CHECK:STDOUT: %i.ref: %i32 = name_ref i, %i -// CHECK:STDOUT: %impl.elem0.loc35: %.e47d = impl_witness_access constants.%AddAssignWith.impl_witness.a04, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.050d02.2] +// CHECK:STDOUT: %impl.elem0.loc35: %.004 = impl_witness_access constants.%AddAssignWith.impl_witness.e9d, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.d34738.2] // CHECK:STDOUT: %bound_method.loc35_9.1: = bound_method %sum.ref, %impl.elem0.loc35 -// CHECK:STDOUT: %specific_fn.loc35: = specific_function %impl.elem0.loc35, @Int.as.AddAssignWith.impl.Op.1(constants.%int_32, constants.%ImplicitAs.facet.36a) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.a5cfa1.1] +// CHECK:STDOUT: %specific_fn.loc35: = specific_function %impl.elem0.loc35, @Int.as.AddAssignWith.impl.Op.1(constants.%int_32, constants.%ImplicitAs.facet.e88) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.d76216.1] // CHECK:STDOUT: %bound_method.loc35_9.2: = bound_method %sum.ref, %specific_fn.loc35 -// CHECK:STDOUT: %.loc35: %Int.as.AddAssignWith.impl.Op.type.bff697.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_32, constants.%ImplicitAs.facet.36a) [concrete = constants.%Int.as.AddAssignWith.impl.Op.050d02.1] -// CHECK:STDOUT: %Op.ref: %Int.as.AddAssignWith.impl.Op.type.bff697.1 = name_ref Op, %.loc35 [concrete = constants.%Int.as.AddAssignWith.impl.Op.050d02.1] +// CHECK:STDOUT: %.loc35: %Int.as.AddAssignWith.impl.Op.type.0b80aa.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_32, constants.%ImplicitAs.facet.e88) [concrete = constants.%Int.as.AddAssignWith.impl.Op.d34738.1] +// CHECK:STDOUT: %Op.ref: %Int.as.AddAssignWith.impl.Op.type.0b80aa.1 = name_ref Op, %.loc35 [concrete = constants.%Int.as.AddAssignWith.impl.Op.d34738.1] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.bound: = bound_method %sum.ref, %Op.ref -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Int.as.AddAssignWith.impl.Op.2(constants.%int_32, constants.%ImplicitAs.facet.36a) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.a5cfa1.2] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Op.ref, @Int.as.AddAssignWith.impl.Op.2(constants.%int_32, constants.%ImplicitAs.facet.e88) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.d76216.2] // CHECK:STDOUT: %bound_method.loc35_9.3: = bound_method %sum.ref, %Int.as.AddAssignWith.impl.Op.specific_fn // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method.loc35_9.3(%sum.ref, %i.ref) // CHECK:STDOUT: %Destroy.Op.bound.loc34_19.1: = bound_method %.loc34_19.8, constants.%Destroy.Op.1a2547.9 @@ -1153,11 +1153,11 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: !for.done: // CHECK:STDOUT: %Destroy.Op.bound.loc34_19.2: = bound_method %.loc34_19.8, constants.%Destroy.Op.1a2547.9 // CHECK:STDOUT: %Destroy.Op.call.loc34_19.2: init %empty_tuple.type = call %Destroy.Op.bound.loc34_19.2(%.loc34_19.8) -// CHECK:STDOUT: %impl.elem0.loc34_19.1: @TestIterate.%.loc34_19.21 (%.fa0) = impl_witness_access constants.%Destroy.lookup_impl_witness.d26, element0 [symbolic = %impl.elem0.loc34_19.2 (constants.%impl.elem0.544)] +// CHECK:STDOUT: %impl.elem0.loc34_19.1: @TestIterate.%.loc34_19.21 (%.2f2) = impl_witness_access constants.%Destroy.lookup_impl_witness.3c4, element0 [symbolic = %impl.elem0.loc34_19.2 (constants.%impl.elem0.528)] // CHECK:STDOUT: %bound_method.loc34_19.7: = bound_method %var, %impl.elem0.loc34_19.1 -// CHECK:STDOUT: %.loc34_19.17: %Destroy.type = converted constants.%as_type.c8a, constants.%impl.elem1.295 [symbolic = %impl.elem1 (constants.%impl.elem1.295)] -// CHECK:STDOUT: %.loc34_19.18: %Destroy.type = converted constants.%as_type.c8a, constants.%impl.elem1.295 [symbolic = %impl.elem1 (constants.%impl.elem1.295)] -// CHECK:STDOUT: %specific_impl_fn.loc34_19.3: = specific_impl_function %impl.elem0.loc34_19.1, @Destroy.WithSelf.Op(constants.%impl.elem1.295) [symbolic = %specific_impl_fn.loc34_19.6 (constants.%specific_impl_fn.fa9)] +// CHECK:STDOUT: %.loc34_19.17: %Destroy.type = converted constants.%as_type.038, constants.%impl.elem1.595 [symbolic = %impl.elem1 (constants.%impl.elem1.595)] +// CHECK:STDOUT: %.loc34_19.18: %Destroy.type = converted constants.%as_type.038, constants.%impl.elem1.595 [symbolic = %impl.elem1 (constants.%impl.elem1.595)] +// CHECK:STDOUT: %specific_impl_fn.loc34_19.3: = specific_impl_function %impl.elem0.loc34_19.1, @Destroy.WithSelf.Op(constants.%impl.elem1.595) [symbolic = %specific_impl_fn.loc34_19.6 (constants.%specific_impl_fn.dfd)] // CHECK:STDOUT: %bound_method.loc34_19.8: = bound_method %var, %specific_impl_fn.loc34_19.3 // CHECK:STDOUT: %Destroy.WithSelf.Op.call: init %empty_tuple.type = call %bound_method.loc34_19.8(%var) // CHECK:STDOUT: @@ -1181,12 +1181,12 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc34_19.5(%self.param: ref %DefaultOptionalStorage.970) { +// CHECK:STDOUT: fn @Destroy.Op.loc34_19.5(%self.param: ref %DefaultOptionalStorage.bfa) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc34_19.6(%self.param: ref %Optional.64e) { +// CHECK:STDOUT: fn @Destroy.Op.loc34_19.6(%self.param: ref %Optional.755) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1198,13 +1198,13 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt.loc49: %pattern_type.6b6 = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %m.ref: ref %MutableRange = name_ref m, %m -// CHECK:STDOUT: %impl.elem2.loc49: %.317 = impl_witness_access constants.%Iterate.impl_witness.5c8, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.1f4] +// CHECK:STDOUT: %impl.elem2.loc49: %.641 = impl_witness_access constants.%Iterate.impl_witness.0b0, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.45a] // CHECK:STDOUT: %bound_method.loc49_19.1: = bound_method %m.ref, %impl.elem2.loc49 -// CHECK:STDOUT: %facet_value.loc49_19.1: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0e0, constants.%custom_witness.ed3, constants.%custom_witness.955, constants.%custom_witness.ef8, constants.%custom_witness.444, constants.%custom_witness.981) [concrete = constants.%facet_value.036] -// CHECK:STDOUT: %.loc49_19.1: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc49_19.1 [concrete = constants.%facet_value.036] -// CHECK:STDOUT: %facet_value.loc49_19.2: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0e0, constants.%custom_witness.ed3, constants.%custom_witness.955, constants.%custom_witness.ef8, constants.%custom_witness.444, constants.%custom_witness.981) [concrete = constants.%facet_value.036] -// CHECK:STDOUT: %.loc49_19.2: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc49_19.2 [concrete = constants.%facet_value.036] -// CHECK:STDOUT: %specific_fn.loc49_19.1: = specific_function %impl.elem2.loc49, @T.as_type.as.Iterate.impl.NewCursor(constants.%facet_value.036) [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.a08] +// CHECK:STDOUT: %facet_value.loc49_19.1: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.b51, constants.%custom_witness.ed3, constants.%custom_witness.955, constants.%custom_witness.ef8, constants.%custom_witness.444, constants.%custom_witness.981) [concrete = constants.%facet_value.c6e] +// CHECK:STDOUT: %.loc49_19.1: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc49_19.1 [concrete = constants.%facet_value.c6e] +// CHECK:STDOUT: %facet_value.loc49_19.2: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.b51, constants.%custom_witness.ed3, constants.%custom_witness.955, constants.%custom_witness.ef8, constants.%custom_witness.444, constants.%custom_witness.981) [concrete = constants.%facet_value.c6e] +// CHECK:STDOUT: %.loc49_19.2: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc49_19.2 [concrete = constants.%facet_value.c6e] +// CHECK:STDOUT: %specific_fn.loc49_19.1: = specific_function %impl.elem2.loc49, @T.as_type.as.Iterate.impl.NewCursor(constants.%facet_value.c6e) [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.b38] // CHECK:STDOUT: %bound_method.loc49_19.2: = bound_method %m.ref, %specific_fn.loc49_19.1 // CHECK:STDOUT: %var.loc49: ref %tuple.type.508 = var_storage invalid // CHECK:STDOUT: %.loc49_18.1: %MutableRange = acquire_value %m.ref @@ -1214,36 +1214,36 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !for.next.loc49: // CHECK:STDOUT: %addr.loc49: %ptr.45c = addr_of %var.loc49 -// CHECK:STDOUT: %impl.elem3.loc49: %.a39 = impl_witness_access constants.%Iterate.impl_witness.5c8, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.acd] +// CHECK:STDOUT: %impl.elem3.loc49: %.d1b = impl_witness_access constants.%Iterate.impl_witness.0b0, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.a5b] // CHECK:STDOUT: %bound_method.loc49_19.3: = bound_method %m.ref, %impl.elem3.loc49 -// CHECK:STDOUT: %facet_value.loc49_19.3: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0e0, constants.%custom_witness.ed3, constants.%custom_witness.955, constants.%custom_witness.ef8, constants.%custom_witness.444, constants.%custom_witness.981) [concrete = constants.%facet_value.036] -// CHECK:STDOUT: %.loc49_19.3: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc49_19.3 [concrete = constants.%facet_value.036] -// CHECK:STDOUT: %facet_value.loc49_19.4: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0e0, constants.%custom_witness.ed3, constants.%custom_witness.955, constants.%custom_witness.ef8, constants.%custom_witness.444, constants.%custom_witness.981) [concrete = constants.%facet_value.036] -// CHECK:STDOUT: %.loc49_19.4: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc49_19.4 [concrete = constants.%facet_value.036] -// CHECK:STDOUT: %specific_fn.loc49_19.2: = specific_function %impl.elem3.loc49, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.036) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn.bc3] +// CHECK:STDOUT: %facet_value.loc49_19.3: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.b51, constants.%custom_witness.ed3, constants.%custom_witness.955, constants.%custom_witness.ef8, constants.%custom_witness.444, constants.%custom_witness.981) [concrete = constants.%facet_value.c6e] +// CHECK:STDOUT: %.loc49_19.3: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc49_19.3 [concrete = constants.%facet_value.c6e] +// CHECK:STDOUT: %facet_value.loc49_19.4: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.b51, constants.%custom_witness.ed3, constants.%custom_witness.955, constants.%custom_witness.ef8, constants.%custom_witness.444, constants.%custom_witness.981) [concrete = constants.%facet_value.c6e] +// CHECK:STDOUT: %.loc49_19.4: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc49_19.4 [concrete = constants.%facet_value.c6e] +// CHECK:STDOUT: %specific_fn.loc49_19.2: = specific_function %impl.elem3.loc49, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.c6e) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn.b5a] // CHECK:STDOUT: %bound_method.loc49_19.4: = bound_method %m.ref, %specific_fn.loc49_19.2 -// CHECK:STDOUT: %.loc49_19.5: ref %Optional.64e = temporary_storage +// CHECK:STDOUT: %.loc49_19.5: ref %Optional.755 = temporary_storage // CHECK:STDOUT: %.loc49_18.2: %MutableRange = acquire_value %m.ref -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call.loc49: init %Optional.64e to %.loc49_19.5 = call %bound_method.loc49_19.4(%.loc49_18.2, %addr.loc49) -// CHECK:STDOUT: %.loc49_19.6: ref %Optional.64e = temporary %.loc49_19.5, %T.as_type.as.Iterate.impl.Next.call.loc49 -// CHECK:STDOUT: %.loc49_19.7: %Optional.HasValue.type.cf4 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.HasValue.834] -// CHECK:STDOUT: %HasValue.ref.loc49: %Optional.HasValue.type.cf4 = name_ref HasValue, %.loc49_19.7 [concrete = constants.%Optional.HasValue.834] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call.loc49: init %Optional.755 to %.loc49_19.5 = call %bound_method.loc49_19.4(%.loc49_18.2, %addr.loc49) +// CHECK:STDOUT: %.loc49_19.6: ref %Optional.755 = temporary %.loc49_19.5, %T.as_type.as.Iterate.impl.Next.call.loc49 +// CHECK:STDOUT: %.loc49_19.7: %Optional.HasValue.type.af3 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.HasValue.4f6] +// CHECK:STDOUT: %HasValue.ref.loc49: %Optional.HasValue.type.af3 = name_ref HasValue, %.loc49_19.7 [concrete = constants.%Optional.HasValue.4f6] // CHECK:STDOUT: %Optional.HasValue.bound.loc49: = bound_method %.loc49_19.6, %HasValue.ref.loc49 -// CHECK:STDOUT: %Optional.HasValue.specific_fn.loc49: = specific_function %HasValue.ref.loc49, @Optional.HasValue(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.HasValue.specific_fn.da7] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.loc49: = specific_function %HasValue.ref.loc49, @Optional.HasValue(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.HasValue.specific_fn.b8c] // CHECK:STDOUT: %bound_method.loc49_19.5: = bound_method %.loc49_19.6, %Optional.HasValue.specific_fn.loc49 -// CHECK:STDOUT: %.loc49_19.8: %Optional.64e = acquire_value %.loc49_19.6 +// CHECK:STDOUT: %.loc49_19.8: %Optional.755 = acquire_value %.loc49_19.6 // CHECK:STDOUT: %Optional.HasValue.call.loc49: init bool = call %bound_method.loc49_19.5(%.loc49_19.8) // CHECK:STDOUT: %.loc49_19.9: bool = value_of_initializer %Optional.HasValue.call.loc49 // CHECK:STDOUT: %.loc49_19.10: bool = converted %Optional.HasValue.call.loc49, %.loc49_19.9 // CHECK:STDOUT: if %.loc49_19.10 br !for.body.loc49 else br !for.done.loc49 // CHECK:STDOUT: // CHECK:STDOUT: !for.body.loc49: -// CHECK:STDOUT: %.loc49_19.11: %Optional.Get.type.a6a = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.Get.78e] -// CHECK:STDOUT: %Get.ref.loc49: %Optional.Get.type.a6a = name_ref Get, %.loc49_19.11 [concrete = constants.%Optional.Get.78e] +// CHECK:STDOUT: %.loc49_19.11: %Optional.Get.type.336 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.Get.0a8] +// CHECK:STDOUT: %Get.ref.loc49: %Optional.Get.type.336 = name_ref Get, %.loc49_19.11 [concrete = constants.%Optional.Get.0a8] // CHECK:STDOUT: %Optional.Get.bound.loc49: = bound_method %.loc49_19.6, %Get.ref.loc49 -// CHECK:STDOUT: %Optional.Get.specific_fn.loc49: = specific_function %Get.ref.loc49, @Optional.Get(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.Get.specific_fn.bec] +// CHECK:STDOUT: %Optional.Get.specific_fn.loc49: = specific_function %Get.ref.loc49, @Optional.Get(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.Get.specific_fn.fc5] // CHECK:STDOUT: %bound_method.loc49_19.6: = bound_method %.loc49_19.6, %Optional.Get.specific_fn.loc49 -// CHECK:STDOUT: %.loc49_19.12: %Optional.64e = acquire_value %.loc49_19.6 +// CHECK:STDOUT: %.loc49_19.12: %Optional.755 = acquire_value %.loc49_19.6 // CHECK:STDOUT: %Optional.Get.call.loc49: init %i32 = call %bound_method.loc49_19.6(%.loc49_19.12) // CHECK:STDOUT: %.loc49_19.13: %i32 = value_of_initializer %Optional.Get.call.loc49 // CHECK:STDOUT: %.loc49_19.14: %i32 = converted %Optional.Get.call.loc49, %.loc49_19.13 @@ -1251,14 +1251,14 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.loc49: %i32 = wrapper_binding i, %.loc49_19.14 // CHECK:STDOUT: %sum.ref.loc50: ref %i32 = name_ref sum, %sum // CHECK:STDOUT: %i.ref.loc50: %i32 = name_ref i, %i.loc49 -// CHECK:STDOUT: %impl.elem0.loc50: %.e47d = impl_witness_access constants.%AddAssignWith.impl_witness.a04, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.050d02.2] +// CHECK:STDOUT: %impl.elem0.loc50: %.004 = impl_witness_access constants.%AddAssignWith.impl_witness.e9d, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.d34738.2] // CHECK:STDOUT: %bound_method.loc50_9.1: = bound_method %sum.ref.loc50, %impl.elem0.loc50 -// CHECK:STDOUT: %specific_fn.loc50: = specific_function %impl.elem0.loc50, @Int.as.AddAssignWith.impl.Op.1(constants.%int_32, constants.%ImplicitAs.facet.36a) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.a5cfa1.1] +// CHECK:STDOUT: %specific_fn.loc50: = specific_function %impl.elem0.loc50, @Int.as.AddAssignWith.impl.Op.1(constants.%int_32, constants.%ImplicitAs.facet.e88) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.d76216.1] // CHECK:STDOUT: %bound_method.loc50_9.2: = bound_method %sum.ref.loc50, %specific_fn.loc50 -// CHECK:STDOUT: %.loc50: %Int.as.AddAssignWith.impl.Op.type.bff697.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_32, constants.%ImplicitAs.facet.36a) [concrete = constants.%Int.as.AddAssignWith.impl.Op.050d02.1] -// CHECK:STDOUT: %Op.ref.loc50: %Int.as.AddAssignWith.impl.Op.type.bff697.1 = name_ref Op, %.loc50 [concrete = constants.%Int.as.AddAssignWith.impl.Op.050d02.1] +// CHECK:STDOUT: %.loc50: %Int.as.AddAssignWith.impl.Op.type.0b80aa.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_32, constants.%ImplicitAs.facet.e88) [concrete = constants.%Int.as.AddAssignWith.impl.Op.d34738.1] +// CHECK:STDOUT: %Op.ref.loc50: %Int.as.AddAssignWith.impl.Op.type.0b80aa.1 = name_ref Op, %.loc50 [concrete = constants.%Int.as.AddAssignWith.impl.Op.d34738.1] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.bound.loc50: = bound_method %sum.ref.loc50, %Op.ref.loc50 -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.loc50: = specific_function %Op.ref.loc50, @Int.as.AddAssignWith.impl.Op.2(constants.%int_32, constants.%ImplicitAs.facet.36a) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.a5cfa1.2] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.loc50: = specific_function %Op.ref.loc50, @Int.as.AddAssignWith.impl.Op.2(constants.%int_32, constants.%ImplicitAs.facet.e88) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.d76216.2] // CHECK:STDOUT: %bound_method.loc50_9.3: = bound_method %sum.ref.loc50, %Int.as.AddAssignWith.impl.Op.specific_fn.loc50 // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.call.loc50: init %empty_tuple.type = call %bound_method.loc50_9.3(%sum.ref.loc50, %i.ref.loc50) // CHECK:STDOUT: %Destroy.Op.bound.loc49_19.1: = bound_method %.loc49_19.6, constants.%Destroy.Op.1a2547.9 @@ -1274,13 +1274,13 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt.loc55: %pattern_type.6b6 = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %c.ref: %ConstRange = name_ref c, %c -// CHECK:STDOUT: %impl.elem2.loc55: %.21e = impl_witness_access constants.%Iterate.impl_witness.aff, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.abb] +// CHECK:STDOUT: %impl.elem2.loc55: %.c93 = impl_witness_access constants.%Iterate.impl_witness.bb2, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.ab8] // CHECK:STDOUT: %bound_method.loc55_19.1: = bound_method %c.ref, %impl.elem2.loc55 -// CHECK:STDOUT: %facet_value.loc55_19.1: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0e0, constants.%custom_witness.23e, constants.%custom_witness.6e8, constants.%custom_witness.adb, constants.%custom_witness.746, constants.%custom_witness.941) [concrete = constants.%facet_value.f06] -// CHECK:STDOUT: %.loc55_19.1: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc55_19.1 [concrete = constants.%facet_value.f06] -// CHECK:STDOUT: %facet_value.loc55_19.2: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0e0, constants.%custom_witness.23e, constants.%custom_witness.6e8, constants.%custom_witness.adb, constants.%custom_witness.746, constants.%custom_witness.941) [concrete = constants.%facet_value.f06] -// CHECK:STDOUT: %.loc55_19.2: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc55_19.2 [concrete = constants.%facet_value.f06] -// CHECK:STDOUT: %specific_fn.loc55_19.1: = specific_function %impl.elem2.loc55, @T.as_type.as.Iterate.impl.NewCursor(constants.%facet_value.f06) [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.266] +// CHECK:STDOUT: %facet_value.loc55_19.1: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.b51, constants.%custom_witness.23e, constants.%custom_witness.6e8, constants.%custom_witness.adb, constants.%custom_witness.746, constants.%custom_witness.941) [concrete = constants.%facet_value.96f] +// CHECK:STDOUT: %.loc55_19.1: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc55_19.1 [concrete = constants.%facet_value.96f] +// CHECK:STDOUT: %facet_value.loc55_19.2: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.b51, constants.%custom_witness.23e, constants.%custom_witness.6e8, constants.%custom_witness.adb, constants.%custom_witness.746, constants.%custom_witness.941) [concrete = constants.%facet_value.96f] +// CHECK:STDOUT: %.loc55_19.2: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc55_19.2 [concrete = constants.%facet_value.96f] +// CHECK:STDOUT: %specific_fn.loc55_19.1: = specific_function %impl.elem2.loc55, @T.as_type.as.Iterate.impl.NewCursor(constants.%facet_value.96f) [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.31a] // CHECK:STDOUT: %bound_method.loc55_19.2: = bound_method %c.ref, %specific_fn.loc55_19.1 // CHECK:STDOUT: %var.loc55: ref %tuple.type.69f = var_storage invalid // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.call.loc55: init %tuple.type.69f to %var.loc55 = call %bound_method.loc55_19.2(%c.ref) @@ -1289,35 +1289,35 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !for.next.loc55: // CHECK:STDOUT: %addr.loc55: %ptr.c5c = addr_of %var.loc55 -// CHECK:STDOUT: %impl.elem3.loc55: %.0ea = impl_witness_access constants.%Iterate.impl_witness.aff, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.c8c] +// CHECK:STDOUT: %impl.elem3.loc55: %.fe6 = impl_witness_access constants.%Iterate.impl_witness.bb2, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.a02] // CHECK:STDOUT: %bound_method.loc55_19.3: = bound_method %c.ref, %impl.elem3.loc55 -// CHECK:STDOUT: %facet_value.loc55_19.3: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0e0, constants.%custom_witness.23e, constants.%custom_witness.6e8, constants.%custom_witness.adb, constants.%custom_witness.746, constants.%custom_witness.941) [concrete = constants.%facet_value.f06] -// CHECK:STDOUT: %.loc55_19.3: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc55_19.3 [concrete = constants.%facet_value.f06] -// CHECK:STDOUT: %facet_value.loc55_19.4: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0e0, constants.%custom_witness.23e, constants.%custom_witness.6e8, constants.%custom_witness.adb, constants.%custom_witness.746, constants.%custom_witness.941) [concrete = constants.%facet_value.f06] -// CHECK:STDOUT: %.loc55_19.4: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc55_19.4 [concrete = constants.%facet_value.f06] -// CHECK:STDOUT: %specific_fn.loc55_19.2: = specific_function %impl.elem3.loc55, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.f06) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn.249] +// CHECK:STDOUT: %facet_value.loc55_19.3: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.b51, constants.%custom_witness.23e, constants.%custom_witness.6e8, constants.%custom_witness.adb, constants.%custom_witness.746, constants.%custom_witness.941) [concrete = constants.%facet_value.96f] +// CHECK:STDOUT: %.loc55_19.3: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc55_19.3 [concrete = constants.%facet_value.96f] +// CHECK:STDOUT: %facet_value.loc55_19.4: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.b51, constants.%custom_witness.23e, constants.%custom_witness.6e8, constants.%custom_witness.adb, constants.%custom_witness.746, constants.%custom_witness.941) [concrete = constants.%facet_value.96f] +// CHECK:STDOUT: %.loc55_19.4: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc55_19.4 [concrete = constants.%facet_value.96f] +// CHECK:STDOUT: %specific_fn.loc55_19.2: = specific_function %impl.elem3.loc55, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.96f) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn.480] // CHECK:STDOUT: %bound_method.loc55_19.4: = bound_method %c.ref, %specific_fn.loc55_19.2 -// CHECK:STDOUT: %.loc55_19.5: ref %Optional.64e = temporary_storage -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call.loc55: init %Optional.64e to %.loc55_19.5 = call %bound_method.loc55_19.4(%c.ref, %addr.loc55) -// CHECK:STDOUT: %.loc55_19.6: ref %Optional.64e = temporary %.loc55_19.5, %T.as_type.as.Iterate.impl.Next.call.loc55 -// CHECK:STDOUT: %.loc55_19.7: %Optional.HasValue.type.cf4 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.HasValue.834] -// CHECK:STDOUT: %HasValue.ref.loc55: %Optional.HasValue.type.cf4 = name_ref HasValue, %.loc55_19.7 [concrete = constants.%Optional.HasValue.834] +// CHECK:STDOUT: %.loc55_19.5: ref %Optional.755 = temporary_storage +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call.loc55: init %Optional.755 to %.loc55_19.5 = call %bound_method.loc55_19.4(%c.ref, %addr.loc55) +// CHECK:STDOUT: %.loc55_19.6: ref %Optional.755 = temporary %.loc55_19.5, %T.as_type.as.Iterate.impl.Next.call.loc55 +// CHECK:STDOUT: %.loc55_19.7: %Optional.HasValue.type.af3 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.HasValue.4f6] +// CHECK:STDOUT: %HasValue.ref.loc55: %Optional.HasValue.type.af3 = name_ref HasValue, %.loc55_19.7 [concrete = constants.%Optional.HasValue.4f6] // CHECK:STDOUT: %Optional.HasValue.bound.loc55: = bound_method %.loc55_19.6, %HasValue.ref.loc55 -// CHECK:STDOUT: %Optional.HasValue.specific_fn.loc55: = specific_function %HasValue.ref.loc55, @Optional.HasValue(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.HasValue.specific_fn.da7] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.loc55: = specific_function %HasValue.ref.loc55, @Optional.HasValue(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.HasValue.specific_fn.b8c] // CHECK:STDOUT: %bound_method.loc55_19.5: = bound_method %.loc55_19.6, %Optional.HasValue.specific_fn.loc55 -// CHECK:STDOUT: %.loc55_19.8: %Optional.64e = acquire_value %.loc55_19.6 +// CHECK:STDOUT: %.loc55_19.8: %Optional.755 = acquire_value %.loc55_19.6 // CHECK:STDOUT: %Optional.HasValue.call.loc55: init bool = call %bound_method.loc55_19.5(%.loc55_19.8) // CHECK:STDOUT: %.loc55_19.9: bool = value_of_initializer %Optional.HasValue.call.loc55 // CHECK:STDOUT: %.loc55_19.10: bool = converted %Optional.HasValue.call.loc55, %.loc55_19.9 // CHECK:STDOUT: if %.loc55_19.10 br !for.body.loc55 else br !for.done.loc55 // CHECK:STDOUT: // CHECK:STDOUT: !for.body.loc55: -// CHECK:STDOUT: %.loc55_19.11: %Optional.Get.type.a6a = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.Get.78e] -// CHECK:STDOUT: %Get.ref.loc55: %Optional.Get.type.a6a = name_ref Get, %.loc55_19.11 [concrete = constants.%Optional.Get.78e] +// CHECK:STDOUT: %.loc55_19.11: %Optional.Get.type.336 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.Get.0a8] +// CHECK:STDOUT: %Get.ref.loc55: %Optional.Get.type.336 = name_ref Get, %.loc55_19.11 [concrete = constants.%Optional.Get.0a8] // CHECK:STDOUT: %Optional.Get.bound.loc55: = bound_method %.loc55_19.6, %Get.ref.loc55 -// CHECK:STDOUT: %Optional.Get.specific_fn.loc55: = specific_function %Get.ref.loc55, @Optional.Get(constants.%OptionalStorage.facet.372) [concrete = constants.%Optional.Get.specific_fn.bec] +// CHECK:STDOUT: %Optional.Get.specific_fn.loc55: = specific_function %Get.ref.loc55, @Optional.Get(constants.%OptionalStorage.facet.097) [concrete = constants.%Optional.Get.specific_fn.fc5] // CHECK:STDOUT: %bound_method.loc55_19.6: = bound_method %.loc55_19.6, %Optional.Get.specific_fn.loc55 -// CHECK:STDOUT: %.loc55_19.12: %Optional.64e = acquire_value %.loc55_19.6 +// CHECK:STDOUT: %.loc55_19.12: %Optional.755 = acquire_value %.loc55_19.6 // CHECK:STDOUT: %Optional.Get.call.loc55: init %i32 = call %bound_method.loc55_19.6(%.loc55_19.12) // CHECK:STDOUT: %.loc55_19.13: %i32 = value_of_initializer %Optional.Get.call.loc55 // CHECK:STDOUT: %.loc55_19.14: %i32 = converted %Optional.Get.call.loc55, %.loc55_19.13 @@ -1325,14 +1325,14 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.loc55: %i32 = wrapper_binding i, %.loc55_19.14 // CHECK:STDOUT: %sum.ref.loc56: ref %i32 = name_ref sum, %sum // CHECK:STDOUT: %i.ref.loc56: %i32 = name_ref i, %i.loc55 -// CHECK:STDOUT: %impl.elem0.loc56: %.e47d = impl_witness_access constants.%AddAssignWith.impl_witness.a04, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.050d02.2] +// CHECK:STDOUT: %impl.elem0.loc56: %.004 = impl_witness_access constants.%AddAssignWith.impl_witness.e9d, element0 [concrete = constants.%Int.as.AddAssignWith.impl.Op.d34738.2] // CHECK:STDOUT: %bound_method.loc56_9.1: = bound_method %sum.ref.loc56, %impl.elem0.loc56 -// CHECK:STDOUT: %specific_fn.loc56: = specific_function %impl.elem0.loc56, @Int.as.AddAssignWith.impl.Op.1(constants.%int_32, constants.%ImplicitAs.facet.36a) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.a5cfa1.1] +// CHECK:STDOUT: %specific_fn.loc56: = specific_function %impl.elem0.loc56, @Int.as.AddAssignWith.impl.Op.1(constants.%int_32, constants.%ImplicitAs.facet.e88) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.d76216.1] // CHECK:STDOUT: %bound_method.loc56_9.2: = bound_method %sum.ref.loc56, %specific_fn.loc56 -// CHECK:STDOUT: %.loc56: %Int.as.AddAssignWith.impl.Op.type.bff697.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_32, constants.%ImplicitAs.facet.36a) [concrete = constants.%Int.as.AddAssignWith.impl.Op.050d02.1] -// CHECK:STDOUT: %Op.ref.loc56: %Int.as.AddAssignWith.impl.Op.type.bff697.1 = name_ref Op, %.loc56 [concrete = constants.%Int.as.AddAssignWith.impl.Op.050d02.1] +// CHECK:STDOUT: %.loc56: %Int.as.AddAssignWith.impl.Op.type.0b80aa.1 = specific_constant imports.%Core.Op.1b1, @Int.as.AddAssignWith.impl(constants.%int_32, constants.%ImplicitAs.facet.e88) [concrete = constants.%Int.as.AddAssignWith.impl.Op.d34738.1] +// CHECK:STDOUT: %Op.ref.loc56: %Int.as.AddAssignWith.impl.Op.type.0b80aa.1 = name_ref Op, %.loc56 [concrete = constants.%Int.as.AddAssignWith.impl.Op.d34738.1] // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.bound.loc56: = bound_method %sum.ref.loc56, %Op.ref.loc56 -// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.loc56: = specific_function %Op.ref.loc56, @Int.as.AddAssignWith.impl.Op.2(constants.%int_32, constants.%ImplicitAs.facet.36a) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.a5cfa1.2] +// CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.specific_fn.loc56: = specific_function %Op.ref.loc56, @Int.as.AddAssignWith.impl.Op.2(constants.%int_32, constants.%ImplicitAs.facet.e88) [concrete = constants.%Int.as.AddAssignWith.impl.Op.specific_fn.d76216.2] // CHECK:STDOUT: %bound_method.loc56_9.3: = bound_method %sum.ref.loc56, %Int.as.AddAssignWith.impl.Op.specific_fn.loc56 // CHECK:STDOUT: %Int.as.AddAssignWith.impl.Op.call.loc56: init %empty_tuple.type = call %bound_method.loc56_9.3(%sum.ref.loc56, %i.ref.loc56) // CHECK:STDOUT: %Destroy.Op.bound.loc55_19.1: = bound_method %.loc55_19.6, constants.%Destroy.Op.1a2547.9 @@ -1351,14 +1351,14 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %R.patt.loc30_17.2 => constants.%R.patt // CHECK:STDOUT: %R.loc30_17.1 => constants.%R // CHECK:STDOUT: %R.as_type.loc30_61.1 => constants.%R.as_type -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.b2da -// CHECK:STDOUT: %r.param_patt.loc30_59.2 => constants.%r.param_patt.774 -// CHECK:STDOUT: %r.patt.loc30_59.2 => constants.%r.patt.54b +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.073 +// CHECK:STDOUT: %r.param_patt.loc30_59.2 => constants.%r.param_patt.d39 +// CHECK:STDOUT: %r.patt.loc30_59.2 => constants.%r.patt.de1 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.461) { +// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.8a3) { // CHECK:STDOUT: %R.patt.loc30_17.2 => constants.%R.patt -// CHECK:STDOUT: %R.loc30_17.1 => constants.%facet_value.461 +// CHECK:STDOUT: %R.loc30_17.1 => constants.%facet_value.8a3 // CHECK:STDOUT: %R.as_type.loc30_61.1 => constants.%MutableRange // CHECK:STDOUT: %pattern_type => constants.%pattern_type.e635 // CHECK:STDOUT: %r.param_patt.loc30_59.2 => constants.%r.param_patt.c79 @@ -1366,20 +1366,20 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc30 => constants.%complete_type.357 -// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.5c8 -// CHECK:STDOUT: %Iterate.facet.loc34_19.5 => constants.%Iterate.facet.4b7 -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.43c -// CHECK:STDOUT: %.loc34_19.19 => constants.%.317 -// CHECK:STDOUT: %impl.elem2.loc34_19.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.1f4 -// CHECK:STDOUT: %specific_impl_fn.loc34_19.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.a08 +// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.0b0 +// CHECK:STDOUT: %Iterate.facet.loc34_19.5 => constants.%Iterate.facet.fdf +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.5e7 +// CHECK:STDOUT: %.loc34_19.19 => constants.%.641 +// CHECK:STDOUT: %impl.elem2.loc34_19.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.45a +// CHECK:STDOUT: %specific_impl_fn.loc34_19.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.b38 // CHECK:STDOUT: %impl.elem1 => constants.%Destroy.facet.30f // CHECK:STDOUT: %as_type => constants.%tuple.type.508 // CHECK:STDOUT: %require_complete.1 => constants.%complete_type.c28 // CHECK:STDOUT: %ptr => constants.%ptr.45c -// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.91a -// CHECK:STDOUT: %.loc34_19.20 => constants.%.a39 -// CHECK:STDOUT: %impl.elem3.loc34_19.2 => constants.%T.as_type.as.Iterate.impl.Next.acd -// CHECK:STDOUT: %specific_impl_fn.loc34_19.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn.bc3 +// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.08a +// CHECK:STDOUT: %.loc34_19.20 => constants.%.d1b +// CHECK:STDOUT: %impl.elem3.loc34_19.2 => constants.%T.as_type.as.Iterate.impl.Next.a5b +// CHECK:STDOUT: %specific_impl_fn.loc34_19.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn.b5a // CHECK:STDOUT: %Destroy.WithSelf.Op.type => constants.%Destroy.WithSelf.Op.type.c6c // CHECK:STDOUT: %.loc34_19.21 => constants.%.0a4 // CHECK:STDOUT: %Destroy.lookup_impl_witness => constants.%custom_witness.df9cc1.10 @@ -1387,9 +1387,9 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %specific_impl_fn.loc34_19.6 => constants.%Destroy.Op.1a2547.10 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.3ce) { +// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.9af) { // CHECK:STDOUT: %R.patt.loc30_17.2 => constants.%R.patt -// CHECK:STDOUT: %R.loc30_17.1 => constants.%facet_value.3ce +// CHECK:STDOUT: %R.loc30_17.1 => constants.%facet_value.9af // CHECK:STDOUT: %R.as_type.loc30_61.1 => constants.%ConstRange // CHECK:STDOUT: %pattern_type => constants.%pattern_type.0ba // CHECK:STDOUT: %r.param_patt.loc30_59.2 => constants.%r.param_patt.83e @@ -1397,20 +1397,20 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc30 => constants.%complete_type.357 -// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.aff -// CHECK:STDOUT: %Iterate.facet.loc34_19.5 => constants.%Iterate.facet.158 -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.f62 -// CHECK:STDOUT: %.loc34_19.19 => constants.%.21e -// CHECK:STDOUT: %impl.elem2.loc34_19.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.abb -// CHECK:STDOUT: %specific_impl_fn.loc34_19.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.266 +// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.bb2 +// CHECK:STDOUT: %Iterate.facet.loc34_19.5 => constants.%Iterate.facet.4c8 +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.9d7 +// CHECK:STDOUT: %.loc34_19.19 => constants.%.c93 +// CHECK:STDOUT: %impl.elem2.loc34_19.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.ab8 +// CHECK:STDOUT: %specific_impl_fn.loc34_19.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.31a // CHECK:STDOUT: %impl.elem1 => constants.%Destroy.facet.e4c // CHECK:STDOUT: %as_type => constants.%tuple.type.69f // CHECK:STDOUT: %require_complete.1 => constants.%complete_type.8d5 // CHECK:STDOUT: %ptr => constants.%ptr.c5c -// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.b3e -// CHECK:STDOUT: %.loc34_19.20 => constants.%.0ea -// CHECK:STDOUT: %impl.elem3.loc34_19.2 => constants.%T.as_type.as.Iterate.impl.Next.c8c -// CHECK:STDOUT: %specific_impl_fn.loc34_19.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn.249 +// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.f73 +// CHECK:STDOUT: %.loc34_19.20 => constants.%.fe6 +// CHECK:STDOUT: %impl.elem3.loc34_19.2 => constants.%T.as_type.as.Iterate.impl.Next.a02 +// CHECK:STDOUT: %specific_impl_fn.loc34_19.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn.480 // CHECK:STDOUT: %Destroy.WithSelf.Op.type => constants.%Destroy.WithSelf.Op.type.7ec // CHECK:STDOUT: %.loc34_19.21 => constants.%.0e7 // CHECK:STDOUT: %Destroy.lookup_impl_witness => constants.%custom_witness.df9cc1.11 @@ -1505,20 +1505,20 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.bd3: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.705, %Iterate.facet.dbf [symbolic] // CHECK:STDOUT: %impl.elem3.d57: %.bd3 = impl_witness_access %Iterate.lookup_impl_witness.06b, element3 [symbolic] // CHECK:STDOUT: %DefaultOptionalStorage.84c: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.bf1) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.8be: = impl_witness imports.%OptionalStorage.impl_witness_table.cfa, @T.as_type.as.OptionalStorage.impl(%facet_value.bf1) [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.e59: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.8be) [concrete] -// CHECK:STDOUT: %Optional.e4a: type = class_type @Optional, @Optional(%OptionalStorage.facet.e59) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.9b5: = impl_witness imports.%OptionalStorage.impl_witness_table.460, @T.as_type.as.OptionalStorage.impl(%facet_value.bf1) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.a0c: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.9b5) [concrete] +// CHECK:STDOUT: %Optional.3c5: type = class_type @Optional, @Optional(%OptionalStorage.facet.a0c) [concrete] // CHECK:STDOUT: %specific_impl_fn.fca: = specific_impl_function %impl.elem3.d57, @Iterate.WithSelf.Next(%Iterate.facet.dbf) [symbolic] -// CHECK:STDOUT: %Optional.HasValue.type.360: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.e59) [concrete] -// CHECK:STDOUT: %Optional.HasValue.8c0: %Optional.HasValue.type.360 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.265: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.e59) [concrete] -// CHECK:STDOUT: %Optional.Get.726: %Optional.Get.type.265 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.cca: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.a0c) [concrete] +// CHECK:STDOUT: %Optional.HasValue.6d0: %Optional.HasValue.type.cca = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.c7a: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.a0c) [concrete] +// CHECK:STDOUT: %Optional.Get.6ac: %Optional.Get.type.c7a = struct_value () [concrete] // CHECK:STDOUT: %Destroy.facet.4e5: %Destroy.type = facet_value %ValueType, (%custom_witness.e7a31c.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.02e: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.4e5) [concrete] -// CHECK:STDOUT: %.98c8: type = maybe_unformed_type %ValueType [concrete] +// CHECK:STDOUT: %.98c: type = maybe_unformed_type %ValueType [concrete] // CHECK:STDOUT: %struct_type.value.has_value.761: type = struct_type {.value: %MaybeUnformed.02e, .has_value: bool} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn.a49: = specific_function %Optional.HasValue.8c0, @Optional.HasValue(%OptionalStorage.facet.e59) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn.36a: = specific_function %Optional.Get.726, @Optional.Get(%OptionalStorage.facet.e59) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.8b5: = specific_function %Optional.HasValue.6d0, @Optional.HasValue(%OptionalStorage.facet.a0c) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn.ee5: = specific_function %Optional.Get.6ac, @Optional.Get(%OptionalStorage.facet.a0c) [concrete] // CHECK:STDOUT: %operator_PlusEqual__carbon_thunk.type: type = fn_type @operator_PlusEqual__carbon_thunk [concrete] // CHECK:STDOUT: %operator_PlusEqual__carbon_thunk: %operator_PlusEqual__carbon_thunk.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.7: type = fn_type @Destroy.Op.loc44_29.6 [concrete] @@ -1562,13 +1562,13 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %Destroy.Op.1a2547.8: %Destroy.Op.type.1d8f74.8 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.df9cc1.8: = custom_witness (%Destroy.Op.1a2547.8), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.305: %Destroy.type = facet_value %tuple.type.829, (%custom_witness.df9cc1.8) [concrete] -// CHECK:STDOUT: %Iterate.impl_witness.a9a: = impl_witness imports.%Iterate.impl_witness_table.978, @T.as_type.as.Iterate.impl(%facet_value.9f5) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.cf3: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.9f5) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.e73: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.9f5) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.04f: %T.as_type.as.Iterate.impl.NewCursor.type.e73 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.d0a: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.9f5) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.6bb: %T.as_type.as.Iterate.impl.Next.type.d0a = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet.92d: %Iterate.type = facet_value %MutableRange, (%Iterate.impl_witness.a9a) [concrete] -// CHECK:STDOUT: %facet_value.476: %Iterate_where.type.502 = facet_value %MutableRange, (%Iterate.impl_witness.a9a) [concrete] +// CHECK:STDOUT: %Iterate.facet.180: %Iterate.type = facet_value %MutableRange, (%Iterate.impl_witness.cf3) [concrete] +// CHECK:STDOUT: %facet_value.068: %Iterate_where.type.502 = facet_value %MutableRange, (%Iterate.impl_witness.cf3) [concrete] // CHECK:STDOUT: %r.patt.f69: %pattern_type.e635 = ref_binding_pattern r [concrete] // CHECK:STDOUT: %r.param_patt.91e: %pattern_type.e635 = var_param_pattern %r.patt.f69 [concrete] // CHECK:STDOUT: %Iterator.260: type = class_type @Iterator.2 [concrete] @@ -1601,30 +1601,30 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %Destroy.Op.1a2547.9: %Destroy.Op.type.1d8f74.9 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.df9cc1.9: = custom_witness (%Destroy.Op.1a2547.9), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.e08: %Destroy.type = facet_value %tuple.type.99f, (%custom_witness.df9cc1.9) [concrete] -// CHECK:STDOUT: %Iterate.impl_witness.734: = impl_witness imports.%Iterate.impl_witness_table.978, @T.as_type.as.Iterate.impl(%facet_value.782) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.c1f: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.782) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.8f9: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.782) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.c2e: %T.as_type.as.Iterate.impl.NewCursor.type.8f9 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.4cc: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.782) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.760: %T.as_type.as.Iterate.impl.Next.type.4cc = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet.2d7: %Iterate.type = facet_value %ConstRange, (%Iterate.impl_witness.734) [concrete] -// CHECK:STDOUT: %facet_value.557: %Iterate_where.type.502 = facet_value %ConstRange, (%Iterate.impl_witness.734) [concrete] +// CHECK:STDOUT: %Iterate.facet.f80: %Iterate.type = facet_value %ConstRange, (%Iterate.impl_witness.c1f) [concrete] +// CHECK:STDOUT: %facet_value.d5f: %Iterate_where.type.502 = facet_value %ConstRange, (%Iterate.impl_witness.c1f) [concrete] // CHECK:STDOUT: %r.patt.36a: %pattern_type.0ba = ref_binding_pattern r [concrete] // CHECK:STDOUT: %r.param_patt.501: %pattern_type.0ba = var_param_pattern %r.patt.36a [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.b7d: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.92d) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.bac: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.92d) [concrete] -// CHECK:STDOUT: %.605: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.b7d, %Iterate.facet.92d [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.9da: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.180) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.171: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.180) [concrete] +// CHECK:STDOUT: %.1e1: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.9da, %Iterate.facet.180 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn.2ae: = specific_function %T.as_type.as.Iterate.impl.NewCursor.04f, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.9f5) [concrete] // CHECK:STDOUT: %ptr.d6b: type = ptr_type %tuple.type.829 [concrete] -// CHECK:STDOUT: %.1a3: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.bac, %Iterate.facet.92d [concrete] +// CHECK:STDOUT: %.c4e: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.171, %Iterate.facet.180 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn.b6b: = specific_function %T.as_type.as.Iterate.impl.Next.6bb, @T.as_type.as.Iterate.impl.Next(%facet_value.9f5) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.c89: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.305) [concrete] // CHECK:STDOUT: %.e8a: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.c89, %Destroy.facet.305 [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.982: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.2d7) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.fd6: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.2d7) [concrete] -// CHECK:STDOUT: %.02e: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.982, %Iterate.facet.2d7 [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.cd5: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.f80) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.1e9: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.f80) [concrete] +// CHECK:STDOUT: %.e96: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.cd5, %Iterate.facet.f80 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn.c09: = specific_function %T.as_type.as.Iterate.impl.NewCursor.c2e, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.782) [concrete] // CHECK:STDOUT: %ptr.2f7: type = ptr_type %tuple.type.99f [concrete] -// CHECK:STDOUT: %.521: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.fd6, %Iterate.facet.2d7 [concrete] +// CHECK:STDOUT: %.5b1: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.1e9, %Iterate.facet.f80 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn.586: = specific_function %T.as_type.as.Iterate.impl.Next.760, @T.as_type.as.Iterate.impl.Next(%facet_value.782) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.e30: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.e08) [concrete] // CHECK:STDOUT: %.987: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.e30, %Destroy.facet.e08 [concrete] @@ -1640,19 +1640,19 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.bb6: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.e9e) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.6cd)] -// CHECK:STDOUT: %Core.import_ref.daba: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] +// CHECK:STDOUT: %Core.import_ref.dab: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] // CHECK:STDOUT: %Core.import_ref.0c6: type = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%DefaultOptionalStorage (constants.%DefaultOptionalStorage.d50)] // CHECK:STDOUT: %Core.import_ref.dc3: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None.type (%T.as_type.as.OptionalStorage.impl.None.type.0a1) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None (constants.%T.as_type.as.OptionalStorage.impl.None.e06)] // CHECK:STDOUT: %Core.import_ref.c53: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some.type (%T.as_type.as.OptionalStorage.impl.Some.type.492) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some (constants.%T.as_type.as.OptionalStorage.impl.Some.89a)] // CHECK:STDOUT: %Core.import_ref.ed4: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has.type (%T.as_type.as.OptionalStorage.impl.Has.type.e5a) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has (constants.%T.as_type.as.OptionalStorage.impl.Has.4ee)] // CHECK:STDOUT: %Core.import_ref.e9c: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get.type (%T.as_type.as.OptionalStorage.impl.Get.type.a12) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get (constants.%T.as_type.as.OptionalStorage.impl.Get.d32)] // CHECK:STDOUT: %Core.import_ref.0b2 = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.cfa = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.460 = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.eef: %facet_type.f48 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.f93)] // CHECK:STDOUT: %Core.import_ref.fcc: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9cd)] // CHECK:STDOUT: %Core.import_ref.fd1: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.953) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor (constants.%T.as_type.as.Iterate.impl.NewCursor.544)] // CHECK:STDOUT: %Core.import_ref.273: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next.type (%T.as_type.as.Iterate.impl.Next.type.b36) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next (constants.%T.as_type.as.Iterate.impl.Next.d6b)] -// CHECK:STDOUT: %Iterate.impl_witness_table.978 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] +// CHECK:STDOUT: %Iterate.impl_witness_table.121 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] // CHECK:STDOUT: %ValueType.decl: type = class_decl @ValueType [concrete = constants.%ValueType] {} {} // CHECK:STDOUT: %ValueType.cpp_destructor.decl: %ValueType.cpp_destructor.type = fn_decl @ValueType.cpp_destructor [concrete = constants.%ValueType.cpp_destructor] { // CHECK:STDOUT: @@ -1724,29 +1724,29 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc44_29.6: %Destroy.type = converted constants.%as_type.dbb, constants.%impl.elem1.3cf [symbolic = %impl.elem1 (constants.%impl.elem1.3cf)] // CHECK:STDOUT: %specific_impl_fn.loc44_29.2: = specific_impl_function %impl.elem3.loc44_29.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.dbf) [symbolic = %specific_impl_fn.loc44_29.5 (constants.%specific_impl_fn.fca)] // CHECK:STDOUT: %bound_method.loc44_29.4: = bound_method %r.ref, %specific_impl_fn.loc44_29.2 -// CHECK:STDOUT: %.loc44_29.7: ref %Optional.e4a = temporary_storage +// CHECK:STDOUT: %.loc44_29.7: ref %Optional.3c5 = temporary_storage // CHECK:STDOUT: %.loc44_28.2: @TestIterate.%R.as_type.loc40_75.1 (%R.as_type) = acquire_value %r.ref -// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.e4a to %.loc44_29.7 = call %bound_method.loc44_29.4(%.loc44_28.2, %addr.loc44) -// CHECK:STDOUT: %.loc44_29.8: ref %Optional.e4a = temporary %.loc44_29.7, %Iterate.WithSelf.Next.call -// CHECK:STDOUT: %.loc44_29.9: %Optional.HasValue.type.360 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.8c0] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.360 = name_ref HasValue, %.loc44_29.9 [concrete = constants.%Optional.HasValue.8c0] +// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.3c5 to %.loc44_29.7 = call %bound_method.loc44_29.4(%.loc44_28.2, %addr.loc44) +// CHECK:STDOUT: %.loc44_29.8: ref %Optional.3c5 = temporary %.loc44_29.7, %Iterate.WithSelf.Next.call +// CHECK:STDOUT: %.loc44_29.9: %Optional.HasValue.type.cca = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.6d0] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.cca = name_ref HasValue, %.loc44_29.9 [concrete = constants.%Optional.HasValue.6d0] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc44_29.8, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.specific_fn.a49] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.specific_fn.8b5] // CHECK:STDOUT: %bound_method.loc44_29.5: = bound_method %.loc44_29.8, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc44_29.10: %Optional.e4a = acquire_value %.loc44_29.8 +// CHECK:STDOUT: %.loc44_29.10: %Optional.3c5 = acquire_value %.loc44_29.8 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc44_29.5(%.loc44_29.10) // CHECK:STDOUT: %.loc44_29.11: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc44_29.12: bool = converted %Optional.HasValue.call, %.loc44_29.11 // CHECK:STDOUT: if %.loc44_29.12 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc44_29.13: %Optional.Get.type.265 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.726] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.265 = name_ref Get, %.loc44_29.13 [concrete = constants.%Optional.Get.726] +// CHECK:STDOUT: %.loc44_29.13: %Optional.Get.type.c7a = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.6ac] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.c7a = name_ref Get, %.loc44_29.13 [concrete = constants.%Optional.Get.6ac] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc44_29.8, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.specific_fn.36a] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.specific_fn.ee5] // CHECK:STDOUT: %bound_method.loc44_29.6: = bound_method %.loc44_29.8, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc44_29.14: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc44_29.15: %Optional.e4a = acquire_value %.loc44_29.8 +// CHECK:STDOUT: %.loc44_29.15: %Optional.3c5 = acquire_value %.loc44_29.8 // CHECK:STDOUT: %Optional.Get.call: init %ValueType to %.loc44_29.14 = call %bound_method.loc44_29.6(%.loc44_29.15) // CHECK:STDOUT: %.loc44_29.16: ref %ValueType = temporary %.loc44_29.14, %Optional.Get.call // CHECK:STDOUT: %.loc44_29.17: %ValueType = acquire_value %.loc44_29.16 @@ -1784,7 +1784,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc44_29.1(%self.param: ref %.98c8) { +// CHECK:STDOUT: fn @Destroy.Op.loc44_29.1(%self.param: ref %.98c) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1806,7 +1806,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc44_29.6(%self.param: ref %Optional.e4a) { +// CHECK:STDOUT: fn @Destroy.Op.loc44_29.6(%self.param: ref %Optional.3c5) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1818,7 +1818,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt.loc59: %pattern_type.e9f = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %m.ref: ref %MutableRange = name_ref m, %m -// CHECK:STDOUT: %impl.elem2.loc59: %.605 = impl_witness_access constants.%Iterate.impl_witness.a9a, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.04f] +// CHECK:STDOUT: %impl.elem2.loc59: %.1e1 = impl_witness_access constants.%Iterate.impl_witness.cf3, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.04f] // CHECK:STDOUT: %bound_method.loc59_29.1: = bound_method %m.ref, %impl.elem2.loc59 // CHECK:STDOUT: %facet_value.loc59_29.1: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.e7a31c.1, constants.%custom_witness.d0da43.1, constants.%custom_witness.6b6, constants.%custom_witness.95581e.1, constants.%custom_witness.90a, constants.%custom_witness.444, constants.%custom_witness.3e8, constants.%custom_witness.95581e.2) [concrete = constants.%facet_value.9f5] // CHECK:STDOUT: %.loc59_29.1: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc59_29.1 [concrete = constants.%facet_value.9f5] @@ -1834,7 +1834,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !for.next.loc59: // CHECK:STDOUT: %addr.loc59: %ptr.d6b = addr_of %var.loc59 -// CHECK:STDOUT: %impl.elem3.loc59: %.1a3 = impl_witness_access constants.%Iterate.impl_witness.a9a, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.6bb] +// CHECK:STDOUT: %impl.elem3.loc59: %.c4e = impl_witness_access constants.%Iterate.impl_witness.cf3, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.6bb] // CHECK:STDOUT: %bound_method.loc59_29.3: = bound_method %m.ref, %impl.elem3.loc59 // CHECK:STDOUT: %facet_value.loc59_29.3: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.e7a31c.1, constants.%custom_witness.d0da43.1, constants.%custom_witness.6b6, constants.%custom_witness.95581e.1, constants.%custom_witness.90a, constants.%custom_witness.444, constants.%custom_witness.3e8, constants.%custom_witness.95581e.2) [concrete = constants.%facet_value.9f5] // CHECK:STDOUT: %.loc59_29.3: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc59_29.3 [concrete = constants.%facet_value.9f5] @@ -1842,29 +1842,29 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc59_29.4: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc59_29.4 [concrete = constants.%facet_value.9f5] // CHECK:STDOUT: %specific_fn.loc59_29.2: = specific_function %impl.elem3.loc59, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.9f5) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn.b6b] // CHECK:STDOUT: %bound_method.loc59_29.4: = bound_method %m.ref, %specific_fn.loc59_29.2 -// CHECK:STDOUT: %.loc59_29.5: ref %Optional.e4a = temporary_storage +// CHECK:STDOUT: %.loc59_29.5: ref %Optional.3c5 = temporary_storage // CHECK:STDOUT: %.loc59_28.2: %MutableRange = acquire_value %m.ref -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call.loc59: init %Optional.e4a to %.loc59_29.5 = call %bound_method.loc59_29.4(%.loc59_28.2, %addr.loc59) -// CHECK:STDOUT: %.loc59_29.6: ref %Optional.e4a = temporary %.loc59_29.5, %T.as_type.as.Iterate.impl.Next.call.loc59 -// CHECK:STDOUT: %.loc59_29.7: %Optional.HasValue.type.360 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.8c0] -// CHECK:STDOUT: %HasValue.ref.loc59: %Optional.HasValue.type.360 = name_ref HasValue, %.loc59_29.7 [concrete = constants.%Optional.HasValue.8c0] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call.loc59: init %Optional.3c5 to %.loc59_29.5 = call %bound_method.loc59_29.4(%.loc59_28.2, %addr.loc59) +// CHECK:STDOUT: %.loc59_29.6: ref %Optional.3c5 = temporary %.loc59_29.5, %T.as_type.as.Iterate.impl.Next.call.loc59 +// CHECK:STDOUT: %.loc59_29.7: %Optional.HasValue.type.cca = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.6d0] +// CHECK:STDOUT: %HasValue.ref.loc59: %Optional.HasValue.type.cca = name_ref HasValue, %.loc59_29.7 [concrete = constants.%Optional.HasValue.6d0] // CHECK:STDOUT: %Optional.HasValue.bound.loc59: = bound_method %.loc59_29.6, %HasValue.ref.loc59 -// CHECK:STDOUT: %Optional.HasValue.specific_fn.loc59: = specific_function %HasValue.ref.loc59, @Optional.HasValue(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.specific_fn.a49] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.loc59: = specific_function %HasValue.ref.loc59, @Optional.HasValue(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.specific_fn.8b5] // CHECK:STDOUT: %bound_method.loc59_29.5: = bound_method %.loc59_29.6, %Optional.HasValue.specific_fn.loc59 -// CHECK:STDOUT: %.loc59_29.8: %Optional.e4a = acquire_value %.loc59_29.6 +// CHECK:STDOUT: %.loc59_29.8: %Optional.3c5 = acquire_value %.loc59_29.6 // CHECK:STDOUT: %Optional.HasValue.call.loc59: init bool = call %bound_method.loc59_29.5(%.loc59_29.8) // CHECK:STDOUT: %.loc59_29.9: bool = value_of_initializer %Optional.HasValue.call.loc59 // CHECK:STDOUT: %.loc59_29.10: bool = converted %Optional.HasValue.call.loc59, %.loc59_29.9 // CHECK:STDOUT: if %.loc59_29.10 br !for.body.loc59 else br !for.done.loc59 // CHECK:STDOUT: // CHECK:STDOUT: !for.body.loc59: -// CHECK:STDOUT: %.loc59_29.11: %Optional.Get.type.265 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.726] -// CHECK:STDOUT: %Get.ref.loc59: %Optional.Get.type.265 = name_ref Get, %.loc59_29.11 [concrete = constants.%Optional.Get.726] +// CHECK:STDOUT: %.loc59_29.11: %Optional.Get.type.c7a = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.6ac] +// CHECK:STDOUT: %Get.ref.loc59: %Optional.Get.type.c7a = name_ref Get, %.loc59_29.11 [concrete = constants.%Optional.Get.6ac] // CHECK:STDOUT: %Optional.Get.bound.loc59: = bound_method %.loc59_29.6, %Get.ref.loc59 -// CHECK:STDOUT: %Optional.Get.specific_fn.loc59: = specific_function %Get.ref.loc59, @Optional.Get(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.specific_fn.36a] +// CHECK:STDOUT: %Optional.Get.specific_fn.loc59: = specific_function %Get.ref.loc59, @Optional.Get(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.specific_fn.ee5] // CHECK:STDOUT: %bound_method.loc59_29.6: = bound_method %.loc59_29.6, %Optional.Get.specific_fn.loc59 // CHECK:STDOUT: %.loc59_29.12: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc59_29.13: %Optional.e4a = acquire_value %.loc59_29.6 +// CHECK:STDOUT: %.loc59_29.13: %Optional.3c5 = acquire_value %.loc59_29.6 // CHECK:STDOUT: %Optional.Get.call.loc59: init %ValueType to %.loc59_29.12 = call %bound_method.loc59_29.6(%.loc59_29.13) // CHECK:STDOUT: %.loc59_29.14: ref %ValueType = temporary %.loc59_29.12, %Optional.Get.call.loc59 // CHECK:STDOUT: %.loc59_29.15: %ValueType = acquire_value %.loc59_29.14 @@ -1897,7 +1897,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt.loc63: %pattern_type.e9f = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %c.ref: %ConstRange = name_ref c, %c -// CHECK:STDOUT: %impl.elem2.loc63: %.02e = impl_witness_access constants.%Iterate.impl_witness.734, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.c2e] +// CHECK:STDOUT: %impl.elem2.loc63: %.e96 = impl_witness_access constants.%Iterate.impl_witness.c1f, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.c2e] // CHECK:STDOUT: %bound_method.loc63_29.1: = bound_method %c.ref, %impl.elem2.loc63 // CHECK:STDOUT: %facet_value.loc63_29.1: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.e7a31c.1, constants.%custom_witness.d0da43.1, constants.%custom_witness.a03, constants.%custom_witness.6e8a2e.1, constants.%custom_witness.78b, constants.%custom_witness.746, constants.%custom_witness.c55, constants.%custom_witness.6e8a2e.2) [concrete = constants.%facet_value.782] // CHECK:STDOUT: %.loc63_29.1: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc63_29.1 [concrete = constants.%facet_value.782] @@ -1912,7 +1912,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !for.next.loc63: // CHECK:STDOUT: %addr.loc63: %ptr.2f7 = addr_of %var.loc63 -// CHECK:STDOUT: %impl.elem3.loc63: %.521 = impl_witness_access constants.%Iterate.impl_witness.734, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.760] +// CHECK:STDOUT: %impl.elem3.loc63: %.5b1 = impl_witness_access constants.%Iterate.impl_witness.c1f, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.760] // CHECK:STDOUT: %bound_method.loc63_29.3: = bound_method %c.ref, %impl.elem3.loc63 // CHECK:STDOUT: %facet_value.loc63_29.3: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.e7a31c.1, constants.%custom_witness.d0da43.1, constants.%custom_witness.a03, constants.%custom_witness.6e8a2e.1, constants.%custom_witness.78b, constants.%custom_witness.746, constants.%custom_witness.c55, constants.%custom_witness.6e8a2e.2) [concrete = constants.%facet_value.782] // CHECK:STDOUT: %.loc63_29.3: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc63_29.3 [concrete = constants.%facet_value.782] @@ -1920,28 +1920,28 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc63_29.4: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc63_29.4 [concrete = constants.%facet_value.782] // CHECK:STDOUT: %specific_fn.loc63_29.2: = specific_function %impl.elem3.loc63, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.782) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn.586] // CHECK:STDOUT: %bound_method.loc63_29.4: = bound_method %c.ref, %specific_fn.loc63_29.2 -// CHECK:STDOUT: %.loc63_29.5: ref %Optional.e4a = temporary_storage -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call.loc63: init %Optional.e4a to %.loc63_29.5 = call %bound_method.loc63_29.4(%c.ref, %addr.loc63) -// CHECK:STDOUT: %.loc63_29.6: ref %Optional.e4a = temporary %.loc63_29.5, %T.as_type.as.Iterate.impl.Next.call.loc63 -// CHECK:STDOUT: %.loc63_29.7: %Optional.HasValue.type.360 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.8c0] -// CHECK:STDOUT: %HasValue.ref.loc63: %Optional.HasValue.type.360 = name_ref HasValue, %.loc63_29.7 [concrete = constants.%Optional.HasValue.8c0] +// CHECK:STDOUT: %.loc63_29.5: ref %Optional.3c5 = temporary_storage +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call.loc63: init %Optional.3c5 to %.loc63_29.5 = call %bound_method.loc63_29.4(%c.ref, %addr.loc63) +// CHECK:STDOUT: %.loc63_29.6: ref %Optional.3c5 = temporary %.loc63_29.5, %T.as_type.as.Iterate.impl.Next.call.loc63 +// CHECK:STDOUT: %.loc63_29.7: %Optional.HasValue.type.cca = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.6d0] +// CHECK:STDOUT: %HasValue.ref.loc63: %Optional.HasValue.type.cca = name_ref HasValue, %.loc63_29.7 [concrete = constants.%Optional.HasValue.6d0] // CHECK:STDOUT: %Optional.HasValue.bound.loc63: = bound_method %.loc63_29.6, %HasValue.ref.loc63 -// CHECK:STDOUT: %Optional.HasValue.specific_fn.loc63: = specific_function %HasValue.ref.loc63, @Optional.HasValue(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.specific_fn.a49] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.loc63: = specific_function %HasValue.ref.loc63, @Optional.HasValue(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.specific_fn.8b5] // CHECK:STDOUT: %bound_method.loc63_29.5: = bound_method %.loc63_29.6, %Optional.HasValue.specific_fn.loc63 -// CHECK:STDOUT: %.loc63_29.8: %Optional.e4a = acquire_value %.loc63_29.6 +// CHECK:STDOUT: %.loc63_29.8: %Optional.3c5 = acquire_value %.loc63_29.6 // CHECK:STDOUT: %Optional.HasValue.call.loc63: init bool = call %bound_method.loc63_29.5(%.loc63_29.8) // CHECK:STDOUT: %.loc63_29.9: bool = value_of_initializer %Optional.HasValue.call.loc63 // CHECK:STDOUT: %.loc63_29.10: bool = converted %Optional.HasValue.call.loc63, %.loc63_29.9 // CHECK:STDOUT: if %.loc63_29.10 br !for.body.loc63 else br !for.done.loc63 // CHECK:STDOUT: // CHECK:STDOUT: !for.body.loc63: -// CHECK:STDOUT: %.loc63_29.11: %Optional.Get.type.265 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.726] -// CHECK:STDOUT: %Get.ref.loc63: %Optional.Get.type.265 = name_ref Get, %.loc63_29.11 [concrete = constants.%Optional.Get.726] +// CHECK:STDOUT: %.loc63_29.11: %Optional.Get.type.c7a = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.6ac] +// CHECK:STDOUT: %Get.ref.loc63: %Optional.Get.type.c7a = name_ref Get, %.loc63_29.11 [concrete = constants.%Optional.Get.6ac] // CHECK:STDOUT: %Optional.Get.bound.loc63: = bound_method %.loc63_29.6, %Get.ref.loc63 -// CHECK:STDOUT: %Optional.Get.specific_fn.loc63: = specific_function %Get.ref.loc63, @Optional.Get(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.specific_fn.36a] +// CHECK:STDOUT: %Optional.Get.specific_fn.loc63: = specific_function %Get.ref.loc63, @Optional.Get(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.specific_fn.ee5] // CHECK:STDOUT: %bound_method.loc63_29.6: = bound_method %.loc63_29.6, %Optional.Get.specific_fn.loc63 // CHECK:STDOUT: %.loc63_29.12: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc63_29.13: %Optional.e4a = acquire_value %.loc63_29.6 +// CHECK:STDOUT: %.loc63_29.13: %Optional.3c5 = acquire_value %.loc63_29.6 // CHECK:STDOUT: %Optional.Get.call.loc63: init %ValueType to %.loc63_29.12 = call %bound_method.loc63_29.6(%.loc63_29.13) // CHECK:STDOUT: %.loc63_29.14: ref %ValueType = temporary %.loc63_29.12, %Optional.Get.call.loc63 // CHECK:STDOUT: %.loc63_29.15: %ValueType = acquire_value %.loc63_29.14 @@ -1982,9 +1982,9 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %r.param_patt.loc40_68.2 => constants.%r.param_patt.a41 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.476) { +// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.068) { // CHECK:STDOUT: %R.patt.loc40_17.2 => constants.%R.patt -// CHECK:STDOUT: %R.loc40_17.1 => constants.%facet_value.476 +// CHECK:STDOUT: %R.loc40_17.1 => constants.%facet_value.068 // CHECK:STDOUT: %R.as_type.loc40_75.1 => constants.%MutableRange // CHECK:STDOUT: %pattern_type => constants.%pattern_type.e635 // CHECK:STDOUT: %r.patt.loc40_73.2 => constants.%r.patt.f69 @@ -1992,18 +1992,18 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc40 => constants.%complete_type.357 -// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.a9a -// CHECK:STDOUT: %Iterate.facet.loc44_29.5 => constants.%Iterate.facet.92d -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.b7d -// CHECK:STDOUT: %.loc44_29.20 => constants.%.605 +// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.cf3 +// CHECK:STDOUT: %Iterate.facet.loc44_29.5 => constants.%Iterate.facet.180 +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.9da +// CHECK:STDOUT: %.loc44_29.20 => constants.%.1e1 // CHECK:STDOUT: %impl.elem2.loc44_29.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.04f // CHECK:STDOUT: %specific_impl_fn.loc44_29.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.2ae // CHECK:STDOUT: %impl.elem1 => constants.%Destroy.facet.305 // CHECK:STDOUT: %as_type => constants.%tuple.type.829 // CHECK:STDOUT: %require_complete.1 => constants.%complete_type.94f // CHECK:STDOUT: %ptr => constants.%ptr.d6b -// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.bac -// CHECK:STDOUT: %.loc44_29.21 => constants.%.1a3 +// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.171 +// CHECK:STDOUT: %.loc44_29.21 => constants.%.c4e // CHECK:STDOUT: %impl.elem3.loc44_29.2 => constants.%T.as_type.as.Iterate.impl.Next.6bb // CHECK:STDOUT: %specific_impl_fn.loc44_29.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn.b6b // CHECK:STDOUT: %Destroy.WithSelf.Op.type => constants.%Destroy.WithSelf.Op.type.c89 @@ -2013,9 +2013,9 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %specific_impl_fn.loc44_29.6 => constants.%Destroy.Op.1a2547.8 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.557) { +// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.d5f) { // CHECK:STDOUT: %R.patt.loc40_17.2 => constants.%R.patt -// CHECK:STDOUT: %R.loc40_17.1 => constants.%facet_value.557 +// CHECK:STDOUT: %R.loc40_17.1 => constants.%facet_value.d5f // CHECK:STDOUT: %R.as_type.loc40_75.1 => constants.%ConstRange // CHECK:STDOUT: %pattern_type => constants.%pattern_type.0ba // CHECK:STDOUT: %r.patt.loc40_73.2 => constants.%r.patt.36a @@ -2023,18 +2023,18 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc40 => constants.%complete_type.357 -// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.734 -// CHECK:STDOUT: %Iterate.facet.loc44_29.5 => constants.%Iterate.facet.2d7 -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.982 -// CHECK:STDOUT: %.loc44_29.20 => constants.%.02e +// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.c1f +// CHECK:STDOUT: %Iterate.facet.loc44_29.5 => constants.%Iterate.facet.f80 +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.cd5 +// CHECK:STDOUT: %.loc44_29.20 => constants.%.e96 // CHECK:STDOUT: %impl.elem2.loc44_29.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.c2e // CHECK:STDOUT: %specific_impl_fn.loc44_29.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn.c09 // CHECK:STDOUT: %impl.elem1 => constants.%Destroy.facet.e08 // CHECK:STDOUT: %as_type => constants.%tuple.type.99f // CHECK:STDOUT: %require_complete.1 => constants.%complete_type.dea // CHECK:STDOUT: %ptr => constants.%ptr.2f7 -// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.fd6 -// CHECK:STDOUT: %.loc44_29.21 => constants.%.521 +// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.1e9 +// CHECK:STDOUT: %.loc44_29.21 => constants.%.5b1 // CHECK:STDOUT: %impl.elem3.loc44_29.2 => constants.%T.as_type.as.Iterate.impl.Next.760 // CHECK:STDOUT: %specific_impl_fn.loc44_29.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn.586 // CHECK:STDOUT: %Destroy.WithSelf.Op.type => constants.%Destroy.WithSelf.Op.type.e30 @@ -2128,20 +2128,20 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.bd3: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.705, %Iterate.facet.dbf [symbolic] // CHECK:STDOUT: %impl.elem3.d57: %.bd3 = impl_witness_access %Iterate.lookup_impl_witness.06b, element3 [symbolic] // CHECK:STDOUT: %DefaultOptionalStorage.84c: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.bf1) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.8be: = impl_witness imports.%OptionalStorage.impl_witness_table.cfa, @T.as_type.as.OptionalStorage.impl(%facet_value.bf1) [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.e59: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.8be) [concrete] -// CHECK:STDOUT: %Optional.e4a: type = class_type @Optional, @Optional(%OptionalStorage.facet.e59) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.9b5: = impl_witness imports.%OptionalStorage.impl_witness_table.460, @T.as_type.as.OptionalStorage.impl(%facet_value.bf1) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.a0c: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.9b5) [concrete] +// CHECK:STDOUT: %Optional.3c5: type = class_type @Optional, @Optional(%OptionalStorage.facet.a0c) [concrete] // CHECK:STDOUT: %specific_impl_fn.fca: = specific_impl_function %impl.elem3.d57, @Iterate.WithSelf.Next(%Iterate.facet.dbf) [symbolic] -// CHECK:STDOUT: %Optional.HasValue.type.360: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.e59) [concrete] -// CHECK:STDOUT: %Optional.HasValue.8c0: %Optional.HasValue.type.360 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.265: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.e59) [concrete] -// CHECK:STDOUT: %Optional.Get.726: %Optional.Get.type.265 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.cca: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.a0c) [concrete] +// CHECK:STDOUT: %Optional.HasValue.6d0: %Optional.HasValue.type.cca = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.c7a: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.a0c) [concrete] +// CHECK:STDOUT: %Optional.Get.6ac: %Optional.Get.type.c7a = struct_value () [concrete] // CHECK:STDOUT: %Destroy.facet.4e5: %Destroy.type = facet_value %ValueType, (%custom_witness.e7a31c.1) [concrete] // CHECK:STDOUT: %MaybeUnformed.02e: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.4e5) [concrete] -// CHECK:STDOUT: %.98c8: type = maybe_unformed_type %ValueType [concrete] +// CHECK:STDOUT: %.98c: type = maybe_unformed_type %ValueType [concrete] // CHECK:STDOUT: %struct_type.value.has_value.761: type = struct_type {.value: %MaybeUnformed.02e, .has_value: bool} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn.a49: = specific_function %Optional.HasValue.8c0, @Optional.HasValue(%OptionalStorage.facet.e59) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn.36a: = specific_function %Optional.Get.726, @Optional.Get(%OptionalStorage.facet.e59) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.8b5: = specific_function %Optional.HasValue.6d0, @Optional.HasValue(%OptionalStorage.facet.a0c) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn.ee5: = specific_function %Optional.Get.6ac, @Optional.Get(%OptionalStorage.facet.a0c) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.7: type = fn_type @Destroy.Op.loc27_29.6 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.7: %Destroy.Op.type.1d8f74.7 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.lookup_impl_witness.b29: = lookup_impl_witness %impl.elem1.3cf, @Destroy [symbolic] @@ -2177,21 +2177,21 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %Destroy.Op.1a2547.8: %Destroy.Op.type.1d8f74.8 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.df9cc1.8: = custom_witness (%Destroy.Op.1a2547.8), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.301: %Destroy.type = facet_value %tuple.type.2ad, (%custom_witness.df9cc1.8) [concrete] -// CHECK:STDOUT: %Iterate.impl_witness.72e: = impl_witness imports.%Iterate.impl_witness_table.978, @T.as_type.as.Iterate.impl(%facet_value.f81) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.725: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.f81) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.7da: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.f81) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.568: %T.as_type.as.Iterate.impl.NewCursor.type.7da = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.6ab: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.f81) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.200: %T.as_type.as.Iterate.impl.Next.type.6ab = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet.8a6: %Iterate.type = facet_value %Range, (%Iterate.impl_witness.72e) [concrete] -// CHECK:STDOUT: %facet_value.50e: %Iterate_where.type.502 = facet_value %Range, (%Iterate.impl_witness.72e) [concrete] +// CHECK:STDOUT: %Iterate.facet.53e: %Iterate.type = facet_value %Range, (%Iterate.impl_witness.725) [concrete] +// CHECK:STDOUT: %facet_value.4a4: %Iterate_where.type.502 = facet_value %Range, (%Iterate.impl_witness.725) [concrete] // CHECK:STDOUT: %r.patt.b9f: %pattern_type.23f = ref_binding_pattern r [concrete] // CHECK:STDOUT: %r.param_patt.466: %pattern_type.23f = var_param_pattern %r.patt.b9f [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.fd3: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.8a6) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.141: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.8a6) [concrete] -// CHECK:STDOUT: %.07b: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.fd3, %Iterate.facet.8a6 [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.11d: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.53e) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.51e: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.53e) [concrete] +// CHECK:STDOUT: %.649: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.11d, %Iterate.facet.53e [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn: = specific_function %T.as_type.as.Iterate.impl.NewCursor.568, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.f81) [concrete] // CHECK:STDOUT: %ptr.851: type = ptr_type %tuple.type.2ad [concrete] -// CHECK:STDOUT: %.515: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.141, %Iterate.facet.8a6 [concrete] +// CHECK:STDOUT: %.085: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.51e, %Iterate.facet.53e [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.200, @T.as_type.as.Iterate.impl.Next(%facet_value.f81) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.d8b: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.301) [concrete] // CHECK:STDOUT: %.f12: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.d8b, %Destroy.facet.301 [concrete] @@ -2205,19 +2205,19 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.bb6: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.e9e) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.6cd)] -// CHECK:STDOUT: %Core.import_ref.daba: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] +// CHECK:STDOUT: %Core.import_ref.dab: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] // CHECK:STDOUT: %Core.import_ref.0c6: type = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%DefaultOptionalStorage (constants.%DefaultOptionalStorage.d50)] // CHECK:STDOUT: %Core.import_ref.dc3: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None.type (%T.as_type.as.OptionalStorage.impl.None.type.0a1) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None (constants.%T.as_type.as.OptionalStorage.impl.None.e06)] // CHECK:STDOUT: %Core.import_ref.c53: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some.type (%T.as_type.as.OptionalStorage.impl.Some.type.492) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some (constants.%T.as_type.as.OptionalStorage.impl.Some.89a)] // CHECK:STDOUT: %Core.import_ref.ed4: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has.type (%T.as_type.as.OptionalStorage.impl.Has.type.e5a) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has (constants.%T.as_type.as.OptionalStorage.impl.Has.4ee)] // CHECK:STDOUT: %Core.import_ref.e9c: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get.type (%T.as_type.as.OptionalStorage.impl.Get.type.a12) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get (constants.%T.as_type.as.OptionalStorage.impl.Get.d32)] // CHECK:STDOUT: %Core.import_ref.0b2 = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.cfa = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.460 = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.eef: %facet_type.f48 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.f93)] // CHECK:STDOUT: %Core.import_ref.fcc: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9cd)] // CHECK:STDOUT: %Core.import_ref.fd1: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.953) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor (constants.%T.as_type.as.Iterate.impl.NewCursor.544)] // CHECK:STDOUT: %Core.import_ref.273: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next.type (%T.as_type.as.Iterate.impl.Next.type.b36) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next (constants.%T.as_type.as.Iterate.impl.Next.d6b)] -// CHECK:STDOUT: %Iterate.impl_witness_table.978 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] +// CHECK:STDOUT: %Iterate.impl_witness_table.121 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] // CHECK:STDOUT: %ValueType.decl: type = class_decl @ValueType [concrete = constants.%ValueType] {} {} // CHECK:STDOUT: %ValueType.cpp_destructor.decl: %ValueType.cpp_destructor.type = fn_decl @ValueType.cpp_destructor [concrete = constants.%ValueType.cpp_destructor] { // CHECK:STDOUT: @@ -2282,29 +2282,29 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc27_29.6: %Destroy.type = converted constants.%as_type.dbb, constants.%impl.elem1.3cf [symbolic = %impl.elem1 (constants.%impl.elem1.3cf)] // CHECK:STDOUT: %specific_impl_fn.loc27_29.2: = specific_impl_function %impl.elem3.loc27_29.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.dbf) [symbolic = %specific_impl_fn.loc27_29.5 (constants.%specific_impl_fn.fca)] // CHECK:STDOUT: %bound_method.loc27_29.4: = bound_method %r.ref, %specific_impl_fn.loc27_29.2 -// CHECK:STDOUT: %.loc27_29.7: ref %Optional.e4a = temporary_storage +// CHECK:STDOUT: %.loc27_29.7: ref %Optional.3c5 = temporary_storage // CHECK:STDOUT: %.loc27_28.2: @TestIterate.%R.as_type.loc25_75.1 (%R.as_type) = acquire_value %r.ref -// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.e4a to %.loc27_29.7 = call %bound_method.loc27_29.4(%.loc27_28.2, %addr) -// CHECK:STDOUT: %.loc27_29.8: ref %Optional.e4a = temporary %.loc27_29.7, %Iterate.WithSelf.Next.call -// CHECK:STDOUT: %.loc27_29.9: %Optional.HasValue.type.360 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.8c0] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.360 = name_ref HasValue, %.loc27_29.9 [concrete = constants.%Optional.HasValue.8c0] +// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.3c5 to %.loc27_29.7 = call %bound_method.loc27_29.4(%.loc27_28.2, %addr) +// CHECK:STDOUT: %.loc27_29.8: ref %Optional.3c5 = temporary %.loc27_29.7, %Iterate.WithSelf.Next.call +// CHECK:STDOUT: %.loc27_29.9: %Optional.HasValue.type.cca = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.6d0] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.cca = name_ref HasValue, %.loc27_29.9 [concrete = constants.%Optional.HasValue.6d0] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc27_29.8, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.specific_fn.a49] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.specific_fn.8b5] // CHECK:STDOUT: %bound_method.loc27_29.5: = bound_method %.loc27_29.8, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc27_29.10: %Optional.e4a = acquire_value %.loc27_29.8 +// CHECK:STDOUT: %.loc27_29.10: %Optional.3c5 = acquire_value %.loc27_29.8 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc27_29.5(%.loc27_29.10) // CHECK:STDOUT: %.loc27_29.11: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc27_29.12: bool = converted %Optional.HasValue.call, %.loc27_29.11 // CHECK:STDOUT: if %.loc27_29.12 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc27_29.13: %Optional.Get.type.265 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.726] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.265 = name_ref Get, %.loc27_29.13 [concrete = constants.%Optional.Get.726] +// CHECK:STDOUT: %.loc27_29.13: %Optional.Get.type.c7a = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.6ac] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.c7a = name_ref Get, %.loc27_29.13 [concrete = constants.%Optional.Get.6ac] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc27_29.8, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.specific_fn.36a] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.specific_fn.ee5] // CHECK:STDOUT: %bound_method.loc27_29.6: = bound_method %.loc27_29.8, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc27_29.14: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc27_29.15: %Optional.e4a = acquire_value %.loc27_29.8 +// CHECK:STDOUT: %.loc27_29.15: %Optional.3c5 = acquire_value %.loc27_29.8 // CHECK:STDOUT: %Optional.Get.call: init %ValueType to %.loc27_29.14 = call %bound_method.loc27_29.6(%.loc27_29.15) // CHECK:STDOUT: %.loc27_29.16: ref %ValueType = temporary %.loc27_29.14, %Optional.Get.call // CHECK:STDOUT: %.loc27_29.17: %ValueType = acquire_value %.loc27_29.16 @@ -2335,7 +2335,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc27_29.1(%self.param: ref %.98c8) { +// CHECK:STDOUT: fn @Destroy.Op.loc27_29.1(%self.param: ref %.98c) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -2357,7 +2357,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc27_29.6(%self.param: ref %Optional.e4a) { +// CHECK:STDOUT: fn @Destroy.Op.loc27_29.6(%self.param: ref %Optional.3c5) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -2368,7 +2368,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %_.patt: %pattern_type.e9f = value_binding_pattern _ [concrete = constants.%_.patt.8ae] // CHECK:STDOUT: } // CHECK:STDOUT: %r.ref: ref %Range = name_ref r, %r -// CHECK:STDOUT: %impl.elem2: %.07b = impl_witness_access constants.%Iterate.impl_witness.72e, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.568] +// CHECK:STDOUT: %impl.elem2: %.649 = impl_witness_access constants.%Iterate.impl_witness.725, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.568] // CHECK:STDOUT: %bound_method.loc37_29.1: = bound_method %r.ref, %impl.elem2 // CHECK:STDOUT: %facet_value.loc37_29.1: %CppRange_where.type.d682d6.1 = facet_value constants.%Range, (constants.%custom_witness.e7a31c.1, constants.%custom_witness.d0da43.1, constants.%custom_witness.7d7, constants.%custom_witness.f4a, constants.%custom_witness.773, constants.%custom_witness.716, constants.%custom_witness.297) [concrete = constants.%facet_value.f81] // CHECK:STDOUT: %.loc37_29.1: %CppRange_where.type.d682d6.1 = converted constants.%Range, %facet_value.loc37_29.1 [concrete = constants.%facet_value.f81] @@ -2384,7 +2384,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr: %ptr.851 = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.515 = impl_witness_access constants.%Iterate.impl_witness.72e, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.200] +// CHECK:STDOUT: %impl.elem3: %.085 = impl_witness_access constants.%Iterate.impl_witness.725, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.200] // CHECK:STDOUT: %bound_method.loc37_29.3: = bound_method %r.ref, %impl.elem3 // CHECK:STDOUT: %facet_value.loc37_29.3: %CppRange_where.type.d682d6.1 = facet_value constants.%Range, (constants.%custom_witness.e7a31c.1, constants.%custom_witness.d0da43.1, constants.%custom_witness.7d7, constants.%custom_witness.f4a, constants.%custom_witness.773, constants.%custom_witness.716, constants.%custom_witness.297) [concrete = constants.%facet_value.f81] // CHECK:STDOUT: %.loc37_29.3: %CppRange_where.type.d682d6.1 = converted constants.%Range, %facet_value.loc37_29.3 [concrete = constants.%facet_value.f81] @@ -2392,29 +2392,29 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc37_29.4: %CppRange_where.type.d682d6.1 = converted constants.%Range, %facet_value.loc37_29.4 [concrete = constants.%facet_value.f81] // CHECK:STDOUT: %specific_fn.loc37_29.2: = specific_function %impl.elem3, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.f81) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn] // CHECK:STDOUT: %bound_method.loc37_29.4: = bound_method %r.ref, %specific_fn.loc37_29.2 -// CHECK:STDOUT: %.loc37_29.5: ref %Optional.e4a = temporary_storage +// CHECK:STDOUT: %.loc37_29.5: ref %Optional.3c5 = temporary_storage // CHECK:STDOUT: %.loc37_28.2: %Range = acquire_value %r.ref -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.e4a to %.loc37_29.5 = call %bound_method.loc37_29.4(%.loc37_28.2, %addr) -// CHECK:STDOUT: %.loc37_29.6: ref %Optional.e4a = temporary %.loc37_29.5, %T.as_type.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc37_29.7: %Optional.HasValue.type.360 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.8c0] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.360 = name_ref HasValue, %.loc37_29.7 [concrete = constants.%Optional.HasValue.8c0] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.3c5 to %.loc37_29.5 = call %bound_method.loc37_29.4(%.loc37_28.2, %addr) +// CHECK:STDOUT: %.loc37_29.6: ref %Optional.3c5 = temporary %.loc37_29.5, %T.as_type.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc37_29.7: %Optional.HasValue.type.cca = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.6d0] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.cca = name_ref HasValue, %.loc37_29.7 [concrete = constants.%Optional.HasValue.6d0] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc37_29.6, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.HasValue.specific_fn.a49] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.HasValue.specific_fn.8b5] // CHECK:STDOUT: %bound_method.loc37_29.5: = bound_method %.loc37_29.6, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc37_29.8: %Optional.e4a = acquire_value %.loc37_29.6 +// CHECK:STDOUT: %.loc37_29.8: %Optional.3c5 = acquire_value %.loc37_29.6 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc37_29.5(%.loc37_29.8) // CHECK:STDOUT: %.loc37_29.9: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc37_29.10: bool = converted %Optional.HasValue.call, %.loc37_29.9 // CHECK:STDOUT: if %.loc37_29.10 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc37_29.11: %Optional.Get.type.265 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.726] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.265 = name_ref Get, %.loc37_29.11 [concrete = constants.%Optional.Get.726] +// CHECK:STDOUT: %.loc37_29.11: %Optional.Get.type.c7a = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.6ac] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.c7a = name_ref Get, %.loc37_29.11 [concrete = constants.%Optional.Get.6ac] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc37_29.6, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.e59) [concrete = constants.%Optional.Get.specific_fn.36a] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.a0c) [concrete = constants.%Optional.Get.specific_fn.ee5] // CHECK:STDOUT: %bound_method.loc37_29.6: = bound_method %.loc37_29.6, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc37_29.12: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc37_29.13: %Optional.e4a = acquire_value %.loc37_29.6 +// CHECK:STDOUT: %.loc37_29.13: %Optional.3c5 = acquire_value %.loc37_29.6 // CHECK:STDOUT: %Optional.Get.call: init %ValueType to %.loc37_29.12 = call %bound_method.loc37_29.6(%.loc37_29.13) // CHECK:STDOUT: %.loc37_29.14: ref %ValueType = temporary %.loc37_29.12, %Optional.Get.call // CHECK:STDOUT: %.loc37_29.15: %ValueType = acquire_value %.loc37_29.14 @@ -2448,9 +2448,9 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %r.param_patt.loc25_68.2 => constants.%r.param_patt.a41 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.50e) { +// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.4a4) { // CHECK:STDOUT: %R.patt.loc25_17.2 => constants.%R.patt -// CHECK:STDOUT: %R.loc25_17.1 => constants.%facet_value.50e +// CHECK:STDOUT: %R.loc25_17.1 => constants.%facet_value.4a4 // CHECK:STDOUT: %R.as_type.loc25_75.1 => constants.%Range // CHECK:STDOUT: %pattern_type => constants.%pattern_type.23f // CHECK:STDOUT: %r.patt.loc25_73.2 => constants.%r.patt.b9f @@ -2458,18 +2458,18 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc25 => constants.%complete_type.357 -// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.72e -// CHECK:STDOUT: %Iterate.facet.loc27_29.5 => constants.%Iterate.facet.8a6 -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.fd3 -// CHECK:STDOUT: %.loc27_29.20 => constants.%.07b +// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.725 +// CHECK:STDOUT: %Iterate.facet.loc27_29.5 => constants.%Iterate.facet.53e +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.11d +// CHECK:STDOUT: %.loc27_29.20 => constants.%.649 // CHECK:STDOUT: %impl.elem2.loc27_29.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.568 // CHECK:STDOUT: %specific_impl_fn.loc27_29.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn // CHECK:STDOUT: %impl.elem1 => constants.%Destroy.facet.301 // CHECK:STDOUT: %as_type => constants.%tuple.type.2ad // CHECK:STDOUT: %require_complete.1 => constants.%complete_type.e55 // CHECK:STDOUT: %ptr => constants.%ptr.851 -// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.141 -// CHECK:STDOUT: %.loc27_29.21 => constants.%.515 +// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.51e +// CHECK:STDOUT: %.loc27_29.21 => constants.%.085 // CHECK:STDOUT: %impl.elem3.loc27_29.2 => constants.%T.as_type.as.Iterate.impl.Next.200 // CHECK:STDOUT: %specific_impl_fn.loc27_29.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn // CHECK:STDOUT: %Destroy.WithSelf.Op.type => constants.%Destroy.WithSelf.Op.type.d8b @@ -2535,63 +2535,63 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.df9cc1.3: = custom_witness (%Destroy.Op.1a2547.3), @Destroy [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.ff3: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.d93: %Float.as.Copy.impl.Op.type.ff3 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.873: = impl_witness imports.%Copy.impl_witness_table.4e8, @Float.as.Copy.impl(%int_64) [concrete] -// CHECK:STDOUT: %facet_value.209: %facet_type.f48 = facet_value %f64.dc1, (%custom_witness.df9cc1.3, %Copy.impl_witness.873) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0d6: = impl_witness imports.%Copy.impl_witness_table.8dd, @Float.as.Copy.impl(%int_64) [concrete] +// CHECK:STDOUT: %facet_value.20d: %facet_type.f48 = facet_value %f64.dc1, (%custom_witness.df9cc1.3, %Copy.impl_witness.0d6) [concrete] // CHECK:STDOUT: %Iterate.lookup_impl_witness.1d8: = lookup_impl_witness %.Self.500, @Iterate [symbolic_self] // CHECK:STDOUT: %impl.elem0.294: %facet_type.f48 = impl_witness_access %Iterate.lookup_impl_witness.1d8, element0 [symbolic_self] -// CHECK:STDOUT: %Iterate_where.type.a32: type = facet_type <@Iterate where %impl.elem0.294 = %facet_value.209> [concrete] -// CHECK:STDOUT: %pattern_type.ff5: type = pattern_type %Iterate_where.type.a32 [concrete] -// CHECK:STDOUT: %R.patt: %pattern_type.ff5 = symbolic_binding_pattern R, 0 [symbolic] -// CHECK:STDOUT: %R: %Iterate_where.type.a32 = symbolic_binding R, 0 [symbolic] +// CHECK:STDOUT: %Iterate_where.type.e6d: type = facet_type <@Iterate where %impl.elem0.294 = %facet_value.20d> [concrete] +// CHECK:STDOUT: %pattern_type.dc5: type = pattern_type %Iterate_where.type.e6d [concrete] +// CHECK:STDOUT: %R.patt: %pattern_type.dc5 = symbolic_binding_pattern R, 0 [symbolic] +// CHECK:STDOUT: %R: %Iterate_where.type.e6d = symbolic_binding R, 0 [symbolic] // CHECK:STDOUT: %R.as_type: type = facet_access_type %R [symbolic] -// CHECK:STDOUT: %pattern_type.3d7: type = pattern_type %R.as_type [symbolic] -// CHECK:STDOUT: %r.param_patt.03a: %pattern_type.3d7 = value_param_pattern [symbolic] -// CHECK:STDOUT: %r.patt.b86: %pattern_type.3d7 = at_binding_pattern r, %r.param_patt.03a [symbolic] +// CHECK:STDOUT: %pattern_type.d35: type = pattern_type %R.as_type [symbolic] +// CHECK:STDOUT: %r.param_patt.bc2: %pattern_type.d35 = value_param_pattern [symbolic] +// CHECK:STDOUT: %r.patt.f03: %pattern_type.d35 = at_binding_pattern r, %r.param_patt.bc2 [symbolic] // CHECK:STDOUT: %i.patt: %pattern_type.fb7 = value_binding_pattern i [concrete] -// CHECK:STDOUT: %Iterate.lookup_impl_witness.93c: = lookup_impl_witness %R, @Iterate [symbolic] -// CHECK:STDOUT: %Iterate.facet.94d: %Iterate.type = facet_value %R.as_type, (%Iterate.lookup_impl_witness.93c) [symbolic] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.4c7: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.94d) [symbolic] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.275: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.94d) [symbolic] -// CHECK:STDOUT: %.a62a: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.4c7, %Iterate.facet.94d [symbolic] -// CHECK:STDOUT: %impl.elem2.c7b: %.a62a = impl_witness_access %Iterate.lookup_impl_witness.93c, element2 [symbolic] -// CHECK:STDOUT: %impl.elem1.7a9: %Destroy.type = impl_witness_access %Iterate.lookup_impl_witness.93c, element1 [symbolic] -// CHECK:STDOUT: %as_type.8e4: type = facet_access_type %impl.elem1.7a9 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.1b8: = specific_impl_function %impl.elem2.c7b, @Iterate.WithSelf.NewCursor(%Iterate.facet.94d) [symbolic] -// CHECK:STDOUT: %ptr.bac: type = ptr_type %as_type.8e4 [symbolic] -// CHECK:STDOUT: %.a06: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.275, %Iterate.facet.94d [symbolic] -// CHECK:STDOUT: %impl.elem3.7bd: %.a06 = impl_witness_access %Iterate.lookup_impl_witness.93c, element3 [symbolic] -// CHECK:STDOUT: %DefaultOptionalStorage.541: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.209) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.0e2: = impl_witness imports.%OptionalStorage.impl_witness_table.cfa, @T.as_type.as.OptionalStorage.impl(%facet_value.209) [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.957: %OptionalStorage.type = facet_value %f64.dc1, (%OptionalStorage.impl_witness.0e2) [concrete] -// CHECK:STDOUT: %Optional.433: type = class_type @Optional, @Optional(%OptionalStorage.facet.957) [concrete] -// CHECK:STDOUT: %specific_impl_fn.666: = specific_impl_function %impl.elem3.7bd, @Iterate.WithSelf.Next(%Iterate.facet.94d) [symbolic] -// CHECK:STDOUT: %Optional.HasValue.type.1e2: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.957) [concrete] -// CHECK:STDOUT: %Optional.HasValue.403: %Optional.HasValue.type.1e2 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.d09: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.957) [concrete] -// CHECK:STDOUT: %Optional.Get.a70: %Optional.Get.type.d09 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.lookup_impl_witness.757: = lookup_impl_witness %R, @Iterate [symbolic] +// CHECK:STDOUT: %Iterate.facet.737: %Iterate.type = facet_value %R.as_type, (%Iterate.lookup_impl_witness.757) [symbolic] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.346: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.737) [symbolic] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.f8a: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.737) [symbolic] +// CHECK:STDOUT: %.41f: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.346, %Iterate.facet.737 [symbolic] +// CHECK:STDOUT: %impl.elem2.804: %.41f = impl_witness_access %Iterate.lookup_impl_witness.757, element2 [symbolic] +// CHECK:STDOUT: %impl.elem1.e8e: %Destroy.type = impl_witness_access %Iterate.lookup_impl_witness.757, element1 [symbolic] +// CHECK:STDOUT: %as_type.b98: type = facet_access_type %impl.elem1.e8e [symbolic] +// CHECK:STDOUT: %specific_impl_fn.a60: = specific_impl_function %impl.elem2.804, @Iterate.WithSelf.NewCursor(%Iterate.facet.737) [symbolic] +// CHECK:STDOUT: %ptr.f03: type = ptr_type %as_type.b98 [symbolic] +// CHECK:STDOUT: %.ecb: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.f8a, %Iterate.facet.737 [symbolic] +// CHECK:STDOUT: %impl.elem3.d3c: %.ecb = impl_witness_access %Iterate.lookup_impl_witness.757, element3 [symbolic] +// CHECK:STDOUT: %DefaultOptionalStorage.8c0: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.20d) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.872: = impl_witness imports.%OptionalStorage.impl_witness_table.460, @T.as_type.as.OptionalStorage.impl(%facet_value.20d) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.4d5: %OptionalStorage.type = facet_value %f64.dc1, (%OptionalStorage.impl_witness.872) [concrete] +// CHECK:STDOUT: %Optional.e07: type = class_type @Optional, @Optional(%OptionalStorage.facet.4d5) [concrete] +// CHECK:STDOUT: %specific_impl_fn.b90: = specific_impl_function %impl.elem3.d3c, @Iterate.WithSelf.Next(%Iterate.facet.737) [symbolic] +// CHECK:STDOUT: %Optional.HasValue.type.43a: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.4d5) [concrete] +// CHECK:STDOUT: %Optional.HasValue.1c0: %Optional.HasValue.type.43a = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.a84: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.4d5) [concrete] +// CHECK:STDOUT: %Optional.Get.4e0: %Optional.Get.type.a84 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.facet.339: %Destroy.type = facet_value %f64.dc1, (%custom_witness.df9cc1.3) [concrete] // CHECK:STDOUT: %MaybeUnformed.b7e: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.339) [concrete] // CHECK:STDOUT: %.cc0: type = maybe_unformed_type %f64.dc1 [concrete] // CHECK:STDOUT: %struct_type.value.has_value.ad9: type = struct_type {.value: %MaybeUnformed.b7e, .has_value: bool} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn.9e6: = specific_function %Optional.HasValue.403, @Optional.HasValue(%OptionalStorage.facet.957) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn.dc1: = specific_function %Optional.Get.a70, @Optional.Get(%OptionalStorage.facet.957) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.0a6: = specific_function %Optional.HasValue.1c0, @Optional.HasValue(%OptionalStorage.facet.4d5) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn.3a1: = specific_function %Optional.Get.4e0, @Optional.Get(%OptionalStorage.facet.4d5) [concrete] // CHECK:STDOUT: %AddAssignWith.type.ff9: type = facet_type <@AddAssignWith, @AddAssignWith(%f64.dc1)> [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.fdd: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.430: %Float.as.AddAssignWith.impl.Op.type.fdd = struct_value () [symbolic] -// CHECK:STDOUT: %AddAssignWith.impl_witness.e85: = impl_witness imports.%AddAssignWith.impl_witness_table, @Float.as.AddAssignWith.impl(%int_64) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.402: = impl_witness imports.%AddAssignWith.impl_witness_table, @Float.as.AddAssignWith.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.a92: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.ac1: %Float.as.AddAssignWith.impl.Op.type.a92 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.ff9 = facet_value %f64.dc1, (%AddAssignWith.impl_witness.e85) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.f8a: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%f64.dc1, %AddAssignWith.facet) [concrete] -// CHECK:STDOUT: %.746: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.f8a, %AddAssignWith.facet [concrete] +// CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.ff9 = facet_value %f64.dc1, (%AddAssignWith.impl_witness.402) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.d04: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%f64.dc1, %AddAssignWith.facet) [concrete] +// CHECK:STDOUT: %.918: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.d04, %AddAssignWith.facet [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Float.as.AddAssignWith.impl.Op.ac1, @Float.as.AddAssignWith.impl.Op(%int_64) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.9: type = fn_type @Destroy.Op.loc24_19.6 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.9: %Destroy.Op.type.1d8f74.9 = struct_value () [concrete] -// CHECK:STDOUT: %Destroy.lookup_impl_witness.def: = lookup_impl_witness %impl.elem1.7a9, @Destroy [symbolic] -// CHECK:STDOUT: %Destroy.WithSelf.Op.type.41f: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1.7a9) [symbolic] -// CHECK:STDOUT: %.148: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.41f, %impl.elem1.7a9 [symbolic] -// CHECK:STDOUT: %impl.elem0.461: %.148 = impl_witness_access %Destroy.lookup_impl_witness.def, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.095b: = specific_impl_function %impl.elem0.461, @Destroy.WithSelf.Op(%impl.elem1.7a9) [symbolic] +// CHECK:STDOUT: %Destroy.lookup_impl_witness.02f: = lookup_impl_witness %impl.elem1.e8e, @Destroy [symbolic] +// CHECK:STDOUT: %Destroy.WithSelf.Op.type.f26: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1.e8e) [symbolic] +// CHECK:STDOUT: %.f38: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.f26, %impl.elem1.e8e [symbolic] +// CHECK:STDOUT: %impl.elem0.54b: %.f38 = impl_witness_access %Destroy.lookup_impl_witness.02f, element0 [symbolic] +// CHECK:STDOUT: %specific_impl_fn.b70: = specific_impl_function %impl.elem0.54b, @Destroy.WithSelf.Op(%impl.elem1.e8e) [symbolic] // CHECK:STDOUT: %ConstRange: type = class_type @ConstRange [concrete] // CHECK:STDOUT: %pattern_type.025: type = pattern_type %ConstRange [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -2616,28 +2616,28 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %NotEqual.type: type = fn_type @NotEqual [concrete] // CHECK:STDOUT: %NotEqual: %NotEqual.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.821: = custom_witness (%Equal, %NotEqual), @EqWith, @EqWith(%Iterator) [concrete] -// CHECK:STDOUT: %facet_value.f27: %CppRange_where.type.d682d6.1 = facet_value %ConstRange, (%custom_witness.df9cc1.3, %Copy.impl_witness.873, %custom_witness.5d5, %custom_witness.213, %custom_witness.994, %custom_witness.393, %custom_witness.821) [concrete] +// CHECK:STDOUT: %facet_value.bbe: %CppRange_where.type.d682d6.1 = facet_value %ConstRange, (%custom_witness.df9cc1.3, %Copy.impl_witness.0d6, %custom_witness.5d5, %custom_witness.213, %custom_witness.994, %custom_witness.393, %custom_witness.821) [concrete] // CHECK:STDOUT: %tuple.type.005: type = tuple_type (%Iterator, %Iterator) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.10: type = fn_type @Destroy.Op.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.10: %Destroy.Op.type.1d8f74.10 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.df9cc1.10: = custom_witness (%Destroy.Op.1a2547.10), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.40b: %Destroy.type = facet_value %tuple.type.005, (%custom_witness.df9cc1.10) [concrete] -// CHECK:STDOUT: %Iterate.impl_witness.f9b: = impl_witness imports.%Iterate.impl_witness_table.978, @T.as_type.as.Iterate.impl(%facet_value.f27) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.05b: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.f27) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.c1e: %T.as_type.as.Iterate.impl.NewCursor.type.05b = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.1c8: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.f27) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.d0e: %T.as_type.as.Iterate.impl.Next.type.1c8 = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet.a4b: %Iterate.type = facet_value %ConstRange, (%Iterate.impl_witness.f9b) [concrete] -// CHECK:STDOUT: %facet_value.238: %Iterate_where.type.a32 = facet_value %ConstRange, (%Iterate.impl_witness.f9b) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.526: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.bbe) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.fa7: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.bbe) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.5bc: %T.as_type.as.Iterate.impl.NewCursor.type.fa7 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.9a0: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.bbe) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.a4d: %T.as_type.as.Iterate.impl.Next.type.9a0 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.facet.212: %Iterate.type = facet_value %ConstRange, (%Iterate.impl_witness.526) [concrete] +// CHECK:STDOUT: %facet_value.eb1: %Iterate_where.type.e6d = facet_value %ConstRange, (%Iterate.impl_witness.526) [concrete] // CHECK:STDOUT: %r.param_patt.a73: %pattern_type.025 = value_param_pattern [concrete] // CHECK:STDOUT: %r.patt.0e2: %pattern_type.025 = at_binding_pattern r, %r.param_patt.a73 [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.784: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.a4b) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.8ec: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.a4b) [concrete] -// CHECK:STDOUT: %.c9e: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.784, %Iterate.facet.a4b [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn: = specific_function %T.as_type.as.Iterate.impl.NewCursor.c1e, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.f27) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.8e0: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.212) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.2d3: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.212) [concrete] +// CHECK:STDOUT: %.835: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.8e0, %Iterate.facet.212 [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn: = specific_function %T.as_type.as.Iterate.impl.NewCursor.5bc, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.bbe) [concrete] // CHECK:STDOUT: %ptr.d1a: type = ptr_type %tuple.type.005 [concrete] -// CHECK:STDOUT: %.8ea: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.8ec, %Iterate.facet.a4b [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.d0e, @T.as_type.as.Iterate.impl.Next(%facet_value.f27) [concrete] +// CHECK:STDOUT: %.7d6: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.2d3, %Iterate.facet.212 [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.a4d, @T.as_type.as.Iterate.impl.Next(%facet_value.bbe) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.117: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.40b) [concrete] // CHECK:STDOUT: %.5a4: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.117, %Destroy.facet.40b [concrete] // CHECK:STDOUT: %complete_type.320: = complete_type_witness %tuple.type.005 [concrete] @@ -2645,47 +2645,47 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.bb6: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.e9e) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.6cd)] -// CHECK:STDOUT: %Core.import_ref.daba: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] +// CHECK:STDOUT: %Core.import_ref.dab: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] // CHECK:STDOUT: %Core.import_ref.0c6: type = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%DefaultOptionalStorage (constants.%DefaultOptionalStorage.d50)] // CHECK:STDOUT: %Core.import_ref.dc3: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None.type (%T.as_type.as.OptionalStorage.impl.None.type.0a1) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None (constants.%T.as_type.as.OptionalStorage.impl.None.e06)] // CHECK:STDOUT: %Core.import_ref.c530: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some.type (%T.as_type.as.OptionalStorage.impl.Some.type.492) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some (constants.%T.as_type.as.OptionalStorage.impl.Some.89a)] // CHECK:STDOUT: %Core.import_ref.ed4: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has.type (%T.as_type.as.OptionalStorage.impl.Has.type.e5a) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has (constants.%T.as_type.as.OptionalStorage.impl.Has.4ee)] // CHECK:STDOUT: %Core.import_ref.e9c: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get.type (%T.as_type.as.OptionalStorage.impl.Get.type.a12) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get (constants.%T.as_type.as.OptionalStorage.impl.Get.d32)] // CHECK:STDOUT: %Core.import_ref.0b2 = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.cfa = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c530, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.460 = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c530, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.eef: %facet_type.f48 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.f93)] // CHECK:STDOUT: %Core.import_ref.fcc: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9cd)] // CHECK:STDOUT: %Core.import_ref.fd1a: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.953) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor (constants.%T.as_type.as.Iterate.impl.NewCursor.544)] // CHECK:STDOUT: %Core.import_ref.273: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next.type (%T.as_type.as.Iterate.impl.Next.type.b36) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next (constants.%T.as_type.as.Iterate.impl.Next.d6b)] -// CHECK:STDOUT: %Iterate.impl_witness_table.978 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1a, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] +// CHECK:STDOUT: %Iterate.impl_witness_table.121 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1a, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e69: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.ff3) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.Copy.impl.%Float.as.Copy.impl.Op (constants.%Float.as.Copy.impl.Op.d93)] -// CHECK:STDOUT: %Copy.impl_witness_table.4e8 = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8dd = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.cb3: @Float.as.AddAssignWith.impl.%Float.as.AddAssignWith.impl.Op.type (%Float.as.AddAssignWith.impl.Op.type.fdd) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.AddAssignWith.impl.%Float.as.AddAssignWith.impl.Op (constants.%Float.as.AddAssignWith.impl.Op.430)] // CHECK:STDOUT: %AddAssignWith.impl_witness_table = impl_witness_table (%Core.import_ref.cb3), @Float.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @TestIterate(%R.loc20_17.2: %Iterate_where.type.a32) { +// CHECK:STDOUT: generic fn @TestIterate(%R.loc20_17.2: %Iterate_where.type.e6d) { // CHECK:STDOUT: // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: %Iterate.lookup_impl_witness: = lookup_impl_witness %R.loc20_17.1, @Iterate [symbolic = %Iterate.lookup_impl_witness (constants.%Iterate.lookup_impl_witness.93c)] -// CHECK:STDOUT: %Iterate.facet.loc24_19.5: %Iterate.type = facet_value %R.as_type.loc20_61.1, (%Iterate.lookup_impl_witness) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.loc24_19.5) [symbolic = %Iterate.WithSelf.NewCursor.type (constants.%Iterate.WithSelf.NewCursor.type.4c7)] -// CHECK:STDOUT: %.loc24_19.19: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type, %Iterate.facet.loc24_19.5 [symbolic = %.loc24_19.19 (constants.%.a62a)] -// CHECK:STDOUT: %impl.elem2.loc24_19.2: @TestIterate.%.loc24_19.19 (%.a62a) = impl_witness_access %Iterate.lookup_impl_witness, element2 [symbolic = %impl.elem2.loc24_19.2 (constants.%impl.elem2.c7b)] -// CHECK:STDOUT: %specific_impl_fn.loc24_19.4: = specific_impl_function %impl.elem2.loc24_19.2, @Iterate.WithSelf.NewCursor(%Iterate.facet.loc24_19.5) [symbolic = %specific_impl_fn.loc24_19.4 (constants.%specific_impl_fn.1b8)] +// CHECK:STDOUT: %Iterate.lookup_impl_witness: = lookup_impl_witness %R.loc20_17.1, @Iterate [symbolic = %Iterate.lookup_impl_witness (constants.%Iterate.lookup_impl_witness.757)] +// CHECK:STDOUT: %Iterate.facet.loc24_19.5: %Iterate.type = facet_value %R.as_type.loc20_61.1, (%Iterate.lookup_impl_witness) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.loc24_19.5) [symbolic = %Iterate.WithSelf.NewCursor.type (constants.%Iterate.WithSelf.NewCursor.type.346)] +// CHECK:STDOUT: %.loc24_19.19: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type, %Iterate.facet.loc24_19.5 [symbolic = %.loc24_19.19 (constants.%.41f)] +// CHECK:STDOUT: %impl.elem2.loc24_19.2: @TestIterate.%.loc24_19.19 (%.41f) = impl_witness_access %Iterate.lookup_impl_witness, element2 [symbolic = %impl.elem2.loc24_19.2 (constants.%impl.elem2.804)] +// CHECK:STDOUT: %specific_impl_fn.loc24_19.4: = specific_impl_function %impl.elem2.loc24_19.2, @Iterate.WithSelf.NewCursor(%Iterate.facet.loc24_19.5) [symbolic = %specific_impl_fn.loc24_19.4 (constants.%specific_impl_fn.a60)] // CHECK:STDOUT: -// CHECK:STDOUT: %ptr: type = ptr_type %as_type [symbolic = %ptr (constants.%ptr.bac)] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.loc24_19.5) [symbolic = %Iterate.WithSelf.Next.type (constants.%Iterate.WithSelf.Next.type.275)] -// CHECK:STDOUT: %.loc24_19.20: type = fn_type_with_self_type %Iterate.WithSelf.Next.type, %Iterate.facet.loc24_19.5 [symbolic = %.loc24_19.20 (constants.%.a06)] -// CHECK:STDOUT: %impl.elem3.loc24_19.2: @TestIterate.%.loc24_19.20 (%.a06) = impl_witness_access %Iterate.lookup_impl_witness, element3 [symbolic = %impl.elem3.loc24_19.2 (constants.%impl.elem3.7bd)] -// CHECK:STDOUT: %specific_impl_fn.loc24_19.5: = specific_impl_function %impl.elem3.loc24_19.2, @Iterate.WithSelf.Next(%Iterate.facet.loc24_19.5) [symbolic = %specific_impl_fn.loc24_19.5 (constants.%specific_impl_fn.666)] -// CHECK:STDOUT: %Destroy.WithSelf.Op.type: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1) [symbolic = %Destroy.WithSelf.Op.type (constants.%Destroy.WithSelf.Op.type.41f)] -// CHECK:STDOUT: %.loc24_19.21: type = fn_type_with_self_type %Destroy.WithSelf.Op.type, %impl.elem1 [symbolic = %.loc24_19.21 (constants.%.148)] -// CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %impl.elem1, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness.def)] -// CHECK:STDOUT: %impl.elem0.loc24_19.2: @TestIterate.%.loc24_19.21 (%.148) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc24_19.2 (constants.%impl.elem0.461)] -// CHECK:STDOUT: %specific_impl_fn.loc24_19.6: = specific_impl_function %impl.elem0.loc24_19.2, @Destroy.WithSelf.Op(%impl.elem1) [symbolic = %specific_impl_fn.loc24_19.6 (constants.%specific_impl_fn.095b)] +// CHECK:STDOUT: %ptr: type = ptr_type %as_type [symbolic = %ptr (constants.%ptr.f03)] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.loc24_19.5) [symbolic = %Iterate.WithSelf.Next.type (constants.%Iterate.WithSelf.Next.type.f8a)] +// CHECK:STDOUT: %.loc24_19.20: type = fn_type_with_self_type %Iterate.WithSelf.Next.type, %Iterate.facet.loc24_19.5 [symbolic = %.loc24_19.20 (constants.%.ecb)] +// CHECK:STDOUT: %impl.elem3.loc24_19.2: @TestIterate.%.loc24_19.20 (%.ecb) = impl_witness_access %Iterate.lookup_impl_witness, element3 [symbolic = %impl.elem3.loc24_19.2 (constants.%impl.elem3.d3c)] +// CHECK:STDOUT: %specific_impl_fn.loc24_19.5: = specific_impl_function %impl.elem3.loc24_19.2, @Iterate.WithSelf.Next(%Iterate.facet.loc24_19.5) [symbolic = %specific_impl_fn.loc24_19.5 (constants.%specific_impl_fn.b90)] +// CHECK:STDOUT: %Destroy.WithSelf.Op.type: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1) [symbolic = %Destroy.WithSelf.Op.type (constants.%Destroy.WithSelf.Op.type.f26)] +// CHECK:STDOUT: %.loc24_19.21: type = fn_type_with_self_type %Destroy.WithSelf.Op.type, %impl.elem1 [symbolic = %.loc24_19.21 (constants.%.f38)] +// CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %impl.elem1, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness.02f)] +// CHECK:STDOUT: %impl.elem0.loc24_19.2: @TestIterate.%.loc24_19.21 (%.f38) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc24_19.2 (constants.%impl.elem0.54b)] +// CHECK:STDOUT: %specific_impl_fn.loc24_19.6: = specific_impl_function %impl.elem0.loc24_19.2, @Destroy.WithSelf.Op(%impl.elem1) [symbolic = %specific_impl_fn.loc24_19.6 (constants.%specific_impl_fn.b70)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%r.param: @TestIterate.%R.as_type.loc20_61.1 (%R.as_type)) { // CHECK:STDOUT: !entry: @@ -2694,52 +2694,52 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt: %pattern_type.fb7 = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %r.ref: @TestIterate.%R.as_type.loc20_61.1 (%R.as_type) = name_ref r, %r -// CHECK:STDOUT: %impl.elem2.loc24_19.1: @TestIterate.%.loc24_19.19 (%.a62a) = impl_witness_access constants.%Iterate.lookup_impl_witness.93c, element2 [symbolic = %impl.elem2.loc24_19.2 (constants.%impl.elem2.c7b)] +// CHECK:STDOUT: %impl.elem2.loc24_19.1: @TestIterate.%.loc24_19.19 (%.41f) = impl_witness_access constants.%Iterate.lookup_impl_witness.757, element2 [symbolic = %impl.elem2.loc24_19.2 (constants.%impl.elem2.804)] // CHECK:STDOUT: %bound_method.loc24_19.1: = bound_method %r.ref, %impl.elem2.loc24_19.1 -// CHECK:STDOUT: %Iterate.facet.loc24_19.1: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.93c) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc24_19.1: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc24_19.1 [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %Iterate.facet.loc24_19.2: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.93c) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc24_19.2: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc24_19.2 [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %specific_impl_fn.loc24_19.1: = specific_impl_function %impl.elem2.loc24_19.1, @Iterate.WithSelf.NewCursor(constants.%Iterate.facet.94d) [symbolic = %specific_impl_fn.loc24_19.4 (constants.%specific_impl_fn.1b8)] +// CHECK:STDOUT: %Iterate.facet.loc24_19.1: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.757) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc24_19.1: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc24_19.1 [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %Iterate.facet.loc24_19.2: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.757) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc24_19.2: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc24_19.2 [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %specific_impl_fn.loc24_19.1: = specific_impl_function %impl.elem2.loc24_19.1, @Iterate.WithSelf.NewCursor(constants.%Iterate.facet.737) [symbolic = %specific_impl_fn.loc24_19.4 (constants.%specific_impl_fn.a60)] // CHECK:STDOUT: %bound_method.loc24_19.2: = bound_method %r.ref, %specific_impl_fn.loc24_19.1 -// CHECK:STDOUT: %var: ref @TestIterate.%as_type (%as_type.8e4) = var_storage invalid -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.call: init @TestIterate.%as_type (%as_type.8e4) to %var = call %bound_method.loc24_19.2(%r.ref) +// CHECK:STDOUT: %var: ref @TestIterate.%as_type (%as_type.b98) = var_storage invalid +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.call: init @TestIterate.%as_type (%as_type.b98) to %var = call %bound_method.loc24_19.2(%r.ref) // CHECK:STDOUT: assign %var, %Iterate.WithSelf.NewCursor.call // CHECK:STDOUT: br !for.next // CHECK:STDOUT: // CHECK:STDOUT: !for.next: -// CHECK:STDOUT: %addr: @TestIterate.%ptr (%ptr.bac) = addr_of %var -// CHECK:STDOUT: %impl.elem3.loc24_19.1: @TestIterate.%.loc24_19.20 (%.a06) = impl_witness_access constants.%Iterate.lookup_impl_witness.93c, element3 [symbolic = %impl.elem3.loc24_19.2 (constants.%impl.elem3.7bd)] +// CHECK:STDOUT: %addr: @TestIterate.%ptr (%ptr.f03) = addr_of %var +// CHECK:STDOUT: %impl.elem3.loc24_19.1: @TestIterate.%.loc24_19.20 (%.ecb) = impl_witness_access constants.%Iterate.lookup_impl_witness.757, element3 [symbolic = %impl.elem3.loc24_19.2 (constants.%impl.elem3.d3c)] // CHECK:STDOUT: %bound_method.loc24_19.3: = bound_method %r.ref, %impl.elem3.loc24_19.1 -// CHECK:STDOUT: %Iterate.facet.loc24_19.3: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.93c) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc24_19.3: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc24_19.3 [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %Iterate.facet.loc24_19.4: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.93c) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc24_19.4: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc24_19.4 [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc24_19.5: %Destroy.type = converted constants.%as_type.8e4, constants.%impl.elem1.7a9 [symbolic = %impl.elem1 (constants.%impl.elem1.7a9)] -// CHECK:STDOUT: %.loc24_19.6: %Destroy.type = converted constants.%as_type.8e4, constants.%impl.elem1.7a9 [symbolic = %impl.elem1 (constants.%impl.elem1.7a9)] -// CHECK:STDOUT: %specific_impl_fn.loc24_19.2: = specific_impl_function %impl.elem3.loc24_19.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.94d) [symbolic = %specific_impl_fn.loc24_19.5 (constants.%specific_impl_fn.666)] +// CHECK:STDOUT: %Iterate.facet.loc24_19.3: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.757) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc24_19.3: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc24_19.3 [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %Iterate.facet.loc24_19.4: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.757) [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc24_19.4: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc24_19.4 [symbolic = %Iterate.facet.loc24_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc24_19.5: %Destroy.type = converted constants.%as_type.b98, constants.%impl.elem1.e8e [symbolic = %impl.elem1 (constants.%impl.elem1.e8e)] +// CHECK:STDOUT: %.loc24_19.6: %Destroy.type = converted constants.%as_type.b98, constants.%impl.elem1.e8e [symbolic = %impl.elem1 (constants.%impl.elem1.e8e)] +// CHECK:STDOUT: %specific_impl_fn.loc24_19.2: = specific_impl_function %impl.elem3.loc24_19.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.737) [symbolic = %specific_impl_fn.loc24_19.5 (constants.%specific_impl_fn.b90)] // CHECK:STDOUT: %bound_method.loc24_19.4: = bound_method %r.ref, %specific_impl_fn.loc24_19.2 -// CHECK:STDOUT: %.loc24_19.7: ref %Optional.433 = temporary_storage -// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.433 to %.loc24_19.7 = call %bound_method.loc24_19.4(%r.ref, %addr) -// CHECK:STDOUT: %.loc24_19.8: ref %Optional.433 = temporary %.loc24_19.7, %Iterate.WithSelf.Next.call -// CHECK:STDOUT: %.loc24_19.9: %Optional.HasValue.type.1e2 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.HasValue.403] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.1e2 = name_ref HasValue, %.loc24_19.9 [concrete = constants.%Optional.HasValue.403] +// CHECK:STDOUT: %.loc24_19.7: ref %Optional.e07 = temporary_storage +// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.e07 to %.loc24_19.7 = call %bound_method.loc24_19.4(%r.ref, %addr) +// CHECK:STDOUT: %.loc24_19.8: ref %Optional.e07 = temporary %.loc24_19.7, %Iterate.WithSelf.Next.call +// CHECK:STDOUT: %.loc24_19.9: %Optional.HasValue.type.43a = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.HasValue.1c0] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.43a = name_ref HasValue, %.loc24_19.9 [concrete = constants.%Optional.HasValue.1c0] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc24_19.8, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.HasValue.specific_fn.9e6] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.HasValue.specific_fn.0a6] // CHECK:STDOUT: %bound_method.loc24_19.5: = bound_method %.loc24_19.8, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc24_19.10: %Optional.433 = acquire_value %.loc24_19.8 +// CHECK:STDOUT: %.loc24_19.10: %Optional.e07 = acquire_value %.loc24_19.8 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc24_19.5(%.loc24_19.10) // CHECK:STDOUT: %.loc24_19.11: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc24_19.12: bool = converted %Optional.HasValue.call, %.loc24_19.11 // CHECK:STDOUT: if %.loc24_19.12 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc24_19.13: %Optional.Get.type.d09 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.Get.a70] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.d09 = name_ref Get, %.loc24_19.13 [concrete = constants.%Optional.Get.a70] +// CHECK:STDOUT: %.loc24_19.13: %Optional.Get.type.a84 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.Get.4e0] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.a84 = name_ref Get, %.loc24_19.13 [concrete = constants.%Optional.Get.4e0] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc24_19.8, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.Get.specific_fn.dc1] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.Get.specific_fn.3a1] // CHECK:STDOUT: %bound_method.loc24_19.6: = bound_method %.loc24_19.8, %Optional.Get.specific_fn -// CHECK:STDOUT: %.loc24_19.14: %Optional.433 = acquire_value %.loc24_19.8 +// CHECK:STDOUT: %.loc24_19.14: %Optional.e07 = acquire_value %.loc24_19.8 // CHECK:STDOUT: %Optional.Get.call: init %f64.dc1 = call %bound_method.loc24_19.6(%.loc24_19.14) // CHECK:STDOUT: %.loc24_19.15: %f64.dc1 = value_of_initializer %Optional.Get.call // CHECK:STDOUT: %.loc24_19.16: %f64.dc1 = converted %Optional.Get.call, %.loc24_19.15 @@ -2747,7 +2747,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i: %f64.dc1 = wrapper_binding i, %.loc24_19.16 // CHECK:STDOUT: %sum.ref: ref %f64.dc1 = name_ref sum, %sum // CHECK:STDOUT: %i.ref: %f64.dc1 = name_ref i, %i -// CHECK:STDOUT: %impl.elem0.loc25: %.746 = impl_witness_access constants.%AddAssignWith.impl_witness.e85, element0 [concrete = constants.%Float.as.AddAssignWith.impl.Op.ac1] +// CHECK:STDOUT: %impl.elem0.loc25: %.918 = impl_witness_access constants.%AddAssignWith.impl_witness.402, element0 [concrete = constants.%Float.as.AddAssignWith.impl.Op.ac1] // CHECK:STDOUT: %bound_method.loc25_9.1: = bound_method %sum.ref, %impl.elem0.loc25 // CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Float.as.AddAssignWith.impl.Op(constants.%int_64) [concrete = constants.%Float.as.AddAssignWith.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc25_9.2: = bound_method %sum.ref, %specific_fn.loc25 @@ -2759,11 +2759,11 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: !for.done: // CHECK:STDOUT: %Destroy.Op.bound.loc24_19.2: = bound_method %.loc24_19.8, constants.%Destroy.Op.1a2547.9 // CHECK:STDOUT: %Destroy.Op.call.loc24_19.2: init %empty_tuple.type = call %Destroy.Op.bound.loc24_19.2(%.loc24_19.8) -// CHECK:STDOUT: %impl.elem0.loc24_19.1: @TestIterate.%.loc24_19.21 (%.148) = impl_witness_access constants.%Destroy.lookup_impl_witness.def, element0 [symbolic = %impl.elem0.loc24_19.2 (constants.%impl.elem0.461)] +// CHECK:STDOUT: %impl.elem0.loc24_19.1: @TestIterate.%.loc24_19.21 (%.f38) = impl_witness_access constants.%Destroy.lookup_impl_witness.02f, element0 [symbolic = %impl.elem0.loc24_19.2 (constants.%impl.elem0.54b)] // CHECK:STDOUT: %bound_method.loc24_19.7: = bound_method %var, %impl.elem0.loc24_19.1 -// CHECK:STDOUT: %.loc24_19.17: %Destroy.type = converted constants.%as_type.8e4, constants.%impl.elem1.7a9 [symbolic = %impl.elem1 (constants.%impl.elem1.7a9)] -// CHECK:STDOUT: %.loc24_19.18: %Destroy.type = converted constants.%as_type.8e4, constants.%impl.elem1.7a9 [symbolic = %impl.elem1 (constants.%impl.elem1.7a9)] -// CHECK:STDOUT: %specific_impl_fn.loc24_19.3: = specific_impl_function %impl.elem0.loc24_19.1, @Destroy.WithSelf.Op(constants.%impl.elem1.7a9) [symbolic = %specific_impl_fn.loc24_19.6 (constants.%specific_impl_fn.095b)] +// CHECK:STDOUT: %.loc24_19.17: %Destroy.type = converted constants.%as_type.b98, constants.%impl.elem1.e8e [symbolic = %impl.elem1 (constants.%impl.elem1.e8e)] +// CHECK:STDOUT: %.loc24_19.18: %Destroy.type = converted constants.%as_type.b98, constants.%impl.elem1.e8e [symbolic = %impl.elem1 (constants.%impl.elem1.e8e)] +// CHECK:STDOUT: %specific_impl_fn.loc24_19.3: = specific_impl_function %impl.elem0.loc24_19.1, @Destroy.WithSelf.Op(constants.%impl.elem1.e8e) [symbolic = %specific_impl_fn.loc24_19.6 (constants.%specific_impl_fn.b70)] // CHECK:STDOUT: %bound_method.loc24_19.8: = bound_method %var, %specific_impl_fn.loc24_19.3 // CHECK:STDOUT: %Destroy.WithSelf.Op.call: init %empty_tuple.type = call %bound_method.loc24_19.8(%var) // CHECK:STDOUT: @@ -2787,12 +2787,12 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc24_19.5(%self.param: ref %DefaultOptionalStorage.541) { +// CHECK:STDOUT: fn @Destroy.Op.loc24_19.5(%self.param: ref %DefaultOptionalStorage.8c0) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc24_19.6(%self.param: ref %Optional.433) { +// CHECK:STDOUT: fn @Destroy.Op.loc24_19.6(%self.param: ref %Optional.e07) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -2804,13 +2804,13 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt: %pattern_type.fb7 = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %c.ref: %ConstRange = name_ref c, %c -// CHECK:STDOUT: %impl.elem2: %.c9e = impl_witness_access constants.%Iterate.impl_witness.f9b, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.c1e] +// CHECK:STDOUT: %impl.elem2: %.835 = impl_witness_access constants.%Iterate.impl_witness.526, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.5bc] // CHECK:STDOUT: %bound_method.loc38_19.1: = bound_method %c.ref, %impl.elem2 -// CHECK:STDOUT: %facet_value.loc38_19.1: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.873, constants.%custom_witness.5d5, constants.%custom_witness.213, constants.%custom_witness.994, constants.%custom_witness.393, constants.%custom_witness.821) [concrete = constants.%facet_value.f27] -// CHECK:STDOUT: %.loc38_19.1: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc38_19.1 [concrete = constants.%facet_value.f27] -// CHECK:STDOUT: %facet_value.loc38_19.2: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.873, constants.%custom_witness.5d5, constants.%custom_witness.213, constants.%custom_witness.994, constants.%custom_witness.393, constants.%custom_witness.821) [concrete = constants.%facet_value.f27] -// CHECK:STDOUT: %.loc38_19.2: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc38_19.2 [concrete = constants.%facet_value.f27] -// CHECK:STDOUT: %specific_fn.loc38_19.1: = specific_function %impl.elem2, @T.as_type.as.Iterate.impl.NewCursor(constants.%facet_value.f27) [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn] +// CHECK:STDOUT: %facet_value.loc38_19.1: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0d6, constants.%custom_witness.5d5, constants.%custom_witness.213, constants.%custom_witness.994, constants.%custom_witness.393, constants.%custom_witness.821) [concrete = constants.%facet_value.bbe] +// CHECK:STDOUT: %.loc38_19.1: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc38_19.1 [concrete = constants.%facet_value.bbe] +// CHECK:STDOUT: %facet_value.loc38_19.2: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0d6, constants.%custom_witness.5d5, constants.%custom_witness.213, constants.%custom_witness.994, constants.%custom_witness.393, constants.%custom_witness.821) [concrete = constants.%facet_value.bbe] +// CHECK:STDOUT: %.loc38_19.2: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc38_19.2 [concrete = constants.%facet_value.bbe] +// CHECK:STDOUT: %specific_fn.loc38_19.1: = specific_function %impl.elem2, @T.as_type.as.Iterate.impl.NewCursor(constants.%facet_value.bbe) [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn] // CHECK:STDOUT: %bound_method.loc38_19.2: = bound_method %c.ref, %specific_fn.loc38_19.1 // CHECK:STDOUT: %var: ref %tuple.type.005 = var_storage invalid // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.call: init %tuple.type.005 to %var = call %bound_method.loc38_19.2(%c.ref) @@ -2819,35 +2819,35 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr: %ptr.d1a = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.8ea = impl_witness_access constants.%Iterate.impl_witness.f9b, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.d0e] +// CHECK:STDOUT: %impl.elem3: %.7d6 = impl_witness_access constants.%Iterate.impl_witness.526, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.a4d] // CHECK:STDOUT: %bound_method.loc38_19.3: = bound_method %c.ref, %impl.elem3 -// CHECK:STDOUT: %facet_value.loc38_19.3: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.873, constants.%custom_witness.5d5, constants.%custom_witness.213, constants.%custom_witness.994, constants.%custom_witness.393, constants.%custom_witness.821) [concrete = constants.%facet_value.f27] -// CHECK:STDOUT: %.loc38_19.3: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc38_19.3 [concrete = constants.%facet_value.f27] -// CHECK:STDOUT: %facet_value.loc38_19.4: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.873, constants.%custom_witness.5d5, constants.%custom_witness.213, constants.%custom_witness.994, constants.%custom_witness.393, constants.%custom_witness.821) [concrete = constants.%facet_value.f27] -// CHECK:STDOUT: %.loc38_19.4: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc38_19.4 [concrete = constants.%facet_value.f27] -// CHECK:STDOUT: %specific_fn.loc38_19.2: = specific_function %impl.elem3, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.f27) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn] +// CHECK:STDOUT: %facet_value.loc38_19.3: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0d6, constants.%custom_witness.5d5, constants.%custom_witness.213, constants.%custom_witness.994, constants.%custom_witness.393, constants.%custom_witness.821) [concrete = constants.%facet_value.bbe] +// CHECK:STDOUT: %.loc38_19.3: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc38_19.3 [concrete = constants.%facet_value.bbe] +// CHECK:STDOUT: %facet_value.loc38_19.4: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0d6, constants.%custom_witness.5d5, constants.%custom_witness.213, constants.%custom_witness.994, constants.%custom_witness.393, constants.%custom_witness.821) [concrete = constants.%facet_value.bbe] +// CHECK:STDOUT: %.loc38_19.4: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc38_19.4 [concrete = constants.%facet_value.bbe] +// CHECK:STDOUT: %specific_fn.loc38_19.2: = specific_function %impl.elem3, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.bbe) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn] // CHECK:STDOUT: %bound_method.loc38_19.4: = bound_method %c.ref, %specific_fn.loc38_19.2 -// CHECK:STDOUT: %.loc38_19.5: ref %Optional.433 = temporary_storage -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.433 to %.loc38_19.5 = call %bound_method.loc38_19.4(%c.ref, %addr) -// CHECK:STDOUT: %.loc38_19.6: ref %Optional.433 = temporary %.loc38_19.5, %T.as_type.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc38_19.7: %Optional.HasValue.type.1e2 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.HasValue.403] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.1e2 = name_ref HasValue, %.loc38_19.7 [concrete = constants.%Optional.HasValue.403] +// CHECK:STDOUT: %.loc38_19.5: ref %Optional.e07 = temporary_storage +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.e07 to %.loc38_19.5 = call %bound_method.loc38_19.4(%c.ref, %addr) +// CHECK:STDOUT: %.loc38_19.6: ref %Optional.e07 = temporary %.loc38_19.5, %T.as_type.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc38_19.7: %Optional.HasValue.type.43a = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.HasValue.1c0] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.43a = name_ref HasValue, %.loc38_19.7 [concrete = constants.%Optional.HasValue.1c0] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc38_19.6, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.HasValue.specific_fn.9e6] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.HasValue.specific_fn.0a6] // CHECK:STDOUT: %bound_method.loc38_19.5: = bound_method %.loc38_19.6, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc38_19.8: %Optional.433 = acquire_value %.loc38_19.6 +// CHECK:STDOUT: %.loc38_19.8: %Optional.e07 = acquire_value %.loc38_19.6 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc38_19.5(%.loc38_19.8) // CHECK:STDOUT: %.loc38_19.9: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc38_19.10: bool = converted %Optional.HasValue.call, %.loc38_19.9 // CHECK:STDOUT: if %.loc38_19.10 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc38_19.11: %Optional.Get.type.d09 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.Get.a70] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.d09 = name_ref Get, %.loc38_19.11 [concrete = constants.%Optional.Get.a70] +// CHECK:STDOUT: %.loc38_19.11: %Optional.Get.type.a84 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.Get.4e0] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.a84 = name_ref Get, %.loc38_19.11 [concrete = constants.%Optional.Get.4e0] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc38_19.6, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.Get.specific_fn.dc1] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.Get.specific_fn.3a1] // CHECK:STDOUT: %bound_method.loc38_19.6: = bound_method %.loc38_19.6, %Optional.Get.specific_fn -// CHECK:STDOUT: %.loc38_19.12: %Optional.433 = acquire_value %.loc38_19.6 +// CHECK:STDOUT: %.loc38_19.12: %Optional.e07 = acquire_value %.loc38_19.6 // CHECK:STDOUT: %Optional.Get.call: init %f64.dc1 = call %bound_method.loc38_19.6(%.loc38_19.12) // CHECK:STDOUT: %.loc38_19.13: %f64.dc1 = value_of_initializer %Optional.Get.call // CHECK:STDOUT: %.loc38_19.14: %f64.dc1 = converted %Optional.Get.call, %.loc38_19.13 @@ -2855,7 +2855,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i: %f64.dc1 = wrapper_binding i, %.loc38_19.14 // CHECK:STDOUT: %sum.ref: ref %f64.dc1 = name_ref sum, %sum // CHECK:STDOUT: %i.ref: %f64.dc1 = name_ref i, %i -// CHECK:STDOUT: %impl.elem0.loc39: %.746 = impl_witness_access constants.%AddAssignWith.impl_witness.e85, element0 [concrete = constants.%Float.as.AddAssignWith.impl.Op.ac1] +// CHECK:STDOUT: %impl.elem0.loc39: %.918 = impl_witness_access constants.%AddAssignWith.impl_witness.402, element0 [concrete = constants.%Float.as.AddAssignWith.impl.Op.ac1] // CHECK:STDOUT: %bound_method.loc39_9.1: = bound_method %sum.ref, %impl.elem0.loc39 // CHECK:STDOUT: %specific_fn.loc39: = specific_function %impl.elem0.loc39, @Float.as.AddAssignWith.impl.Op(constants.%int_64) [concrete = constants.%Float.as.AddAssignWith.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc39_9.2: = bound_method %sum.ref, %specific_fn.loc39 @@ -2876,14 +2876,14 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %R.patt.loc20_17.2 => constants.%R.patt // CHECK:STDOUT: %R.loc20_17.1 => constants.%R // CHECK:STDOUT: %R.as_type.loc20_61.1 => constants.%R.as_type -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.3d7 -// CHECK:STDOUT: %r.param_patt.loc20_59.2 => constants.%r.param_patt.03a -// CHECK:STDOUT: %r.patt.loc20_59.2 => constants.%r.patt.b86 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.d35 +// CHECK:STDOUT: %r.param_patt.loc20_59.2 => constants.%r.param_patt.bc2 +// CHECK:STDOUT: %r.patt.loc20_59.2 => constants.%r.patt.f03 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.238) { +// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.eb1) { // CHECK:STDOUT: %R.patt.loc20_17.2 => constants.%R.patt -// CHECK:STDOUT: %R.loc20_17.1 => constants.%facet_value.238 +// CHECK:STDOUT: %R.loc20_17.1 => constants.%facet_value.eb1 // CHECK:STDOUT: %R.as_type.loc20_61.1 => constants.%ConstRange // CHECK:STDOUT: %pattern_type => constants.%pattern_type.025 // CHECK:STDOUT: %r.param_patt.loc20_59.2 => constants.%r.param_patt.a73 @@ -2891,19 +2891,19 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc20 => constants.%complete_type.357 -// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.f9b -// CHECK:STDOUT: %Iterate.facet.loc24_19.5 => constants.%Iterate.facet.a4b -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.784 -// CHECK:STDOUT: %.loc24_19.19 => constants.%.c9e -// CHECK:STDOUT: %impl.elem2.loc24_19.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.c1e +// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.526 +// CHECK:STDOUT: %Iterate.facet.loc24_19.5 => constants.%Iterate.facet.212 +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.8e0 +// CHECK:STDOUT: %.loc24_19.19 => constants.%.835 +// CHECK:STDOUT: %impl.elem2.loc24_19.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.5bc // CHECK:STDOUT: %specific_impl_fn.loc24_19.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn // CHECK:STDOUT: %impl.elem1 => constants.%Destroy.facet.40b // CHECK:STDOUT: %as_type => constants.%tuple.type.005 // CHECK:STDOUT: %require_complete.1 => constants.%complete_type.320 // CHECK:STDOUT: %ptr => constants.%ptr.d1a -// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.8ec -// CHECK:STDOUT: %.loc24_19.20 => constants.%.8ea -// CHECK:STDOUT: %impl.elem3.loc24_19.2 => constants.%T.as_type.as.Iterate.impl.Next.d0e +// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.2d3 +// CHECK:STDOUT: %.loc24_19.20 => constants.%.7d6 +// CHECK:STDOUT: %impl.elem3.loc24_19.2 => constants.%T.as_type.as.Iterate.impl.Next.a4d // CHECK:STDOUT: %specific_impl_fn.loc24_19.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn // CHECK:STDOUT: %Destroy.WithSelf.Op.type => constants.%Destroy.WithSelf.Op.type.117 // CHECK:STDOUT: %.loc24_19.21 => constants.%.5a4 @@ -2968,63 +2968,63 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %custom_witness.df9cc1.3: = custom_witness (%Destroy.Op.1a2547.3), @Destroy [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.ff3: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.d93: %Float.as.Copy.impl.Op.type.ff3 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.873: = impl_witness imports.%Copy.impl_witness_table.4e8, @Float.as.Copy.impl(%int_64) [concrete] -// CHECK:STDOUT: %facet_value.209: %facet_type.f48 = facet_value %f64.dc1, (%custom_witness.df9cc1.3, %Copy.impl_witness.873) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0d6: = impl_witness imports.%Copy.impl_witness_table.8dd, @Float.as.Copy.impl(%int_64) [concrete] +// CHECK:STDOUT: %facet_value.20d: %facet_type.f48 = facet_value %f64.dc1, (%custom_witness.df9cc1.3, %Copy.impl_witness.0d6) [concrete] // CHECK:STDOUT: %Iterate.lookup_impl_witness.1d8: = lookup_impl_witness %.Self.500, @Iterate [symbolic_self] // CHECK:STDOUT: %impl.elem0.294: %facet_type.f48 = impl_witness_access %Iterate.lookup_impl_witness.1d8, element0 [symbolic_self] -// CHECK:STDOUT: %Iterate_where.type.a32: type = facet_type <@Iterate where %impl.elem0.294 = %facet_value.209> [concrete] -// CHECK:STDOUT: %pattern_type.ff5: type = pattern_type %Iterate_where.type.a32 [concrete] -// CHECK:STDOUT: %R.patt: %pattern_type.ff5 = symbolic_binding_pattern R, 0 [symbolic] -// CHECK:STDOUT: %R: %Iterate_where.type.a32 = symbolic_binding R, 0 [symbolic] +// CHECK:STDOUT: %Iterate_where.type.e6d: type = facet_type <@Iterate where %impl.elem0.294 = %facet_value.20d> [concrete] +// CHECK:STDOUT: %pattern_type.dc5: type = pattern_type %Iterate_where.type.e6d [concrete] +// CHECK:STDOUT: %R.patt: %pattern_type.dc5 = symbolic_binding_pattern R, 0 [symbolic] +// CHECK:STDOUT: %R: %Iterate_where.type.e6d = symbolic_binding R, 0 [symbolic] // CHECK:STDOUT: %R.as_type: type = facet_access_type %R [symbolic] -// CHECK:STDOUT: %pattern_type.3d7: type = pattern_type %R.as_type [symbolic] -// CHECK:STDOUT: %r.param_patt.03a: %pattern_type.3d7 = value_param_pattern [symbolic] -// CHECK:STDOUT: %r.patt.b86: %pattern_type.3d7 = at_binding_pattern r, %r.param_patt.03a [symbolic] +// CHECK:STDOUT: %pattern_type.d35: type = pattern_type %R.as_type [symbolic] +// CHECK:STDOUT: %r.param_patt.bc2: %pattern_type.d35 = value_param_pattern [symbolic] +// CHECK:STDOUT: %r.patt.f03: %pattern_type.d35 = at_binding_pattern r, %r.param_patt.bc2 [symbolic] // CHECK:STDOUT: %i.patt: %pattern_type.fb7 = value_binding_pattern i [concrete] -// CHECK:STDOUT: %Iterate.lookup_impl_witness.93c: = lookup_impl_witness %R, @Iterate [symbolic] -// CHECK:STDOUT: %Iterate.facet.94d: %Iterate.type = facet_value %R.as_type, (%Iterate.lookup_impl_witness.93c) [symbolic] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.4c7: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.94d) [symbolic] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.275: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.94d) [symbolic] -// CHECK:STDOUT: %.a62a: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.4c7, %Iterate.facet.94d [symbolic] -// CHECK:STDOUT: %impl.elem2.c7b: %.a62a = impl_witness_access %Iterate.lookup_impl_witness.93c, element2 [symbolic] -// CHECK:STDOUT: %impl.elem1.7a9: %Destroy.type = impl_witness_access %Iterate.lookup_impl_witness.93c, element1 [symbolic] -// CHECK:STDOUT: %as_type.8e4: type = facet_access_type %impl.elem1.7a9 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.1b8: = specific_impl_function %impl.elem2.c7b, @Iterate.WithSelf.NewCursor(%Iterate.facet.94d) [symbolic] -// CHECK:STDOUT: %ptr.bac: type = ptr_type %as_type.8e4 [symbolic] -// CHECK:STDOUT: %.a06: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.275, %Iterate.facet.94d [symbolic] -// CHECK:STDOUT: %impl.elem3.7bd: %.a06 = impl_witness_access %Iterate.lookup_impl_witness.93c, element3 [symbolic] -// CHECK:STDOUT: %DefaultOptionalStorage.541: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.209) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.0e2: = impl_witness imports.%OptionalStorage.impl_witness_table.cfa, @T.as_type.as.OptionalStorage.impl(%facet_value.209) [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.957: %OptionalStorage.type = facet_value %f64.dc1, (%OptionalStorage.impl_witness.0e2) [concrete] -// CHECK:STDOUT: %Optional.433: type = class_type @Optional, @Optional(%OptionalStorage.facet.957) [concrete] -// CHECK:STDOUT: %specific_impl_fn.666: = specific_impl_function %impl.elem3.7bd, @Iterate.WithSelf.Next(%Iterate.facet.94d) [symbolic] -// CHECK:STDOUT: %Optional.HasValue.type.1e2: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.957) [concrete] -// CHECK:STDOUT: %Optional.HasValue.403: %Optional.HasValue.type.1e2 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.d09: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.957) [concrete] -// CHECK:STDOUT: %Optional.Get.a70: %Optional.Get.type.d09 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.lookup_impl_witness.757: = lookup_impl_witness %R, @Iterate [symbolic] +// CHECK:STDOUT: %Iterate.facet.737: %Iterate.type = facet_value %R.as_type, (%Iterate.lookup_impl_witness.757) [symbolic] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.346: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.737) [symbolic] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.f8a: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.737) [symbolic] +// CHECK:STDOUT: %.41f: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.346, %Iterate.facet.737 [symbolic] +// CHECK:STDOUT: %impl.elem2.804: %.41f = impl_witness_access %Iterate.lookup_impl_witness.757, element2 [symbolic] +// CHECK:STDOUT: %impl.elem1.e8e: %Destroy.type = impl_witness_access %Iterate.lookup_impl_witness.757, element1 [symbolic] +// CHECK:STDOUT: %as_type.b98: type = facet_access_type %impl.elem1.e8e [symbolic] +// CHECK:STDOUT: %specific_impl_fn.a60: = specific_impl_function %impl.elem2.804, @Iterate.WithSelf.NewCursor(%Iterate.facet.737) [symbolic] +// CHECK:STDOUT: %ptr.f03: type = ptr_type %as_type.b98 [symbolic] +// CHECK:STDOUT: %.ecb: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.f8a, %Iterate.facet.737 [symbolic] +// CHECK:STDOUT: %impl.elem3.d3c: %.ecb = impl_witness_access %Iterate.lookup_impl_witness.757, element3 [symbolic] +// CHECK:STDOUT: %DefaultOptionalStorage.8c0: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.20d) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.872: = impl_witness imports.%OptionalStorage.impl_witness_table.460, @T.as_type.as.OptionalStorage.impl(%facet_value.20d) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.4d5: %OptionalStorage.type = facet_value %f64.dc1, (%OptionalStorage.impl_witness.872) [concrete] +// CHECK:STDOUT: %Optional.e07: type = class_type @Optional, @Optional(%OptionalStorage.facet.4d5) [concrete] +// CHECK:STDOUT: %specific_impl_fn.b90: = specific_impl_function %impl.elem3.d3c, @Iterate.WithSelf.Next(%Iterate.facet.737) [symbolic] +// CHECK:STDOUT: %Optional.HasValue.type.43a: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.4d5) [concrete] +// CHECK:STDOUT: %Optional.HasValue.1c0: %Optional.HasValue.type.43a = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.a84: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.4d5) [concrete] +// CHECK:STDOUT: %Optional.Get.4e0: %Optional.Get.type.a84 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.facet.339: %Destroy.type = facet_value %f64.dc1, (%custom_witness.df9cc1.3) [concrete] // CHECK:STDOUT: %MaybeUnformed.b7e: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.339) [concrete] // CHECK:STDOUT: %.cc0: type = maybe_unformed_type %f64.dc1 [concrete] // CHECK:STDOUT: %struct_type.value.has_value.ad9: type = struct_type {.value: %MaybeUnformed.b7e, .has_value: bool} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn.9e6: = specific_function %Optional.HasValue.403, @Optional.HasValue(%OptionalStorage.facet.957) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn.dc1: = specific_function %Optional.Get.a70, @Optional.Get(%OptionalStorage.facet.957) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.0a6: = specific_function %Optional.HasValue.1c0, @Optional.HasValue(%OptionalStorage.facet.4d5) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn.3a1: = specific_function %Optional.Get.4e0, @Optional.Get(%OptionalStorage.facet.4d5) [concrete] // CHECK:STDOUT: %AddAssignWith.type.ff9: type = facet_type <@AddAssignWith, @AddAssignWith(%f64.dc1)> [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.fdd: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%N.fe9) [symbolic] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.430: %Float.as.AddAssignWith.impl.Op.type.fdd = struct_value () [symbolic] -// CHECK:STDOUT: %AddAssignWith.impl_witness.e85: = impl_witness imports.%AddAssignWith.impl_witness_table, @Float.as.AddAssignWith.impl(%int_64) [concrete] +// CHECK:STDOUT: %AddAssignWith.impl_witness.402: = impl_witness imports.%AddAssignWith.impl_witness_table, @Float.as.AddAssignWith.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.type.a92: type = fn_type @Float.as.AddAssignWith.impl.Op, @Float.as.AddAssignWith.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.ac1: %Float.as.AddAssignWith.impl.Op.type.a92 = struct_value () [concrete] -// CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.ff9 = facet_value %f64.dc1, (%AddAssignWith.impl_witness.e85) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.f8a: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%f64.dc1, %AddAssignWith.facet) [concrete] -// CHECK:STDOUT: %.746: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.f8a, %AddAssignWith.facet [concrete] +// CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.ff9 = facet_value %f64.dc1, (%AddAssignWith.impl_witness.402) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.d04: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%f64.dc1, %AddAssignWith.facet) [concrete] +// CHECK:STDOUT: %.918: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.d04, %AddAssignWith.facet [concrete] // CHECK:STDOUT: %Float.as.AddAssignWith.impl.Op.specific_fn: = specific_function %Float.as.AddAssignWith.impl.Op.ac1, @Float.as.AddAssignWith.impl.Op(%int_64) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.9: type = fn_type @Destroy.Op.loc26_19.6 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.9: %Destroy.Op.type.1d8f74.9 = struct_value () [concrete] -// CHECK:STDOUT: %Destroy.lookup_impl_witness.def: = lookup_impl_witness %impl.elem1.7a9, @Destroy [symbolic] -// CHECK:STDOUT: %Destroy.WithSelf.Op.type.41f: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1.7a9) [symbolic] -// CHECK:STDOUT: %.148: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.41f, %impl.elem1.7a9 [symbolic] -// CHECK:STDOUT: %impl.elem0.461: %.148 = impl_witness_access %Destroy.lookup_impl_witness.def, element0 [symbolic] -// CHECK:STDOUT: %specific_impl_fn.095b: = specific_impl_function %impl.elem0.461, @Destroy.WithSelf.Op(%impl.elem1.7a9) [symbolic] +// CHECK:STDOUT: %Destroy.lookup_impl_witness.02f: = lookup_impl_witness %impl.elem1.e8e, @Destroy [symbolic] +// CHECK:STDOUT: %Destroy.WithSelf.Op.type.f26: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1.e8e) [symbolic] +// CHECK:STDOUT: %.f38: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.f26, %impl.elem1.e8e [symbolic] +// CHECK:STDOUT: %impl.elem0.54b: %.f38 = impl_witness_access %Destroy.lookup_impl_witness.02f, element0 [symbolic] +// CHECK:STDOUT: %specific_impl_fn.b70: = specific_impl_function %impl.elem0.54b, @Destroy.WithSelf.Op(%impl.elem1.e8e) [symbolic] // CHECK:STDOUT: %MutableRange: type = class_type @MutableRange [concrete] // CHECK:STDOUT: %pattern_type.992: type = pattern_type %MutableRange [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -3049,28 +3049,28 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %NotEqual.type: type = fn_type @NotEqual [concrete] // CHECK:STDOUT: %NotEqual: %NotEqual.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.ed8: = custom_witness (%Equal, %NotEqual), @EqWith, @EqWith(%Iterator) [concrete] -// CHECK:STDOUT: %facet_value.cb9: %CppRange_where.type.d682d6.1 = facet_value %MutableRange, (%custom_witness.df9cc1.3, %Copy.impl_witness.873, %custom_witness.902, %custom_witness.c08, %custom_witness.05b, %custom_witness.491, %custom_witness.ed8) [concrete] +// CHECK:STDOUT: %facet_value.bed: %CppRange_where.type.d682d6.1 = facet_value %MutableRange, (%custom_witness.df9cc1.3, %Copy.impl_witness.0d6, %custom_witness.902, %custom_witness.c08, %custom_witness.05b, %custom_witness.491, %custom_witness.ed8) [concrete] // CHECK:STDOUT: %tuple.type.dd0: type = tuple_type (%Iterator, %Iterator) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.10: type = fn_type @Destroy.Op.2 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.10: %Destroy.Op.type.1d8f74.10 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.df9cc1.10: = custom_witness (%Destroy.Op.1a2547.10), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.e1e: %Destroy.type = facet_value %tuple.type.dd0, (%custom_witness.df9cc1.10) [concrete] -// CHECK:STDOUT: %Iterate.impl_witness.e1f: = impl_witness imports.%Iterate.impl_witness_table.978, @T.as_type.as.Iterate.impl(%facet_value.cb9) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.3e0: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.cb9) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.045: %T.as_type.as.Iterate.impl.NewCursor.type.3e0 = struct_value () [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.daf: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.cb9) [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.458: %T.as_type.as.Iterate.impl.Next.type.daf = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet.889: %Iterate.type = facet_value %MutableRange, (%Iterate.impl_witness.e1f) [concrete] -// CHECK:STDOUT: %facet_value.723: %Iterate_where.type.a32 = facet_value %MutableRange, (%Iterate.impl_witness.e1f) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.15e: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.bed) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.ed2: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.bed) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.f6c: %T.as_type.as.Iterate.impl.NewCursor.type.ed2 = struct_value () [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.ea9: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.bed) [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.630: %T.as_type.as.Iterate.impl.Next.type.ea9 = struct_value () [concrete] +// CHECK:STDOUT: %Iterate.facet.24a: %Iterate.type = facet_value %MutableRange, (%Iterate.impl_witness.15e) [concrete] +// CHECK:STDOUT: %facet_value.6bc: %Iterate_where.type.e6d = facet_value %MutableRange, (%Iterate.impl_witness.15e) [concrete] // CHECK:STDOUT: %r.param_patt.aeb: %pattern_type.992 = value_param_pattern [concrete] // CHECK:STDOUT: %r.patt.fe7: %pattern_type.992 = at_binding_pattern r, %r.param_patt.aeb [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.1be: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.889) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.e45: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.889) [concrete] -// CHECK:STDOUT: %.fbd: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.1be, %Iterate.facet.889 [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn: = specific_function %T.as_type.as.Iterate.impl.NewCursor.045, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.cb9) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.4f1: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.24a) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.e92: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.24a) [concrete] +// CHECK:STDOUT: %.534: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.4f1, %Iterate.facet.24a [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn: = specific_function %T.as_type.as.Iterate.impl.NewCursor.f6c, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.bed) [concrete] // CHECK:STDOUT: %ptr.a4f: type = ptr_type %tuple.type.dd0 [concrete] -// CHECK:STDOUT: %.a698: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.e45, %Iterate.facet.889 [concrete] -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.458, @T.as_type.as.Iterate.impl.Next(%facet_value.cb9) [concrete] +// CHECK:STDOUT: %.8b9: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.e92, %Iterate.facet.24a [concrete] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.630, @T.as_type.as.Iterate.impl.Next(%facet_value.bed) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.452: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.e1e) [concrete] // CHECK:STDOUT: %.899: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.452, %Destroy.facet.e1e [concrete] // CHECK:STDOUT: %complete_type.843: = complete_type_witness %tuple.type.dd0 [concrete] @@ -3078,47 +3078,47 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.bb6: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.e9e) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.6cd)] -// CHECK:STDOUT: %Core.import_ref.daba: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] +// CHECK:STDOUT: %Core.import_ref.dab: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] // CHECK:STDOUT: %Core.import_ref.0c6: type = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%DefaultOptionalStorage (constants.%DefaultOptionalStorage.d50)] // CHECK:STDOUT: %Core.import_ref.dc3: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None.type (%T.as_type.as.OptionalStorage.impl.None.type.0a1) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None (constants.%T.as_type.as.OptionalStorage.impl.None.e06)] // CHECK:STDOUT: %Core.import_ref.c530: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some.type (%T.as_type.as.OptionalStorage.impl.Some.type.492) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some (constants.%T.as_type.as.OptionalStorage.impl.Some.89a)] // CHECK:STDOUT: %Core.import_ref.ed4: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has.type (%T.as_type.as.OptionalStorage.impl.Has.type.e5a) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has (constants.%T.as_type.as.OptionalStorage.impl.Has.4ee)] // CHECK:STDOUT: %Core.import_ref.e9c: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get.type (%T.as_type.as.OptionalStorage.impl.Get.type.a12) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get (constants.%T.as_type.as.OptionalStorage.impl.Get.d32)] // CHECK:STDOUT: %Core.import_ref.0b2 = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.cfa = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c530, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.460 = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c530, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.eef: %facet_type.f48 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.f93)] // CHECK:STDOUT: %Core.import_ref.fcc: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9cd)] // CHECK:STDOUT: %Core.import_ref.fd1a: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.953) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor (constants.%T.as_type.as.Iterate.impl.NewCursor.544)] // CHECK:STDOUT: %Core.import_ref.273: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next.type (%T.as_type.as.Iterate.impl.Next.type.b36) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next (constants.%T.as_type.as.Iterate.impl.Next.d6b)] -// CHECK:STDOUT: %Iterate.impl_witness_table.978 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1a, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] +// CHECK:STDOUT: %Iterate.impl_witness_table.121 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1a, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e69: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.ff3) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.Copy.impl.%Float.as.Copy.impl.Op (constants.%Float.as.Copy.impl.Op.d93)] -// CHECK:STDOUT: %Copy.impl_witness_table.4e8 = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8dd = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.cb3: @Float.as.AddAssignWith.impl.%Float.as.AddAssignWith.impl.Op.type (%Float.as.AddAssignWith.impl.Op.type.fdd) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.AddAssignWith.impl.%Float.as.AddAssignWith.impl.Op (constants.%Float.as.AddAssignWith.impl.Op.430)] // CHECK:STDOUT: %AddAssignWith.impl_witness_table = impl_witness_table (%Core.import_ref.cb3), @Float.as.AddAssignWith.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @TestIterate(%R.loc22_17.2: %Iterate_where.type.a32) { +// CHECK:STDOUT: generic fn @TestIterate(%R.loc22_17.2: %Iterate_where.type.e6d) { // CHECK:STDOUT: // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: %Iterate.lookup_impl_witness: = lookup_impl_witness %R.loc22_17.1, @Iterate [symbolic = %Iterate.lookup_impl_witness (constants.%Iterate.lookup_impl_witness.93c)] -// CHECK:STDOUT: %Iterate.facet.loc26_19.5: %Iterate.type = facet_value %R.as_type.loc22_61.1, (%Iterate.lookup_impl_witness) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.loc26_19.5) [symbolic = %Iterate.WithSelf.NewCursor.type (constants.%Iterate.WithSelf.NewCursor.type.4c7)] -// CHECK:STDOUT: %.loc26_19.19: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type, %Iterate.facet.loc26_19.5 [symbolic = %.loc26_19.19 (constants.%.a62a)] -// CHECK:STDOUT: %impl.elem2.loc26_19.2: @TestIterate.%.loc26_19.19 (%.a62a) = impl_witness_access %Iterate.lookup_impl_witness, element2 [symbolic = %impl.elem2.loc26_19.2 (constants.%impl.elem2.c7b)] -// CHECK:STDOUT: %specific_impl_fn.loc26_19.4: = specific_impl_function %impl.elem2.loc26_19.2, @Iterate.WithSelf.NewCursor(%Iterate.facet.loc26_19.5) [symbolic = %specific_impl_fn.loc26_19.4 (constants.%specific_impl_fn.1b8)] +// CHECK:STDOUT: %Iterate.lookup_impl_witness: = lookup_impl_witness %R.loc22_17.1, @Iterate [symbolic = %Iterate.lookup_impl_witness (constants.%Iterate.lookup_impl_witness.757)] +// CHECK:STDOUT: %Iterate.facet.loc26_19.5: %Iterate.type = facet_value %R.as_type.loc22_61.1, (%Iterate.lookup_impl_witness) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.loc26_19.5) [symbolic = %Iterate.WithSelf.NewCursor.type (constants.%Iterate.WithSelf.NewCursor.type.346)] +// CHECK:STDOUT: %.loc26_19.19: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type, %Iterate.facet.loc26_19.5 [symbolic = %.loc26_19.19 (constants.%.41f)] +// CHECK:STDOUT: %impl.elem2.loc26_19.2: @TestIterate.%.loc26_19.19 (%.41f) = impl_witness_access %Iterate.lookup_impl_witness, element2 [symbolic = %impl.elem2.loc26_19.2 (constants.%impl.elem2.804)] +// CHECK:STDOUT: %specific_impl_fn.loc26_19.4: = specific_impl_function %impl.elem2.loc26_19.2, @Iterate.WithSelf.NewCursor(%Iterate.facet.loc26_19.5) [symbolic = %specific_impl_fn.loc26_19.4 (constants.%specific_impl_fn.a60)] // CHECK:STDOUT: -// CHECK:STDOUT: %ptr: type = ptr_type %as_type [symbolic = %ptr (constants.%ptr.bac)] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.loc26_19.5) [symbolic = %Iterate.WithSelf.Next.type (constants.%Iterate.WithSelf.Next.type.275)] -// CHECK:STDOUT: %.loc26_19.20: type = fn_type_with_self_type %Iterate.WithSelf.Next.type, %Iterate.facet.loc26_19.5 [symbolic = %.loc26_19.20 (constants.%.a06)] -// CHECK:STDOUT: %impl.elem3.loc26_19.2: @TestIterate.%.loc26_19.20 (%.a06) = impl_witness_access %Iterate.lookup_impl_witness, element3 [symbolic = %impl.elem3.loc26_19.2 (constants.%impl.elem3.7bd)] -// CHECK:STDOUT: %specific_impl_fn.loc26_19.5: = specific_impl_function %impl.elem3.loc26_19.2, @Iterate.WithSelf.Next(%Iterate.facet.loc26_19.5) [symbolic = %specific_impl_fn.loc26_19.5 (constants.%specific_impl_fn.666)] -// CHECK:STDOUT: %Destroy.WithSelf.Op.type: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1) [symbolic = %Destroy.WithSelf.Op.type (constants.%Destroy.WithSelf.Op.type.41f)] -// CHECK:STDOUT: %.loc26_19.21: type = fn_type_with_self_type %Destroy.WithSelf.Op.type, %impl.elem1 [symbolic = %.loc26_19.21 (constants.%.148)] -// CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %impl.elem1, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness.def)] -// CHECK:STDOUT: %impl.elem0.loc26_19.2: @TestIterate.%.loc26_19.21 (%.148) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc26_19.2 (constants.%impl.elem0.461)] -// CHECK:STDOUT: %specific_impl_fn.loc26_19.6: = specific_impl_function %impl.elem0.loc26_19.2, @Destroy.WithSelf.Op(%impl.elem1) [symbolic = %specific_impl_fn.loc26_19.6 (constants.%specific_impl_fn.095b)] +// CHECK:STDOUT: %ptr: type = ptr_type %as_type [symbolic = %ptr (constants.%ptr.f03)] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.loc26_19.5) [symbolic = %Iterate.WithSelf.Next.type (constants.%Iterate.WithSelf.Next.type.f8a)] +// CHECK:STDOUT: %.loc26_19.20: type = fn_type_with_self_type %Iterate.WithSelf.Next.type, %Iterate.facet.loc26_19.5 [symbolic = %.loc26_19.20 (constants.%.ecb)] +// CHECK:STDOUT: %impl.elem3.loc26_19.2: @TestIterate.%.loc26_19.20 (%.ecb) = impl_witness_access %Iterate.lookup_impl_witness, element3 [symbolic = %impl.elem3.loc26_19.2 (constants.%impl.elem3.d3c)] +// CHECK:STDOUT: %specific_impl_fn.loc26_19.5: = specific_impl_function %impl.elem3.loc26_19.2, @Iterate.WithSelf.Next(%Iterate.facet.loc26_19.5) [symbolic = %specific_impl_fn.loc26_19.5 (constants.%specific_impl_fn.b90)] +// CHECK:STDOUT: %Destroy.WithSelf.Op.type: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%impl.elem1) [symbolic = %Destroy.WithSelf.Op.type (constants.%Destroy.WithSelf.Op.type.f26)] +// CHECK:STDOUT: %.loc26_19.21: type = fn_type_with_self_type %Destroy.WithSelf.Op.type, %impl.elem1 [symbolic = %.loc26_19.21 (constants.%.f38)] +// CHECK:STDOUT: %Destroy.lookup_impl_witness: = lookup_impl_witness %impl.elem1, @Destroy [symbolic = %Destroy.lookup_impl_witness (constants.%Destroy.lookup_impl_witness.02f)] +// CHECK:STDOUT: %impl.elem0.loc26_19.2: @TestIterate.%.loc26_19.21 (%.f38) = impl_witness_access %Destroy.lookup_impl_witness, element0 [symbolic = %impl.elem0.loc26_19.2 (constants.%impl.elem0.54b)] +// CHECK:STDOUT: %specific_impl_fn.loc26_19.6: = specific_impl_function %impl.elem0.loc26_19.2, @Destroy.WithSelf.Op(%impl.elem1) [symbolic = %specific_impl_fn.loc26_19.6 (constants.%specific_impl_fn.b70)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%r.param: @TestIterate.%R.as_type.loc22_61.1 (%R.as_type)) { // CHECK:STDOUT: !entry: @@ -3127,52 +3127,52 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt: %pattern_type.fb7 = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %r.ref: @TestIterate.%R.as_type.loc22_61.1 (%R.as_type) = name_ref r, %r -// CHECK:STDOUT: %impl.elem2.loc26_19.1: @TestIterate.%.loc26_19.19 (%.a62a) = impl_witness_access constants.%Iterate.lookup_impl_witness.93c, element2 [symbolic = %impl.elem2.loc26_19.2 (constants.%impl.elem2.c7b)] +// CHECK:STDOUT: %impl.elem2.loc26_19.1: @TestIterate.%.loc26_19.19 (%.41f) = impl_witness_access constants.%Iterate.lookup_impl_witness.757, element2 [symbolic = %impl.elem2.loc26_19.2 (constants.%impl.elem2.804)] // CHECK:STDOUT: %bound_method.loc26_19.1: = bound_method %r.ref, %impl.elem2.loc26_19.1 -// CHECK:STDOUT: %Iterate.facet.loc26_19.1: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.93c) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc26_19.1: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc26_19.1 [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %Iterate.facet.loc26_19.2: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.93c) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc26_19.2: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc26_19.2 [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %specific_impl_fn.loc26_19.1: = specific_impl_function %impl.elem2.loc26_19.1, @Iterate.WithSelf.NewCursor(constants.%Iterate.facet.94d) [symbolic = %specific_impl_fn.loc26_19.4 (constants.%specific_impl_fn.1b8)] +// CHECK:STDOUT: %Iterate.facet.loc26_19.1: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.757) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc26_19.1: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc26_19.1 [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %Iterate.facet.loc26_19.2: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.757) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc26_19.2: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc26_19.2 [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %specific_impl_fn.loc26_19.1: = specific_impl_function %impl.elem2.loc26_19.1, @Iterate.WithSelf.NewCursor(constants.%Iterate.facet.737) [symbolic = %specific_impl_fn.loc26_19.4 (constants.%specific_impl_fn.a60)] // CHECK:STDOUT: %bound_method.loc26_19.2: = bound_method %r.ref, %specific_impl_fn.loc26_19.1 -// CHECK:STDOUT: %var: ref @TestIterate.%as_type (%as_type.8e4) = var_storage invalid -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.call: init @TestIterate.%as_type (%as_type.8e4) to %var = call %bound_method.loc26_19.2(%r.ref) +// CHECK:STDOUT: %var: ref @TestIterate.%as_type (%as_type.b98) = var_storage invalid +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.call: init @TestIterate.%as_type (%as_type.b98) to %var = call %bound_method.loc26_19.2(%r.ref) // CHECK:STDOUT: assign %var, %Iterate.WithSelf.NewCursor.call // CHECK:STDOUT: br !for.next // CHECK:STDOUT: // CHECK:STDOUT: !for.next: -// CHECK:STDOUT: %addr: @TestIterate.%ptr (%ptr.bac) = addr_of %var -// CHECK:STDOUT: %impl.elem3.loc26_19.1: @TestIterate.%.loc26_19.20 (%.a06) = impl_witness_access constants.%Iterate.lookup_impl_witness.93c, element3 [symbolic = %impl.elem3.loc26_19.2 (constants.%impl.elem3.7bd)] +// CHECK:STDOUT: %addr: @TestIterate.%ptr (%ptr.f03) = addr_of %var +// CHECK:STDOUT: %impl.elem3.loc26_19.1: @TestIterate.%.loc26_19.20 (%.ecb) = impl_witness_access constants.%Iterate.lookup_impl_witness.757, element3 [symbolic = %impl.elem3.loc26_19.2 (constants.%impl.elem3.d3c)] // CHECK:STDOUT: %bound_method.loc26_19.3: = bound_method %r.ref, %impl.elem3.loc26_19.1 -// CHECK:STDOUT: %Iterate.facet.loc26_19.3: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.93c) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc26_19.3: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc26_19.3 [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %Iterate.facet.loc26_19.4: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.93c) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc26_19.4: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc26_19.4 [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.94d)] -// CHECK:STDOUT: %.loc26_19.5: %Destroy.type = converted constants.%as_type.8e4, constants.%impl.elem1.7a9 [symbolic = %impl.elem1 (constants.%impl.elem1.7a9)] -// CHECK:STDOUT: %.loc26_19.6: %Destroy.type = converted constants.%as_type.8e4, constants.%impl.elem1.7a9 [symbolic = %impl.elem1 (constants.%impl.elem1.7a9)] -// CHECK:STDOUT: %specific_impl_fn.loc26_19.2: = specific_impl_function %impl.elem3.loc26_19.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.94d) [symbolic = %specific_impl_fn.loc26_19.5 (constants.%specific_impl_fn.666)] +// CHECK:STDOUT: %Iterate.facet.loc26_19.3: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.757) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc26_19.3: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc26_19.3 [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %Iterate.facet.loc26_19.4: %Iterate.type = facet_value constants.%R.as_type, (constants.%Iterate.lookup_impl_witness.757) [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc26_19.4: %Iterate.type = converted constants.%R.as_type, %Iterate.facet.loc26_19.4 [symbolic = %Iterate.facet.loc26_19.5 (constants.%Iterate.facet.737)] +// CHECK:STDOUT: %.loc26_19.5: %Destroy.type = converted constants.%as_type.b98, constants.%impl.elem1.e8e [symbolic = %impl.elem1 (constants.%impl.elem1.e8e)] +// CHECK:STDOUT: %.loc26_19.6: %Destroy.type = converted constants.%as_type.b98, constants.%impl.elem1.e8e [symbolic = %impl.elem1 (constants.%impl.elem1.e8e)] +// CHECK:STDOUT: %specific_impl_fn.loc26_19.2: = specific_impl_function %impl.elem3.loc26_19.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.737) [symbolic = %specific_impl_fn.loc26_19.5 (constants.%specific_impl_fn.b90)] // CHECK:STDOUT: %bound_method.loc26_19.4: = bound_method %r.ref, %specific_impl_fn.loc26_19.2 -// CHECK:STDOUT: %.loc26_19.7: ref %Optional.433 = temporary_storage -// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.433 to %.loc26_19.7 = call %bound_method.loc26_19.4(%r.ref, %addr) -// CHECK:STDOUT: %.loc26_19.8: ref %Optional.433 = temporary %.loc26_19.7, %Iterate.WithSelf.Next.call -// CHECK:STDOUT: %.loc26_19.9: %Optional.HasValue.type.1e2 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.HasValue.403] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.1e2 = name_ref HasValue, %.loc26_19.9 [concrete = constants.%Optional.HasValue.403] +// CHECK:STDOUT: %.loc26_19.7: ref %Optional.e07 = temporary_storage +// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.e07 to %.loc26_19.7 = call %bound_method.loc26_19.4(%r.ref, %addr) +// CHECK:STDOUT: %.loc26_19.8: ref %Optional.e07 = temporary %.loc26_19.7, %Iterate.WithSelf.Next.call +// CHECK:STDOUT: %.loc26_19.9: %Optional.HasValue.type.43a = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.HasValue.1c0] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.43a = name_ref HasValue, %.loc26_19.9 [concrete = constants.%Optional.HasValue.1c0] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc26_19.8, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.HasValue.specific_fn.9e6] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.HasValue.specific_fn.0a6] // CHECK:STDOUT: %bound_method.loc26_19.5: = bound_method %.loc26_19.8, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc26_19.10: %Optional.433 = acquire_value %.loc26_19.8 +// CHECK:STDOUT: %.loc26_19.10: %Optional.e07 = acquire_value %.loc26_19.8 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc26_19.5(%.loc26_19.10) // CHECK:STDOUT: %.loc26_19.11: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc26_19.12: bool = converted %Optional.HasValue.call, %.loc26_19.11 // CHECK:STDOUT: if %.loc26_19.12 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc26_19.13: %Optional.Get.type.d09 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.Get.a70] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.d09 = name_ref Get, %.loc26_19.13 [concrete = constants.%Optional.Get.a70] +// CHECK:STDOUT: %.loc26_19.13: %Optional.Get.type.a84 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.Get.4e0] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.a84 = name_ref Get, %.loc26_19.13 [concrete = constants.%Optional.Get.4e0] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc26_19.8, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.Get.specific_fn.dc1] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.Get.specific_fn.3a1] // CHECK:STDOUT: %bound_method.loc26_19.6: = bound_method %.loc26_19.8, %Optional.Get.specific_fn -// CHECK:STDOUT: %.loc26_19.14: %Optional.433 = acquire_value %.loc26_19.8 +// CHECK:STDOUT: %.loc26_19.14: %Optional.e07 = acquire_value %.loc26_19.8 // CHECK:STDOUT: %Optional.Get.call: init %f64.dc1 = call %bound_method.loc26_19.6(%.loc26_19.14) // CHECK:STDOUT: %.loc26_19.15: %f64.dc1 = value_of_initializer %Optional.Get.call // CHECK:STDOUT: %.loc26_19.16: %f64.dc1 = converted %Optional.Get.call, %.loc26_19.15 @@ -3180,7 +3180,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i: %f64.dc1 = wrapper_binding i, %.loc26_19.16 // CHECK:STDOUT: %sum.ref: ref %f64.dc1 = name_ref sum, %sum // CHECK:STDOUT: %i.ref: %f64.dc1 = name_ref i, %i -// CHECK:STDOUT: %impl.elem0.loc27: %.746 = impl_witness_access constants.%AddAssignWith.impl_witness.e85, element0 [concrete = constants.%Float.as.AddAssignWith.impl.Op.ac1] +// CHECK:STDOUT: %impl.elem0.loc27: %.918 = impl_witness_access constants.%AddAssignWith.impl_witness.402, element0 [concrete = constants.%Float.as.AddAssignWith.impl.Op.ac1] // CHECK:STDOUT: %bound_method.loc27_9.1: = bound_method %sum.ref, %impl.elem0.loc27 // CHECK:STDOUT: %specific_fn.loc27: = specific_function %impl.elem0.loc27, @Float.as.AddAssignWith.impl.Op(constants.%int_64) [concrete = constants.%Float.as.AddAssignWith.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc27_9.2: = bound_method %sum.ref, %specific_fn.loc27 @@ -3192,11 +3192,11 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: !for.done: // CHECK:STDOUT: %Destroy.Op.bound.loc26_19.2: = bound_method %.loc26_19.8, constants.%Destroy.Op.1a2547.9 // CHECK:STDOUT: %Destroy.Op.call.loc26_19.2: init %empty_tuple.type = call %Destroy.Op.bound.loc26_19.2(%.loc26_19.8) -// CHECK:STDOUT: %impl.elem0.loc26_19.1: @TestIterate.%.loc26_19.21 (%.148) = impl_witness_access constants.%Destroy.lookup_impl_witness.def, element0 [symbolic = %impl.elem0.loc26_19.2 (constants.%impl.elem0.461)] +// CHECK:STDOUT: %impl.elem0.loc26_19.1: @TestIterate.%.loc26_19.21 (%.f38) = impl_witness_access constants.%Destroy.lookup_impl_witness.02f, element0 [symbolic = %impl.elem0.loc26_19.2 (constants.%impl.elem0.54b)] // CHECK:STDOUT: %bound_method.loc26_19.7: = bound_method %var, %impl.elem0.loc26_19.1 -// CHECK:STDOUT: %.loc26_19.17: %Destroy.type = converted constants.%as_type.8e4, constants.%impl.elem1.7a9 [symbolic = %impl.elem1 (constants.%impl.elem1.7a9)] -// CHECK:STDOUT: %.loc26_19.18: %Destroy.type = converted constants.%as_type.8e4, constants.%impl.elem1.7a9 [symbolic = %impl.elem1 (constants.%impl.elem1.7a9)] -// CHECK:STDOUT: %specific_impl_fn.loc26_19.3: = specific_impl_function %impl.elem0.loc26_19.1, @Destroy.WithSelf.Op(constants.%impl.elem1.7a9) [symbolic = %specific_impl_fn.loc26_19.6 (constants.%specific_impl_fn.095b)] +// CHECK:STDOUT: %.loc26_19.17: %Destroy.type = converted constants.%as_type.b98, constants.%impl.elem1.e8e [symbolic = %impl.elem1 (constants.%impl.elem1.e8e)] +// CHECK:STDOUT: %.loc26_19.18: %Destroy.type = converted constants.%as_type.b98, constants.%impl.elem1.e8e [symbolic = %impl.elem1 (constants.%impl.elem1.e8e)] +// CHECK:STDOUT: %specific_impl_fn.loc26_19.3: = specific_impl_function %impl.elem0.loc26_19.1, @Destroy.WithSelf.Op(constants.%impl.elem1.e8e) [symbolic = %specific_impl_fn.loc26_19.6 (constants.%specific_impl_fn.b70)] // CHECK:STDOUT: %bound_method.loc26_19.8: = bound_method %var, %specific_impl_fn.loc26_19.3 // CHECK:STDOUT: %Destroy.WithSelf.Op.call: init %empty_tuple.type = call %bound_method.loc26_19.8(%var) // CHECK:STDOUT: @@ -3220,12 +3220,12 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc26_19.5(%self.param: ref %DefaultOptionalStorage.541) { +// CHECK:STDOUT: fn @Destroy.Op.loc26_19.5(%self.param: ref %DefaultOptionalStorage.8c0) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc26_19.6(%self.param: ref %Optional.433) { +// CHECK:STDOUT: fn @Destroy.Op.loc26_19.6(%self.param: ref %Optional.e07) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -3237,13 +3237,13 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt: %pattern_type.fb7 = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %m.ref: ref %MutableRange = name_ref m, %m -// CHECK:STDOUT: %impl.elem2: %.fbd = impl_witness_access constants.%Iterate.impl_witness.e1f, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.045] +// CHECK:STDOUT: %impl.elem2: %.534 = impl_witness_access constants.%Iterate.impl_witness.15e, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.f6c] // CHECK:STDOUT: %bound_method.loc68_19.1: = bound_method %m.ref, %impl.elem2 -// CHECK:STDOUT: %facet_value.loc68_19.1: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.873, constants.%custom_witness.902, constants.%custom_witness.c08, constants.%custom_witness.05b, constants.%custom_witness.491, constants.%custom_witness.ed8) [concrete = constants.%facet_value.cb9] -// CHECK:STDOUT: %.loc68_19.1: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc68_19.1 [concrete = constants.%facet_value.cb9] -// CHECK:STDOUT: %facet_value.loc68_19.2: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.873, constants.%custom_witness.902, constants.%custom_witness.c08, constants.%custom_witness.05b, constants.%custom_witness.491, constants.%custom_witness.ed8) [concrete = constants.%facet_value.cb9] -// CHECK:STDOUT: %.loc68_19.2: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc68_19.2 [concrete = constants.%facet_value.cb9] -// CHECK:STDOUT: %specific_fn.loc68_19.1: = specific_function %impl.elem2, @T.as_type.as.Iterate.impl.NewCursor(constants.%facet_value.cb9) [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn] +// CHECK:STDOUT: %facet_value.loc68_19.1: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0d6, constants.%custom_witness.902, constants.%custom_witness.c08, constants.%custom_witness.05b, constants.%custom_witness.491, constants.%custom_witness.ed8) [concrete = constants.%facet_value.bed] +// CHECK:STDOUT: %.loc68_19.1: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc68_19.1 [concrete = constants.%facet_value.bed] +// CHECK:STDOUT: %facet_value.loc68_19.2: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0d6, constants.%custom_witness.902, constants.%custom_witness.c08, constants.%custom_witness.05b, constants.%custom_witness.491, constants.%custom_witness.ed8) [concrete = constants.%facet_value.bed] +// CHECK:STDOUT: %.loc68_19.2: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc68_19.2 [concrete = constants.%facet_value.bed] +// CHECK:STDOUT: %specific_fn.loc68_19.1: = specific_function %impl.elem2, @T.as_type.as.Iterate.impl.NewCursor(constants.%facet_value.bed) [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn] // CHECK:STDOUT: %bound_method.loc68_19.2: = bound_method %m.ref, %specific_fn.loc68_19.1 // CHECK:STDOUT: %var: ref %tuple.type.dd0 = var_storage invalid // CHECK:STDOUT: %.loc68_18.1: %MutableRange = acquire_value %m.ref @@ -3253,36 +3253,36 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr: %ptr.a4f = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.a698 = impl_witness_access constants.%Iterate.impl_witness.e1f, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.458] +// CHECK:STDOUT: %impl.elem3: %.8b9 = impl_witness_access constants.%Iterate.impl_witness.15e, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.630] // CHECK:STDOUT: %bound_method.loc68_19.3: = bound_method %m.ref, %impl.elem3 -// CHECK:STDOUT: %facet_value.loc68_19.3: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.873, constants.%custom_witness.902, constants.%custom_witness.c08, constants.%custom_witness.05b, constants.%custom_witness.491, constants.%custom_witness.ed8) [concrete = constants.%facet_value.cb9] -// CHECK:STDOUT: %.loc68_19.3: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc68_19.3 [concrete = constants.%facet_value.cb9] -// CHECK:STDOUT: %facet_value.loc68_19.4: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.873, constants.%custom_witness.902, constants.%custom_witness.c08, constants.%custom_witness.05b, constants.%custom_witness.491, constants.%custom_witness.ed8) [concrete = constants.%facet_value.cb9] -// CHECK:STDOUT: %.loc68_19.4: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc68_19.4 [concrete = constants.%facet_value.cb9] -// CHECK:STDOUT: %specific_fn.loc68_19.2: = specific_function %impl.elem3, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.cb9) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn] +// CHECK:STDOUT: %facet_value.loc68_19.3: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0d6, constants.%custom_witness.902, constants.%custom_witness.c08, constants.%custom_witness.05b, constants.%custom_witness.491, constants.%custom_witness.ed8) [concrete = constants.%facet_value.bed] +// CHECK:STDOUT: %.loc68_19.3: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc68_19.3 [concrete = constants.%facet_value.bed] +// CHECK:STDOUT: %facet_value.loc68_19.4: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableRange, (constants.%custom_witness.df9cc1.3, constants.%Copy.impl_witness.0d6, constants.%custom_witness.902, constants.%custom_witness.c08, constants.%custom_witness.05b, constants.%custom_witness.491, constants.%custom_witness.ed8) [concrete = constants.%facet_value.bed] +// CHECK:STDOUT: %.loc68_19.4: %CppRange_where.type.d682d6.1 = converted constants.%MutableRange, %facet_value.loc68_19.4 [concrete = constants.%facet_value.bed] +// CHECK:STDOUT: %specific_fn.loc68_19.2: = specific_function %impl.elem3, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.bed) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn] // CHECK:STDOUT: %bound_method.loc68_19.4: = bound_method %m.ref, %specific_fn.loc68_19.2 -// CHECK:STDOUT: %.loc68_19.5: ref %Optional.433 = temporary_storage +// CHECK:STDOUT: %.loc68_19.5: ref %Optional.e07 = temporary_storage // CHECK:STDOUT: %.loc68_18.2: %MutableRange = acquire_value %m.ref -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.433 to %.loc68_19.5 = call %bound_method.loc68_19.4(%.loc68_18.2, %addr) -// CHECK:STDOUT: %.loc68_19.6: ref %Optional.433 = temporary %.loc68_19.5, %T.as_type.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc68_19.7: %Optional.HasValue.type.1e2 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.HasValue.403] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.1e2 = name_ref HasValue, %.loc68_19.7 [concrete = constants.%Optional.HasValue.403] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.e07 to %.loc68_19.5 = call %bound_method.loc68_19.4(%.loc68_18.2, %addr) +// CHECK:STDOUT: %.loc68_19.6: ref %Optional.e07 = temporary %.loc68_19.5, %T.as_type.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc68_19.7: %Optional.HasValue.type.43a = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.HasValue.1c0] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.43a = name_ref HasValue, %.loc68_19.7 [concrete = constants.%Optional.HasValue.1c0] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc68_19.6, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.HasValue.specific_fn.9e6] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.HasValue.specific_fn.0a6] // CHECK:STDOUT: %bound_method.loc68_19.5: = bound_method %.loc68_19.6, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc68_19.8: %Optional.433 = acquire_value %.loc68_19.6 +// CHECK:STDOUT: %.loc68_19.8: %Optional.e07 = acquire_value %.loc68_19.6 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc68_19.5(%.loc68_19.8) // CHECK:STDOUT: %.loc68_19.9: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc68_19.10: bool = converted %Optional.HasValue.call, %.loc68_19.9 // CHECK:STDOUT: if %.loc68_19.10 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc68_19.11: %Optional.Get.type.d09 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.Get.a70] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.d09 = name_ref Get, %.loc68_19.11 [concrete = constants.%Optional.Get.a70] +// CHECK:STDOUT: %.loc68_19.11: %Optional.Get.type.a84 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.Get.4e0] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.a84 = name_ref Get, %.loc68_19.11 [concrete = constants.%Optional.Get.4e0] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc68_19.6, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.957) [concrete = constants.%Optional.Get.specific_fn.dc1] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.4d5) [concrete = constants.%Optional.Get.specific_fn.3a1] // CHECK:STDOUT: %bound_method.loc68_19.6: = bound_method %.loc68_19.6, %Optional.Get.specific_fn -// CHECK:STDOUT: %.loc68_19.12: %Optional.433 = acquire_value %.loc68_19.6 +// CHECK:STDOUT: %.loc68_19.12: %Optional.e07 = acquire_value %.loc68_19.6 // CHECK:STDOUT: %Optional.Get.call: init %f64.dc1 = call %bound_method.loc68_19.6(%.loc68_19.12) // CHECK:STDOUT: %.loc68_19.13: %f64.dc1 = value_of_initializer %Optional.Get.call // CHECK:STDOUT: %.loc68_19.14: %f64.dc1 = converted %Optional.Get.call, %.loc68_19.13 @@ -3290,7 +3290,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i: %f64.dc1 = wrapper_binding i, %.loc68_19.14 // CHECK:STDOUT: %sum.ref: ref %f64.dc1 = name_ref sum, %sum // CHECK:STDOUT: %i.ref: %f64.dc1 = name_ref i, %i -// CHECK:STDOUT: %impl.elem0.loc69: %.746 = impl_witness_access constants.%AddAssignWith.impl_witness.e85, element0 [concrete = constants.%Float.as.AddAssignWith.impl.Op.ac1] +// CHECK:STDOUT: %impl.elem0.loc69: %.918 = impl_witness_access constants.%AddAssignWith.impl_witness.402, element0 [concrete = constants.%Float.as.AddAssignWith.impl.Op.ac1] // CHECK:STDOUT: %bound_method.loc69_9.1: = bound_method %sum.ref, %impl.elem0.loc69 // CHECK:STDOUT: %specific_fn.loc69: = specific_function %impl.elem0.loc69, @Float.as.AddAssignWith.impl.Op(constants.%int_64) [concrete = constants.%Float.as.AddAssignWith.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc69_9.2: = bound_method %sum.ref, %specific_fn.loc69 @@ -3311,14 +3311,14 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %R.patt.loc22_17.2 => constants.%R.patt // CHECK:STDOUT: %R.loc22_17.1 => constants.%R // CHECK:STDOUT: %R.as_type.loc22_61.1 => constants.%R.as_type -// CHECK:STDOUT: %pattern_type => constants.%pattern_type.3d7 -// CHECK:STDOUT: %r.param_patt.loc22_59.2 => constants.%r.param_patt.03a -// CHECK:STDOUT: %r.patt.loc22_59.2 => constants.%r.patt.b86 +// CHECK:STDOUT: %pattern_type => constants.%pattern_type.d35 +// CHECK:STDOUT: %r.param_patt.loc22_59.2 => constants.%r.param_patt.bc2 +// CHECK:STDOUT: %r.patt.loc22_59.2 => constants.%r.patt.f03 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.723) { +// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.6bc) { // CHECK:STDOUT: %R.patt.loc22_17.2 => constants.%R.patt -// CHECK:STDOUT: %R.loc22_17.1 => constants.%facet_value.723 +// CHECK:STDOUT: %R.loc22_17.1 => constants.%facet_value.6bc // CHECK:STDOUT: %R.as_type.loc22_61.1 => constants.%MutableRange // CHECK:STDOUT: %pattern_type => constants.%pattern_type.992 // CHECK:STDOUT: %r.param_patt.loc22_59.2 => constants.%r.param_patt.aeb @@ -3326,19 +3326,19 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc22 => constants.%complete_type.357 -// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.e1f -// CHECK:STDOUT: %Iterate.facet.loc26_19.5 => constants.%Iterate.facet.889 -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.1be -// CHECK:STDOUT: %.loc26_19.19 => constants.%.fbd -// CHECK:STDOUT: %impl.elem2.loc26_19.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.045 +// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.15e +// CHECK:STDOUT: %Iterate.facet.loc26_19.5 => constants.%Iterate.facet.24a +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.4f1 +// CHECK:STDOUT: %.loc26_19.19 => constants.%.534 +// CHECK:STDOUT: %impl.elem2.loc26_19.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.f6c // CHECK:STDOUT: %specific_impl_fn.loc26_19.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn // CHECK:STDOUT: %impl.elem1 => constants.%Destroy.facet.e1e // CHECK:STDOUT: %as_type => constants.%tuple.type.dd0 // CHECK:STDOUT: %require_complete.1 => constants.%complete_type.843 // CHECK:STDOUT: %ptr => constants.%ptr.a4f -// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.e45 -// CHECK:STDOUT: %.loc26_19.20 => constants.%.a698 -// CHECK:STDOUT: %impl.elem3.loc26_19.2 => constants.%T.as_type.as.Iterate.impl.Next.458 +// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.e92 +// CHECK:STDOUT: %.loc26_19.20 => constants.%.8b9 +// CHECK:STDOUT: %impl.elem3.loc26_19.2 => constants.%T.as_type.as.Iterate.impl.Next.630 // CHECK:STDOUT: %specific_impl_fn.loc26_19.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn // CHECK:STDOUT: %Destroy.WithSelf.Op.type => constants.%Destroy.WithSelf.Op.type.452 // CHECK:STDOUT: %.loc26_19.21 => constants.%.899 @@ -3434,20 +3434,20 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.524: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.d51, %Iterate.facet.b38 [symbolic] // CHECK:STDOUT: %impl.elem3.7a5: %.524 = impl_witness_access %Iterate.lookup_impl_witness.173, element3 [symbolic] // CHECK:STDOUT: %DefaultOptionalStorage.257: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.ccb) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.b01: = impl_witness imports.%OptionalStorage.impl_witness_table.cfa, @T.as_type.as.OptionalStorage.impl(%facet_value.ccb) [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.5a6: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.b01) [concrete] -// CHECK:STDOUT: %Optional.ce4: type = class_type @Optional, @Optional(%OptionalStorage.facet.5a6) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.1bc: = impl_witness imports.%OptionalStorage.impl_witness_table.460, @T.as_type.as.OptionalStorage.impl(%facet_value.ccb) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.8dd: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.1bc) [concrete] +// CHECK:STDOUT: %Optional.1f5: type = class_type @Optional, @Optional(%OptionalStorage.facet.8dd) [concrete] // CHECK:STDOUT: %specific_impl_fn.24b: = specific_impl_function %impl.elem3.7a5, @Iterate.WithSelf.Next(%Iterate.facet.b38) [symbolic] -// CHECK:STDOUT: %Optional.HasValue.type.f90: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.5a6) [concrete] -// CHECK:STDOUT: %Optional.HasValue.bc0: %Optional.HasValue.type.f90 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.2a8: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.5a6) [concrete] -// CHECK:STDOUT: %Optional.Get.0b3: %Optional.Get.type.2a8 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.527: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.8dd) [concrete] +// CHECK:STDOUT: %Optional.HasValue.017: %Optional.HasValue.type.527 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.226: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.8dd) [concrete] +// CHECK:STDOUT: %Optional.Get.0db: %Optional.Get.type.226 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.facet.306: %Destroy.type = facet_value %ValueType, (%custom_witness.fef) [concrete] // CHECK:STDOUT: %MaybeUnformed.669: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.306) [concrete] // CHECK:STDOUT: %.b36: type = maybe_unformed_type %ValueType [concrete] // CHECK:STDOUT: %struct_type.value.has_value.5a1: type = struct_type {.value: %MaybeUnformed.669, .has_value: bool} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn.66b: = specific_function %Optional.HasValue.bc0, @Optional.HasValue(%OptionalStorage.facet.5a6) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn.9f5: = specific_function %Optional.Get.0b3, @Optional.Get(%OptionalStorage.facet.5a6) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.2f1: = specific_function %Optional.HasValue.017, @Optional.HasValue(%OptionalStorage.facet.8dd) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn.b3f: = specific_function %Optional.Get.0db, @Optional.Get(%OptionalStorage.facet.8dd) [concrete] // CHECK:STDOUT: %operator_PlusEqual__carbon_thunk.type: type = fn_type @operator_PlusEqual__carbon_thunk [concrete] // CHECK:STDOUT: %operator_PlusEqual__carbon_thunk: %operator_PlusEqual__carbon_thunk.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.7: type = fn_type @Destroy.Op.loc31_31.6 [concrete] @@ -3489,21 +3489,21 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %Destroy.Op.1a2547.8: %Destroy.Op.type.1d8f74.8 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.df9cc1.8: = custom_witness (%Destroy.Op.1a2547.8), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.777: %Destroy.type = facet_value %tuple.type.df8, (%custom_witness.df9cc1.8) [concrete] -// CHECK:STDOUT: %Iterate.impl_witness.a91: = impl_witness imports.%Iterate.impl_witness_table.978, @T.as_type.as.Iterate.impl(%facet_value.2b3) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.228: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.2b3) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.ee9: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.2b3) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.9b6: %T.as_type.as.Iterate.impl.NewCursor.type.ee9 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.381: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.2b3) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.9cd: %T.as_type.as.Iterate.impl.Next.type.381 = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet.700: %Iterate.type = facet_value %ConstRange, (%Iterate.impl_witness.a91) [concrete] -// CHECK:STDOUT: %facet_value.59d: %Iterate_where.type.f9d = facet_value %ConstRange, (%Iterate.impl_witness.a91) [concrete] +// CHECK:STDOUT: %Iterate.facet.eeb: %Iterate.type = facet_value %ConstRange, (%Iterate.impl_witness.228) [concrete] +// CHECK:STDOUT: %facet_value.811: %Iterate_where.type.f9d = facet_value %ConstRange, (%Iterate.impl_witness.228) [concrete] // CHECK:STDOUT: %r.param_patt.a73: %pattern_type.025 = value_param_pattern [concrete] // CHECK:STDOUT: %r.patt.0e2: %pattern_type.025 = at_binding_pattern r, %r.param_patt.a73 [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.9f6: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.700) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.7d6: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.700) [concrete] -// CHECK:STDOUT: %.ebd: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.9f6, %Iterate.facet.700 [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.3de: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.eeb) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.6bd: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.eeb) [concrete] +// CHECK:STDOUT: %.f54: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.3de, %Iterate.facet.eeb [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn: = specific_function %T.as_type.as.Iterate.impl.NewCursor.9b6, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.2b3) [concrete] // CHECK:STDOUT: %ptr.fc0: type = ptr_type %tuple.type.df8 [concrete] -// CHECK:STDOUT: %.b99: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.7d6, %Iterate.facet.700 [concrete] +// CHECK:STDOUT: %.47c7: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.6bd, %Iterate.facet.eeb [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.9cd, @T.as_type.as.Iterate.impl.Next(%facet_value.2b3) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.589: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.777) [concrete] // CHECK:STDOUT: %.4e1: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.589, %Destroy.facet.777 [concrete] @@ -3516,19 +3516,19 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.bb6: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.e9e) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.6cd)] -// CHECK:STDOUT: %Core.import_ref.daba: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] +// CHECK:STDOUT: %Core.import_ref.dab: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] // CHECK:STDOUT: %Core.import_ref.0c6: type = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%DefaultOptionalStorage (constants.%DefaultOptionalStorage.d50)] // CHECK:STDOUT: %Core.import_ref.dc3: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None.type (%T.as_type.as.OptionalStorage.impl.None.type.0a1) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None (constants.%T.as_type.as.OptionalStorage.impl.None.e06)] // CHECK:STDOUT: %Core.import_ref.c53: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some.type (%T.as_type.as.OptionalStorage.impl.Some.type.492) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some (constants.%T.as_type.as.OptionalStorage.impl.Some.89a)] // CHECK:STDOUT: %Core.import_ref.ed4: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has.type (%T.as_type.as.OptionalStorage.impl.Has.type.e5a) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has (constants.%T.as_type.as.OptionalStorage.impl.Has.4ee)] // CHECK:STDOUT: %Core.import_ref.e9c: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get.type (%T.as_type.as.OptionalStorage.impl.Get.type.a12) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get (constants.%T.as_type.as.OptionalStorage.impl.Get.d32)] // CHECK:STDOUT: %Core.import_ref.0b2 = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.cfa = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.460 = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.eef: %facet_type.f48 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.f93)] // CHECK:STDOUT: %Core.import_ref.fcc: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9cd)] // CHECK:STDOUT: %Core.import_ref.fd1: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.953) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor (constants.%T.as_type.as.Iterate.impl.NewCursor.544)] // CHECK:STDOUT: %Core.import_ref.273: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next.type (%T.as_type.as.Iterate.impl.Next.type.b36) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next (constants.%T.as_type.as.Iterate.impl.Next.d6b)] -// CHECK:STDOUT: %Iterate.impl_witness_table.978 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] +// CHECK:STDOUT: %Iterate.impl_witness_table.121 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] // CHECK:STDOUT: %N: = namespace [concrete] { // CHECK:STDOUT: .ValueType = %ValueType.decl // CHECK:STDOUT: .ConstRange = %ConstRange.decl @@ -3603,28 +3603,28 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc31_31.6: %Destroy.type = converted constants.%as_type.e41, constants.%impl.elem1.834 [symbolic = %impl.elem1 (constants.%impl.elem1.834)] // CHECK:STDOUT: %specific_impl_fn.loc31_31.2: = specific_impl_function %impl.elem3.loc31_31.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.b38) [symbolic = %specific_impl_fn.loc31_31.5 (constants.%specific_impl_fn.24b)] // CHECK:STDOUT: %bound_method.loc31_31.4: = bound_method %r.ref, %specific_impl_fn.loc31_31.2 -// CHECK:STDOUT: %.loc31_31.7: ref %Optional.ce4 = temporary_storage -// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.ce4 to %.loc31_31.7 = call %bound_method.loc31_31.4(%r.ref, %addr.loc31) -// CHECK:STDOUT: %.loc31_31.8: ref %Optional.ce4 = temporary %.loc31_31.7, %Iterate.WithSelf.Next.call -// CHECK:STDOUT: %.loc31_31.9: %Optional.HasValue.type.f90 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.HasValue.bc0] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.f90 = name_ref HasValue, %.loc31_31.9 [concrete = constants.%Optional.HasValue.bc0] +// CHECK:STDOUT: %.loc31_31.7: ref %Optional.1f5 = temporary_storage +// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.1f5 to %.loc31_31.7 = call %bound_method.loc31_31.4(%r.ref, %addr.loc31) +// CHECK:STDOUT: %.loc31_31.8: ref %Optional.1f5 = temporary %.loc31_31.7, %Iterate.WithSelf.Next.call +// CHECK:STDOUT: %.loc31_31.9: %Optional.HasValue.type.527 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.017] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.527 = name_ref HasValue, %.loc31_31.9 [concrete = constants.%Optional.HasValue.017] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc31_31.8, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.HasValue.specific_fn.66b] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.specific_fn.2f1] // CHECK:STDOUT: %bound_method.loc31_31.5: = bound_method %.loc31_31.8, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc31_31.10: %Optional.ce4 = acquire_value %.loc31_31.8 +// CHECK:STDOUT: %.loc31_31.10: %Optional.1f5 = acquire_value %.loc31_31.8 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc31_31.5(%.loc31_31.10) // CHECK:STDOUT: %.loc31_31.11: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc31_31.12: bool = converted %Optional.HasValue.call, %.loc31_31.11 // CHECK:STDOUT: if %.loc31_31.12 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc31_31.13: %Optional.Get.type.2a8 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.Get.0b3] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.2a8 = name_ref Get, %.loc31_31.13 [concrete = constants.%Optional.Get.0b3] +// CHECK:STDOUT: %.loc31_31.13: %Optional.Get.type.226 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.0db] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.226 = name_ref Get, %.loc31_31.13 [concrete = constants.%Optional.Get.0db] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc31_31.8, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.Get.specific_fn.9f5] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.specific_fn.b3f] // CHECK:STDOUT: %bound_method.loc31_31.6: = bound_method %.loc31_31.8, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc31_31.14: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc31_31.15: %Optional.ce4 = acquire_value %.loc31_31.8 +// CHECK:STDOUT: %.loc31_31.15: %Optional.1f5 = acquire_value %.loc31_31.8 // CHECK:STDOUT: %Optional.Get.call: init %ValueType to %.loc31_31.14 = call %bound_method.loc31_31.6(%.loc31_31.15) // CHECK:STDOUT: %.loc31_31.16: ref %ValueType = temporary %.loc31_31.14, %Optional.Get.call // CHECK:STDOUT: %.loc31_31.17: %ValueType = acquire_value %.loc31_31.16 @@ -3685,7 +3685,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc31_31.6(%self.param: ref %Optional.ce4) { +// CHECK:STDOUT: fn @Destroy.Op.loc31_31.6(%self.param: ref %Optional.1f5) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -3697,7 +3697,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt: %pattern_type.e41 = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %c.ref: %ConstRange = name_ref c, %c -// CHECK:STDOUT: %impl.elem2: %.ebd = impl_witness_access constants.%Iterate.impl_witness.a91, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.9b6] +// CHECK:STDOUT: %impl.elem2: %.f54 = impl_witness_access constants.%Iterate.impl_witness.228, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.9b6] // CHECK:STDOUT: %bound_method.loc45_31.1: = bound_method %c.ref, %impl.elem2 // CHECK:STDOUT: %facet_value.loc45_31.1: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.fef, constants.%custom_witness.c19, constants.%custom_witness.c2f, constants.%custom_witness.21358e.1, constants.%custom_witness.1d3, constants.%custom_witness.393, constants.%custom_witness.aa4, constants.%custom_witness.21358e.2) [concrete = constants.%facet_value.2b3] // CHECK:STDOUT: %.loc45_31.1: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc45_31.1 [concrete = constants.%facet_value.2b3] @@ -3712,7 +3712,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr.loc45: %ptr.fc0 = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.b99 = impl_witness_access constants.%Iterate.impl_witness.a91, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.9cd] +// CHECK:STDOUT: %impl.elem3: %.47c7 = impl_witness_access constants.%Iterate.impl_witness.228, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.9cd] // CHECK:STDOUT: %bound_method.loc45_31.3: = bound_method %c.ref, %impl.elem3 // CHECK:STDOUT: %facet_value.loc45_31.3: %CppRange_where.type.d682d6.1 = facet_value constants.%ConstRange, (constants.%custom_witness.fef, constants.%custom_witness.c19, constants.%custom_witness.c2f, constants.%custom_witness.21358e.1, constants.%custom_witness.1d3, constants.%custom_witness.393, constants.%custom_witness.aa4, constants.%custom_witness.21358e.2) [concrete = constants.%facet_value.2b3] // CHECK:STDOUT: %.loc45_31.3: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc45_31.3 [concrete = constants.%facet_value.2b3] @@ -3720,28 +3720,28 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc45_31.4: %CppRange_where.type.d682d6.1 = converted constants.%ConstRange, %facet_value.loc45_31.4 [concrete = constants.%facet_value.2b3] // CHECK:STDOUT: %specific_fn.loc45_31.2: = specific_function %impl.elem3, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.2b3) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn] // CHECK:STDOUT: %bound_method.loc45_31.4: = bound_method %c.ref, %specific_fn.loc45_31.2 -// CHECK:STDOUT: %.loc45_31.5: ref %Optional.ce4 = temporary_storage -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.ce4 to %.loc45_31.5 = call %bound_method.loc45_31.4(%c.ref, %addr.loc45) -// CHECK:STDOUT: %.loc45_31.6: ref %Optional.ce4 = temporary %.loc45_31.5, %T.as_type.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc45_31.7: %Optional.HasValue.type.f90 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.HasValue.bc0] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.f90 = name_ref HasValue, %.loc45_31.7 [concrete = constants.%Optional.HasValue.bc0] +// CHECK:STDOUT: %.loc45_31.5: ref %Optional.1f5 = temporary_storage +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.1f5 to %.loc45_31.5 = call %bound_method.loc45_31.4(%c.ref, %addr.loc45) +// CHECK:STDOUT: %.loc45_31.6: ref %Optional.1f5 = temporary %.loc45_31.5, %T.as_type.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc45_31.7: %Optional.HasValue.type.527 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.017] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.527 = name_ref HasValue, %.loc45_31.7 [concrete = constants.%Optional.HasValue.017] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc45_31.6, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.HasValue.specific_fn.66b] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.specific_fn.2f1] // CHECK:STDOUT: %bound_method.loc45_31.5: = bound_method %.loc45_31.6, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc45_31.8: %Optional.ce4 = acquire_value %.loc45_31.6 +// CHECK:STDOUT: %.loc45_31.8: %Optional.1f5 = acquire_value %.loc45_31.6 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc45_31.5(%.loc45_31.8) // CHECK:STDOUT: %.loc45_31.9: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc45_31.10: bool = converted %Optional.HasValue.call, %.loc45_31.9 // CHECK:STDOUT: if %.loc45_31.10 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc45_31.11: %Optional.Get.type.2a8 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.Get.0b3] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.2a8 = name_ref Get, %.loc45_31.11 [concrete = constants.%Optional.Get.0b3] +// CHECK:STDOUT: %.loc45_31.11: %Optional.Get.type.226 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.0db] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.226 = name_ref Get, %.loc45_31.11 [concrete = constants.%Optional.Get.0db] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc45_31.6, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.Get.specific_fn.9f5] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.specific_fn.b3f] // CHECK:STDOUT: %bound_method.loc45_31.6: = bound_method %.loc45_31.6, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc45_31.12: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc45_31.13: %Optional.ce4 = acquire_value %.loc45_31.6 +// CHECK:STDOUT: %.loc45_31.13: %Optional.1f5 = acquire_value %.loc45_31.6 // CHECK:STDOUT: %Optional.Get.call: init %ValueType to %.loc45_31.12 = call %bound_method.loc45_31.6(%.loc45_31.13) // CHECK:STDOUT: %.loc45_31.14: ref %ValueType = temporary %.loc45_31.12, %Optional.Get.call // CHECK:STDOUT: %.loc45_31.15: %ValueType = acquire_value %.loc45_31.14 @@ -3783,9 +3783,9 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %r.patt.loc27_71.2 => constants.%r.patt.d6c // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.59d) { +// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.811) { // CHECK:STDOUT: %R.patt.loc27_17.2 => constants.%R.patt -// CHECK:STDOUT: %R.loc27_17.1 => constants.%facet_value.59d +// CHECK:STDOUT: %R.loc27_17.1 => constants.%facet_value.811 // CHECK:STDOUT: %R.as_type.loc27_73.1 => constants.%ConstRange // CHECK:STDOUT: %pattern_type => constants.%pattern_type.025 // CHECK:STDOUT: %r.param_patt.loc27_71.2 => constants.%r.param_patt.a73 @@ -3793,18 +3793,18 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc27 => constants.%complete_type.357 -// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.a91 -// CHECK:STDOUT: %Iterate.facet.loc31_31.5 => constants.%Iterate.facet.700 -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.9f6 -// CHECK:STDOUT: %.loc31_31.20 => constants.%.ebd +// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.228 +// CHECK:STDOUT: %Iterate.facet.loc31_31.5 => constants.%Iterate.facet.eeb +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.3de +// CHECK:STDOUT: %.loc31_31.20 => constants.%.f54 // CHECK:STDOUT: %impl.elem2.loc31_31.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.9b6 // CHECK:STDOUT: %specific_impl_fn.loc31_31.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn // CHECK:STDOUT: %impl.elem1 => constants.%Destroy.facet.777 // CHECK:STDOUT: %as_type => constants.%tuple.type.df8 // CHECK:STDOUT: %require_complete.1 => constants.%complete_type.e35 // CHECK:STDOUT: %ptr => constants.%ptr.fc0 -// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.7d6 -// CHECK:STDOUT: %.loc31_31.21 => constants.%.b99 +// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.6bd +// CHECK:STDOUT: %.loc31_31.21 => constants.%.47c7 // CHECK:STDOUT: %impl.elem3.loc31_31.2 => constants.%T.as_type.as.Iterate.impl.Next.9cd // CHECK:STDOUT: %specific_impl_fn.loc31_31.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn // CHECK:STDOUT: %Destroy.WithSelf.Op.type => constants.%Destroy.WithSelf.Op.type.589 @@ -3872,20 +3872,20 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.524: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.d51, %Iterate.facet.b38 [symbolic] // CHECK:STDOUT: %impl.elem3.7a5: %.524 = impl_witness_access %Iterate.lookup_impl_witness.173, element3 [symbolic] // CHECK:STDOUT: %DefaultOptionalStorage.257: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.ccb) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.c8b: = impl_witness imports.%OptionalStorage.impl_witness_table.e4e, @T.as_type.as.OptionalStorage.impl(%facet_value.ccb) [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.da4: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.c8b) [concrete] -// CHECK:STDOUT: %Optional.877: type = class_type @Optional, @Optional(%OptionalStorage.facet.da4) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.1bc: = impl_witness imports.%OptionalStorage.impl_witness_table.460, @T.as_type.as.OptionalStorage.impl(%facet_value.ccb) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.8dd: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.1bc) [concrete] +// CHECK:STDOUT: %Optional.1f5: type = class_type @Optional, @Optional(%OptionalStorage.facet.8dd) [concrete] // CHECK:STDOUT: %specific_impl_fn.24b: = specific_impl_function %impl.elem3.7a5, @Iterate.WithSelf.Next(%Iterate.facet.b38) [symbolic] -// CHECK:STDOUT: %Optional.HasValue.type.583: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.da4) [concrete] -// CHECK:STDOUT: %Optional.HasValue.51f: %Optional.HasValue.type.583 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.4a3: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.da4) [concrete] -// CHECK:STDOUT: %Optional.Get.0d8: %Optional.Get.type.4a3 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.527: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.8dd) [concrete] +// CHECK:STDOUT: %Optional.HasValue.017: %Optional.HasValue.type.527 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.226: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.8dd) [concrete] +// CHECK:STDOUT: %Optional.Get.0db: %Optional.Get.type.226 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.facet.306: %Destroy.type = facet_value %ValueType, (%custom_witness.fef) [concrete] // CHECK:STDOUT: %MaybeUnformed.669: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.306) [concrete] // CHECK:STDOUT: %.b36: type = maybe_unformed_type %ValueType [concrete] // CHECK:STDOUT: %struct_type.value.has_value.5a1: type = struct_type {.value: %MaybeUnformed.669, .has_value: bool} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.51f, @Optional.HasValue(%OptionalStorage.facet.da4) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.0d8, @Optional.Get(%OptionalStorage.facet.da4) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %Optional.HasValue.017, @Optional.HasValue(%OptionalStorage.facet.8dd) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Optional.Get.0db, @Optional.Get(%OptionalStorage.facet.8dd) [concrete] // CHECK:STDOUT: %operator_PlusEqual__carbon_thunk.type: type = fn_type @operator_PlusEqual__carbon_thunk [concrete] // CHECK:STDOUT: %operator_PlusEqual__carbon_thunk: %operator_PlusEqual__carbon_thunk.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.7: type = fn_type @Destroy.Op.loc31_31.6 [concrete] @@ -3904,14 +3904,14 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.bb6: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.e9e) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.6cd)] -// CHECK:STDOUT: %Core.import_ref.daba: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] +// CHECK:STDOUT: %Core.import_ref.dab: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] // CHECK:STDOUT: %Core.import_ref.0c6: type = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%DefaultOptionalStorage (constants.%DefaultOptionalStorage.d50)] // CHECK:STDOUT: %Core.import_ref.daf = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded // CHECK:STDOUT: %Core.import_ref.bd4 = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded // CHECK:STDOUT: %Core.import_ref.ed4: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has.type (%T.as_type.as.OptionalStorage.impl.Has.type.e5a) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has (constants.%T.as_type.as.OptionalStorage.impl.Has.4ee)] // CHECK:STDOUT: %Core.import_ref.e9c: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get.type (%T.as_type.as.OptionalStorage.impl.Get.type.a12) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get (constants.%T.as_type.as.OptionalStorage.impl.Get.d32)] // CHECK:STDOUT: %Core.import_ref.0b2 = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.e4e = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.daf, %Core.import_ref.bd4, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.460 = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.daf, %Core.import_ref.bd4, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %N: = namespace [concrete] { // CHECK:STDOUT: .ValueType = %ValueType.decl // CHECK:STDOUT: .MutableRange = %MutableRange.decl @@ -3986,28 +3986,28 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc31_31.6: %Destroy.type = converted constants.%as_type.e41, constants.%impl.elem1.834 [symbolic = %impl.elem1 (constants.%impl.elem1.834)] // CHECK:STDOUT: %specific_impl_fn.loc31_31.2: = specific_impl_function %impl.elem3.loc31_31.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.b38) [symbolic = %specific_impl_fn.loc31_31.5 (constants.%specific_impl_fn.24b)] // CHECK:STDOUT: %bound_method.loc31_31.4: = bound_method %r.ref, %specific_impl_fn.loc31_31.2 -// CHECK:STDOUT: %.loc31_31.7: ref %Optional.877 = temporary_storage -// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.877 to %.loc31_31.7 = call %bound_method.loc31_31.4(%r.ref, %addr.loc31) -// CHECK:STDOUT: %.loc31_31.8: ref %Optional.877 = temporary %.loc31_31.7, %Iterate.WithSelf.Next.call -// CHECK:STDOUT: %.loc31_31.9: %Optional.HasValue.type.583 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.da4) [concrete = constants.%Optional.HasValue.51f] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.583 = name_ref HasValue, %.loc31_31.9 [concrete = constants.%Optional.HasValue.51f] +// CHECK:STDOUT: %.loc31_31.7: ref %Optional.1f5 = temporary_storage +// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.1f5 to %.loc31_31.7 = call %bound_method.loc31_31.4(%r.ref, %addr.loc31) +// CHECK:STDOUT: %.loc31_31.8: ref %Optional.1f5 = temporary %.loc31_31.7, %Iterate.WithSelf.Next.call +// CHECK:STDOUT: %.loc31_31.9: %Optional.HasValue.type.527 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.017] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.527 = name_ref HasValue, %.loc31_31.9 [concrete = constants.%Optional.HasValue.017] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc31_31.8, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.da4) [concrete = constants.%Optional.HasValue.specific_fn] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.specific_fn] // CHECK:STDOUT: %bound_method.loc31_31.5: = bound_method %.loc31_31.8, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc31_31.10: %Optional.877 = acquire_value %.loc31_31.8 +// CHECK:STDOUT: %.loc31_31.10: %Optional.1f5 = acquire_value %.loc31_31.8 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc31_31.5(%.loc31_31.10) // CHECK:STDOUT: %.loc31_31.11: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc31_31.12: bool = converted %Optional.HasValue.call, %.loc31_31.11 // CHECK:STDOUT: if %.loc31_31.12 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc31_31.13: %Optional.Get.type.4a3 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.da4) [concrete = constants.%Optional.Get.0d8] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.4a3 = name_ref Get, %.loc31_31.13 [concrete = constants.%Optional.Get.0d8] +// CHECK:STDOUT: %.loc31_31.13: %Optional.Get.type.226 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.0db] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.226 = name_ref Get, %.loc31_31.13 [concrete = constants.%Optional.Get.0db] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc31_31.8, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.da4) [concrete = constants.%Optional.Get.specific_fn] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.specific_fn] // CHECK:STDOUT: %bound_method.loc31_31.6: = bound_method %.loc31_31.8, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc31_31.14: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc31_31.15: %Optional.877 = acquire_value %.loc31_31.8 +// CHECK:STDOUT: %.loc31_31.15: %Optional.1f5 = acquire_value %.loc31_31.8 // CHECK:STDOUT: %Optional.Get.call: init %ValueType to %.loc31_31.14 = call %bound_method.loc31_31.6(%.loc31_31.15) // CHECK:STDOUT: %.loc31_31.16: ref %ValueType = temporary %.loc31_31.14, %Optional.Get.call // CHECK:STDOUT: %.loc31_31.17: %ValueType = acquire_value %.loc31_31.16 @@ -4068,7 +4068,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc31_31.6(%self.param: ref %Optional.877) { +// CHECK:STDOUT: fn @Destroy.Op.loc31_31.6(%self.param: ref %Optional.1f5) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -4201,20 +4201,20 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.524: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.d51, %Iterate.facet.b38 [symbolic] // CHECK:STDOUT: %impl.elem3.7a5: %.524 = impl_witness_access %Iterate.lookup_impl_witness.173, element3 [symbolic] // CHECK:STDOUT: %DefaultOptionalStorage.257: type = class_type @DefaultOptionalStorage, @DefaultOptionalStorage(%facet_value.ccb) [concrete] -// CHECK:STDOUT: %OptionalStorage.impl_witness.b01: = impl_witness imports.%OptionalStorage.impl_witness_table.cfa, @T.as_type.as.OptionalStorage.impl(%facet_value.ccb) [concrete] -// CHECK:STDOUT: %OptionalStorage.facet.5a6: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.b01) [concrete] -// CHECK:STDOUT: %Optional.ce4: type = class_type @Optional, @Optional(%OptionalStorage.facet.5a6) [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness.1bc: = impl_witness imports.%OptionalStorage.impl_witness_table.460, @T.as_type.as.OptionalStorage.impl(%facet_value.ccb) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet.8dd: %OptionalStorage.type = facet_value %ValueType, (%OptionalStorage.impl_witness.1bc) [concrete] +// CHECK:STDOUT: %Optional.1f5: type = class_type @Optional, @Optional(%OptionalStorage.facet.8dd) [concrete] // CHECK:STDOUT: %specific_impl_fn.24b: = specific_impl_function %impl.elem3.7a5, @Iterate.WithSelf.Next(%Iterate.facet.b38) [symbolic] -// CHECK:STDOUT: %Optional.HasValue.type.f90: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.5a6) [concrete] -// CHECK:STDOUT: %Optional.HasValue.bc0: %Optional.HasValue.type.f90 = struct_value () [concrete] -// CHECK:STDOUT: %Optional.Get.type.2a8: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.5a6) [concrete] -// CHECK:STDOUT: %Optional.Get.0b3: %Optional.Get.type.2a8 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.HasValue.type.527: type = fn_type @Optional.HasValue, @Optional(%OptionalStorage.facet.8dd) [concrete] +// CHECK:STDOUT: %Optional.HasValue.017: %Optional.HasValue.type.527 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.Get.type.226: type = fn_type @Optional.Get, @Optional(%OptionalStorage.facet.8dd) [concrete] +// CHECK:STDOUT: %Optional.Get.0db: %Optional.Get.type.226 = struct_value () [concrete] // CHECK:STDOUT: %Destroy.facet.306: %Destroy.type = facet_value %ValueType, (%custom_witness.fef) [concrete] // CHECK:STDOUT: %MaybeUnformed.669: type = class_type @MaybeUnformed, @MaybeUnformed(%Destroy.facet.306) [concrete] // CHECK:STDOUT: %.b36: type = maybe_unformed_type %ValueType [concrete] // CHECK:STDOUT: %struct_type.value.has_value.5a1: type = struct_type {.value: %MaybeUnformed.669, .has_value: bool} [concrete] -// CHECK:STDOUT: %Optional.HasValue.specific_fn.66b: = specific_function %Optional.HasValue.bc0, @Optional.HasValue(%OptionalStorage.facet.5a6) [concrete] -// CHECK:STDOUT: %Optional.Get.specific_fn.9f5: = specific_function %Optional.Get.0b3, @Optional.Get(%OptionalStorage.facet.5a6) [concrete] +// CHECK:STDOUT: %Optional.HasValue.specific_fn.2f1: = specific_function %Optional.HasValue.017, @Optional.HasValue(%OptionalStorage.facet.8dd) [concrete] +// CHECK:STDOUT: %Optional.Get.specific_fn.b3f: = specific_function %Optional.Get.0db, @Optional.Get(%OptionalStorage.facet.8dd) [concrete] // CHECK:STDOUT: %operator_PlusEqual__carbon_thunk.type: type = fn_type @operator_PlusEqual__carbon_thunk [concrete] // CHECK:STDOUT: %operator_PlusEqual__carbon_thunk: %operator_PlusEqual__carbon_thunk.type = struct_value () [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.7: type = fn_type @Destroy.Op.loc38_31.6 [concrete] @@ -4252,21 +4252,21 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %Destroy.Op.1a2547.8: %Destroy.Op.type.1d8f74.8 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.df9cc1.8: = custom_witness (%Destroy.Op.1a2547.8), @Destroy [concrete] // CHECK:STDOUT: %Destroy.facet.7aa: %Destroy.type = facet_value %tuple.type.56e, (%custom_witness.df9cc1.8) [concrete] -// CHECK:STDOUT: %Iterate.impl_witness.b0e: = impl_witness imports.%Iterate.impl_witness_table.978, @T.as_type.as.Iterate.impl(%facet_value.32f) [concrete] +// CHECK:STDOUT: %Iterate.impl_witness.c1c: = impl_witness imports.%Iterate.impl_witness_table.121, @T.as_type.as.Iterate.impl(%facet_value.32f) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.type.ad1: type = fn_type @T.as_type.as.Iterate.impl.NewCursor, @T.as_type.as.Iterate.impl(%facet_value.32f) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.d87: %T.as_type.as.Iterate.impl.NewCursor.type.ad1 = struct_value () [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.type.946: type = fn_type @T.as_type.as.Iterate.impl.Next, @T.as_type.as.Iterate.impl(%facet_value.32f) [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.a1a: %T.as_type.as.Iterate.impl.Next.type.946 = struct_value () [concrete] -// CHECK:STDOUT: %Iterate.facet.00c: %Iterate.type = facet_value %MutableAndConstRange, (%Iterate.impl_witness.b0e) [concrete] -// CHECK:STDOUT: %facet_value.43b: %Iterate_where.type.f9d = facet_value %MutableAndConstRange, (%Iterate.impl_witness.b0e) [concrete] +// CHECK:STDOUT: %Iterate.facet.878: %Iterate.type = facet_value %MutableAndConstRange, (%Iterate.impl_witness.c1c) [concrete] +// CHECK:STDOUT: %facet_value.530: %Iterate_where.type.f9d = facet_value %MutableAndConstRange, (%Iterate.impl_witness.c1c) [concrete] // CHECK:STDOUT: %r.param_patt.8bb: %pattern_type.394 = value_param_pattern [concrete] // CHECK:STDOUT: %r.patt.ac4: %pattern_type.394 = at_binding_pattern r, %r.param_patt.8bb [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.c03: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.00c) [concrete] -// CHECK:STDOUT: %Iterate.WithSelf.Next.type.fc0: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.00c) [concrete] -// CHECK:STDOUT: %.4e3: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.c03, %Iterate.facet.00c [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type.5d8: type = fn_type @Iterate.WithSelf.NewCursor, @Iterate.WithSelf(%Iterate.facet.878) [concrete] +// CHECK:STDOUT: %Iterate.WithSelf.Next.type.1eb: type = fn_type @Iterate.WithSelf.Next, @Iterate.WithSelf(%Iterate.facet.878) [concrete] +// CHECK:STDOUT: %.2a5: type = fn_type_with_self_type %Iterate.WithSelf.NewCursor.type.5d8, %Iterate.facet.878 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.NewCursor.specific_fn: = specific_function %T.as_type.as.Iterate.impl.NewCursor.d87, @T.as_type.as.Iterate.impl.NewCursor(%facet_value.32f) [concrete] // CHECK:STDOUT: %ptr.484: type = ptr_type %tuple.type.56e [concrete] -// CHECK:STDOUT: %.24f0: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.fc0, %Iterate.facet.00c [concrete] +// CHECK:STDOUT: %.0b8: type = fn_type_with_self_type %Iterate.WithSelf.Next.type.1eb, %Iterate.facet.878 [concrete] // CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.specific_fn: = specific_function %T.as_type.as.Iterate.impl.Next.a1a, @T.as_type.as.Iterate.impl.Next(%facet_value.32f) [concrete] // CHECK:STDOUT: %Destroy.WithSelf.Op.type.b7b: type = fn_type @Destroy.WithSelf.Op, @Destroy.WithSelf(%Destroy.facet.7aa) [concrete] // CHECK:STDOUT: %.1ad: type = fn_type_with_self_type %Destroy.WithSelf.Op.type.b7b, %Destroy.facet.7aa [concrete] @@ -4279,19 +4279,19 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.bb6: @Optional.%Optional.HasValue.type (%Optional.HasValue.type.e9e) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.HasValue (constants.%Optional.HasValue.6cd)] -// CHECK:STDOUT: %Core.import_ref.daba: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] +// CHECK:STDOUT: %Core.import_ref.dab: @Optional.%Optional.Get.type (%Optional.Get.type.bb9) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Optional.%Optional.Get (constants.%Optional.Get.fa1)] // CHECK:STDOUT: %Core.import_ref.0c6: type = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%DefaultOptionalStorage (constants.%DefaultOptionalStorage.d50)] // CHECK:STDOUT: %Core.import_ref.dc3: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None.type (%T.as_type.as.OptionalStorage.impl.None.type.0a1) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.None (constants.%T.as_type.as.OptionalStorage.impl.None.e06)] // CHECK:STDOUT: %Core.import_ref.c53: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some.type (%T.as_type.as.OptionalStorage.impl.Some.type.492) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Some (constants.%T.as_type.as.OptionalStorage.impl.Some.89a)] // CHECK:STDOUT: %Core.import_ref.ed4: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has.type (%T.as_type.as.OptionalStorage.impl.Has.type.e5a) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Has (constants.%T.as_type.as.OptionalStorage.impl.Has.4ee)] // CHECK:STDOUT: %Core.import_ref.e9c: @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get.type (%T.as_type.as.OptionalStorage.impl.Get.type.a12) = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @T.as_type.as.OptionalStorage.impl.%T.as_type.as.OptionalStorage.impl.Get (constants.%T.as_type.as.OptionalStorage.impl.Get.d32)] // CHECK:STDOUT: %Core.import_ref.0b2 = import_ref Core//prelude/iterate, inst{{[0-9A-F]+}} [indirect], unloaded -// CHECK:STDOUT: %OptionalStorage.impl_witness_table.cfa = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.460 = impl_witness_table (%Core.import_ref.0c6, %Core.import_ref.dc3, %Core.import_ref.c53, %Core.import_ref.ed4, %Core.import_ref.e9c, %Core.import_ref.0b2), @T.as_type.as.OptionalStorage.impl [concrete] // CHECK:STDOUT: %Core.import_ref.eef: %facet_type.f48 = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%facet_value (constants.%facet_value.f93)] // CHECK:STDOUT: %Core.import_ref.fcc: %Destroy.type = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%Destroy.facet (constants.%Destroy.facet.9cd)] // CHECK:STDOUT: %Core.import_ref.fd1: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor.type (%T.as_type.as.Iterate.impl.NewCursor.type.953) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.NewCursor (constants.%T.as_type.as.Iterate.impl.NewCursor.544)] // CHECK:STDOUT: %Core.import_ref.273: @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next.type (%T.as_type.as.Iterate.impl.Next.type.b36) = import_ref Core//prelude/iterate, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.Iterate.impl.%T.as_type.as.Iterate.impl.Next (constants.%T.as_type.as.Iterate.impl.Next.d6b)] -// CHECK:STDOUT: %Iterate.impl_witness_table.978 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] +// CHECK:STDOUT: %Iterate.impl_witness_table.121 = impl_witness_table (%Core.import_ref.eef, %Core.import_ref.fcc, %Core.import_ref.fd1, %Core.import_ref.273), @T.as_type.as.Iterate.impl [concrete] // CHECK:STDOUT: %N: = namespace [concrete] { // CHECK:STDOUT: .ValueType = %ValueType.decl // CHECK:STDOUT: .MutableAndConstRange = %MutableAndConstRange.decl @@ -4366,28 +4366,28 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc38_31.6: %Destroy.type = converted constants.%as_type.e41, constants.%impl.elem1.834 [symbolic = %impl.elem1 (constants.%impl.elem1.834)] // CHECK:STDOUT: %specific_impl_fn.loc38_31.2: = specific_impl_function %impl.elem3.loc38_31.1, @Iterate.WithSelf.Next(constants.%Iterate.facet.b38) [symbolic = %specific_impl_fn.loc38_31.5 (constants.%specific_impl_fn.24b)] // CHECK:STDOUT: %bound_method.loc38_31.4: = bound_method %r.ref, %specific_impl_fn.loc38_31.2 -// CHECK:STDOUT: %.loc38_31.7: ref %Optional.ce4 = temporary_storage -// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.ce4 to %.loc38_31.7 = call %bound_method.loc38_31.4(%r.ref, %addr.loc38) -// CHECK:STDOUT: %.loc38_31.8: ref %Optional.ce4 = temporary %.loc38_31.7, %Iterate.WithSelf.Next.call -// CHECK:STDOUT: %.loc38_31.9: %Optional.HasValue.type.f90 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.HasValue.bc0] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.f90 = name_ref HasValue, %.loc38_31.9 [concrete = constants.%Optional.HasValue.bc0] +// CHECK:STDOUT: %.loc38_31.7: ref %Optional.1f5 = temporary_storage +// CHECK:STDOUT: %Iterate.WithSelf.Next.call: init %Optional.1f5 to %.loc38_31.7 = call %bound_method.loc38_31.4(%r.ref, %addr.loc38) +// CHECK:STDOUT: %.loc38_31.8: ref %Optional.1f5 = temporary %.loc38_31.7, %Iterate.WithSelf.Next.call +// CHECK:STDOUT: %.loc38_31.9: %Optional.HasValue.type.527 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.017] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.527 = name_ref HasValue, %.loc38_31.9 [concrete = constants.%Optional.HasValue.017] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc38_31.8, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.HasValue.specific_fn.66b] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.specific_fn.2f1] // CHECK:STDOUT: %bound_method.loc38_31.5: = bound_method %.loc38_31.8, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc38_31.10: %Optional.ce4 = acquire_value %.loc38_31.8 +// CHECK:STDOUT: %.loc38_31.10: %Optional.1f5 = acquire_value %.loc38_31.8 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc38_31.5(%.loc38_31.10) // CHECK:STDOUT: %.loc38_31.11: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc38_31.12: bool = converted %Optional.HasValue.call, %.loc38_31.11 // CHECK:STDOUT: if %.loc38_31.12 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc38_31.13: %Optional.Get.type.2a8 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.Get.0b3] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.2a8 = name_ref Get, %.loc38_31.13 [concrete = constants.%Optional.Get.0b3] +// CHECK:STDOUT: %.loc38_31.13: %Optional.Get.type.226 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.0db] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.226 = name_ref Get, %.loc38_31.13 [concrete = constants.%Optional.Get.0db] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc38_31.8, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.Get.specific_fn.9f5] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.specific_fn.b3f] // CHECK:STDOUT: %bound_method.loc38_31.6: = bound_method %.loc38_31.8, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc38_31.14: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc38_31.15: %Optional.ce4 = acquire_value %.loc38_31.8 +// CHECK:STDOUT: %.loc38_31.15: %Optional.1f5 = acquire_value %.loc38_31.8 // CHECK:STDOUT: %Optional.Get.call: init %ValueType to %.loc38_31.14 = call %bound_method.loc38_31.6(%.loc38_31.15) // CHECK:STDOUT: %.loc38_31.16: ref %ValueType = temporary %.loc38_31.14, %Optional.Get.call // CHECK:STDOUT: %.loc38_31.17: %ValueType = acquire_value %.loc38_31.16 @@ -4448,7 +4448,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Destroy.Op.loc38_31.6(%self.param: ref %Optional.ce4) { +// CHECK:STDOUT: fn @Destroy.Op.loc38_31.6(%self.param: ref %Optional.1f5) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -4460,7 +4460,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %i.patt: %pattern_type.e41 = value_binding_pattern i [concrete = constants.%i.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %mc.ref: ref %MutableAndConstRange = name_ref mc, %mc -// CHECK:STDOUT: %impl.elem2: %.4e3 = impl_witness_access constants.%Iterate.impl_witness.b0e, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.d87] +// CHECK:STDOUT: %impl.elem2: %.2a5 = impl_witness_access constants.%Iterate.impl_witness.c1c, element2 [concrete = constants.%T.as_type.as.Iterate.impl.NewCursor.d87] // CHECK:STDOUT: %bound_method.loc80_32.1: = bound_method %mc.ref, %impl.elem2 // CHECK:STDOUT: %facet_value.loc80_32.1: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableAndConstRange, (constants.%custom_witness.fef, constants.%custom_witness.c19, constants.%custom_witness.a40, constants.%custom_witness.04a, constants.%custom_witness.dd5, constants.%custom_witness.01a, constants.%custom_witness.c66) [concrete = constants.%facet_value.32f] // CHECK:STDOUT: %.loc80_32.1: %CppRange_where.type.d682d6.1 = converted constants.%MutableAndConstRange, %facet_value.loc80_32.1 [concrete = constants.%facet_value.32f] @@ -4476,7 +4476,7 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !for.next: // CHECK:STDOUT: %addr.loc80: %ptr.484 = addr_of %var -// CHECK:STDOUT: %impl.elem3: %.24f0 = impl_witness_access constants.%Iterate.impl_witness.b0e, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.a1a] +// CHECK:STDOUT: %impl.elem3: %.0b8 = impl_witness_access constants.%Iterate.impl_witness.c1c, element3 [concrete = constants.%T.as_type.as.Iterate.impl.Next.a1a] // CHECK:STDOUT: %bound_method.loc80_32.3: = bound_method %mc.ref, %impl.elem3 // CHECK:STDOUT: %facet_value.loc80_32.3: %CppRange_where.type.d682d6.1 = facet_value constants.%MutableAndConstRange, (constants.%custom_witness.fef, constants.%custom_witness.c19, constants.%custom_witness.a40, constants.%custom_witness.04a, constants.%custom_witness.dd5, constants.%custom_witness.01a, constants.%custom_witness.c66) [concrete = constants.%facet_value.32f] // CHECK:STDOUT: %.loc80_32.3: %CppRange_where.type.d682d6.1 = converted constants.%MutableAndConstRange, %facet_value.loc80_32.3 [concrete = constants.%facet_value.32f] @@ -4484,29 +4484,29 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %.loc80_32.4: %CppRange_where.type.d682d6.1 = converted constants.%MutableAndConstRange, %facet_value.loc80_32.4 [concrete = constants.%facet_value.32f] // CHECK:STDOUT: %specific_fn.loc80_32.2: = specific_function %impl.elem3, @T.as_type.as.Iterate.impl.Next(constants.%facet_value.32f) [concrete = constants.%T.as_type.as.Iterate.impl.Next.specific_fn] // CHECK:STDOUT: %bound_method.loc80_32.4: = bound_method %mc.ref, %specific_fn.loc80_32.2 -// CHECK:STDOUT: %.loc80_32.5: ref %Optional.ce4 = temporary_storage +// CHECK:STDOUT: %.loc80_32.5: ref %Optional.1f5 = temporary_storage // CHECK:STDOUT: %.loc80_30.2: %MutableAndConstRange = acquire_value %mc.ref -// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.ce4 to %.loc80_32.5 = call %bound_method.loc80_32.4(%.loc80_30.2, %addr.loc80) -// CHECK:STDOUT: %.loc80_32.6: ref %Optional.ce4 = temporary %.loc80_32.5, %T.as_type.as.Iterate.impl.Next.call -// CHECK:STDOUT: %.loc80_32.7: %Optional.HasValue.type.f90 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.HasValue.bc0] -// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.f90 = name_ref HasValue, %.loc80_32.7 [concrete = constants.%Optional.HasValue.bc0] +// CHECK:STDOUT: %T.as_type.as.Iterate.impl.Next.call: init %Optional.1f5 to %.loc80_32.5 = call %bound_method.loc80_32.4(%.loc80_30.2, %addr.loc80) +// CHECK:STDOUT: %.loc80_32.6: ref %Optional.1f5 = temporary %.loc80_32.5, %T.as_type.as.Iterate.impl.Next.call +// CHECK:STDOUT: %.loc80_32.7: %Optional.HasValue.type.527 = specific_constant imports.%Core.import_ref.bb6, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.017] +// CHECK:STDOUT: %HasValue.ref: %Optional.HasValue.type.527 = name_ref HasValue, %.loc80_32.7 [concrete = constants.%Optional.HasValue.017] // CHECK:STDOUT: %Optional.HasValue.bound: = bound_method %.loc80_32.6, %HasValue.ref -// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.HasValue.specific_fn.66b] +// CHECK:STDOUT: %Optional.HasValue.specific_fn: = specific_function %HasValue.ref, @Optional.HasValue(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.HasValue.specific_fn.2f1] // CHECK:STDOUT: %bound_method.loc80_32.5: = bound_method %.loc80_32.6, %Optional.HasValue.specific_fn -// CHECK:STDOUT: %.loc80_32.8: %Optional.ce4 = acquire_value %.loc80_32.6 +// CHECK:STDOUT: %.loc80_32.8: %Optional.1f5 = acquire_value %.loc80_32.6 // CHECK:STDOUT: %Optional.HasValue.call: init bool = call %bound_method.loc80_32.5(%.loc80_32.8) // CHECK:STDOUT: %.loc80_32.9: bool = value_of_initializer %Optional.HasValue.call // CHECK:STDOUT: %.loc80_32.10: bool = converted %Optional.HasValue.call, %.loc80_32.9 // CHECK:STDOUT: if %.loc80_32.10 br !for.body else br !for.done // CHECK:STDOUT: // CHECK:STDOUT: !for.body: -// CHECK:STDOUT: %.loc80_32.11: %Optional.Get.type.2a8 = specific_constant imports.%Core.import_ref.daba, @Optional(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.Get.0b3] -// CHECK:STDOUT: %Get.ref: %Optional.Get.type.2a8 = name_ref Get, %.loc80_32.11 [concrete = constants.%Optional.Get.0b3] +// CHECK:STDOUT: %.loc80_32.11: %Optional.Get.type.226 = specific_constant imports.%Core.import_ref.dab, @Optional(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.0db] +// CHECK:STDOUT: %Get.ref: %Optional.Get.type.226 = name_ref Get, %.loc80_32.11 [concrete = constants.%Optional.Get.0db] // CHECK:STDOUT: %Optional.Get.bound: = bound_method %.loc80_32.6, %Get.ref -// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.5a6) [concrete = constants.%Optional.Get.specific_fn.9f5] +// CHECK:STDOUT: %Optional.Get.specific_fn: = specific_function %Get.ref, @Optional.Get(constants.%OptionalStorage.facet.8dd) [concrete = constants.%Optional.Get.specific_fn.b3f] // CHECK:STDOUT: %bound_method.loc80_32.6: = bound_method %.loc80_32.6, %Optional.Get.specific_fn // CHECK:STDOUT: %.loc80_32.12: ref %ValueType = temporary_storage -// CHECK:STDOUT: %.loc80_32.13: %Optional.ce4 = acquire_value %.loc80_32.6 +// CHECK:STDOUT: %.loc80_32.13: %Optional.1f5 = acquire_value %.loc80_32.6 // CHECK:STDOUT: %Optional.Get.call: init %ValueType to %.loc80_32.12 = call %bound_method.loc80_32.6(%.loc80_32.13) // CHECK:STDOUT: %.loc80_32.14: ref %ValueType = temporary %.loc80_32.12, %Optional.Get.call // CHECK:STDOUT: %.loc80_32.15: %ValueType = acquire_value %.loc80_32.14 @@ -4548,9 +4548,9 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: %r.patt.loc34_71.2 => constants.%r.patt.d6c // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.43b) { +// CHECK:STDOUT: specific @TestIterate(constants.%facet_value.530) { // CHECK:STDOUT: %R.patt.loc34_17.2 => constants.%R.patt -// CHECK:STDOUT: %R.loc34_17.1 => constants.%facet_value.43b +// CHECK:STDOUT: %R.loc34_17.1 => constants.%facet_value.530 // CHECK:STDOUT: %R.as_type.loc34_73.1 => constants.%MutableAndConstRange // CHECK:STDOUT: %pattern_type => constants.%pattern_type.394 // CHECK:STDOUT: %r.param_patt.loc34_71.2 => constants.%r.param_patt.8bb @@ -4558,18 +4558,18 @@ fn TestDriver(var no_begin_end: Cpp.NoBeginEnd, // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc34 => constants.%complete_type.357 -// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.b0e -// CHECK:STDOUT: %Iterate.facet.loc38_31.5 => constants.%Iterate.facet.00c -// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.c03 -// CHECK:STDOUT: %.loc38_31.20 => constants.%.4e3 +// CHECK:STDOUT: %Iterate.lookup_impl_witness => constants.%Iterate.impl_witness.c1c +// CHECK:STDOUT: %Iterate.facet.loc38_31.5 => constants.%Iterate.facet.878 +// CHECK:STDOUT: %Iterate.WithSelf.NewCursor.type => constants.%Iterate.WithSelf.NewCursor.type.5d8 +// CHECK:STDOUT: %.loc38_31.20 => constants.%.2a5 // CHECK:STDOUT: %impl.elem2.loc38_31.2 => constants.%T.as_type.as.Iterate.impl.NewCursor.d87 // CHECK:STDOUT: %specific_impl_fn.loc38_31.4 => constants.%T.as_type.as.Iterate.impl.NewCursor.specific_fn // CHECK:STDOUT: %impl.elem1 => constants.%Destroy.facet.7aa // CHECK:STDOUT: %as_type => constants.%tuple.type.56e // CHECK:STDOUT: %require_complete.1 => constants.%complete_type.1b5 // CHECK:STDOUT: %ptr => constants.%ptr.484 -// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.fc0 -// CHECK:STDOUT: %.loc38_31.21 => constants.%.24f0 +// CHECK:STDOUT: %Iterate.WithSelf.Next.type => constants.%Iterate.WithSelf.Next.type.1eb +// CHECK:STDOUT: %.loc38_31.21 => constants.%.0b8 // CHECK:STDOUT: %impl.elem3.loc38_31.2 => constants.%T.as_type.as.Iterate.impl.Next.a1a // CHECK:STDOUT: %specific_impl_fn.loc38_31.5 => constants.%T.as_type.as.Iterate.impl.Next.specific_fn // CHECK:STDOUT: %Destroy.WithSelf.Op.type => constants.%Destroy.WithSelf.Op.type.b7b diff --git a/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon b/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon index f720a141800c..cc271f512012 100644 --- a/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon +++ b/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon @@ -83,12 +83,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -138,7 +138,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %initializer_list.template: %initializer_list.type = struct_value () [concrete = constants.%initializer_list.template] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.0e9.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: %Consume.cpp_overload_set.value: %Consume.cpp_overload_set.type = cpp_overload_set_value @Consume.cpp_overload_set [concrete = constants.%Consume.cpp_overload_set.value] // CHECK:STDOUT: %Consume__carbon_thunk.decl: %Consume__carbon_thunk.type = fn_decl @Consume__carbon_thunk [concrete = constants.%Consume__carbon_thunk] { // CHECK:STDOUT: @@ -206,7 +206,7 @@ fn F() { // CHECK:STDOUT: %int_3.loc8_50: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %array_type.loc8: type = array_type %int_3.loc8_50, %i32.2 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc8_50.2: ref %initializer_list = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc8_50.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_50.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_50.1: = bound_method %int_1.loc8_43, %impl.elem0.loc8_50.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc8_50.1: = specific_function %impl.elem0.loc8_50.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_50.2: = bound_method %int_1.loc8_43, %specific_fn.loc8_50.1 [concrete = constants.%bound_method.953] @@ -216,7 +216,7 @@ fn F() { // CHECK:STDOUT: %int_0.loc8: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %.loc8_50.5: ref %i32 = array_index %.loc8_50.4, %int_0.loc8 // CHECK:STDOUT: %.loc8_50.6: init %i32 to %.loc8_50.5 = in_place_init %.loc8_50.3 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc8_50.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_50.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_50.3: = bound_method %int_2.loc8_46, %impl.elem0.loc8_50.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc8_50.2: = specific_function %impl.elem0.loc8_50.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_50.4: = bound_method %int_2.loc8_46, %specific_fn.loc8_50.2 [concrete = constants.%bound_method.3cb] @@ -225,7 +225,7 @@ fn F() { // CHECK:STDOUT: %int_1.loc8_50: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc8_50.8: ref %i32 = array_index %.loc8_50.4, %int_1.loc8_50 // CHECK:STDOUT: %.loc8_50.9: init %i32 to %.loc8_50.8 = in_place_init %.loc8_50.7 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc8_50.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_50.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_50.5: = bound_method %int_3.loc8_49, %impl.elem0.loc8_50.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc8_50.3: = specific_function %impl.elem0.loc8_50.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_50.6: = bound_method %int_3.loc8_49, %specific_fn.loc8_50.3 [concrete = constants.%bound_method.763] @@ -257,7 +257,7 @@ fn F() { // CHECK:STDOUT: %int_3.loc10_23: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %array_type.loc10: type = array_type %int_3.loc10_23, %i32.4 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc10_23.2: ref %initializer_list = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc10_23.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_23.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_23.1: = bound_method %int_1.loc10_16, %impl.elem0.loc10_23.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc10_23.1: = specific_function %impl.elem0.loc10_23.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_23.2: = bound_method %int_1.loc10_16, %specific_fn.loc10_23.1 [concrete = constants.%bound_method.953] @@ -267,7 +267,7 @@ fn F() { // CHECK:STDOUT: %int_0.loc10: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %.loc10_23.5: ref %i32 = array_index %.loc10_23.4, %int_0.loc10 // CHECK:STDOUT: %.loc10_23.6: init %i32 to %.loc10_23.5 = in_place_init %.loc10_23.3 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc10_23.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_23.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_23.3: = bound_method %int_2.loc10_19, %impl.elem0.loc10_23.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc10_23.2: = specific_function %impl.elem0.loc10_23.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_23.4: = bound_method %int_2.loc10_19, %specific_fn.loc10_23.2 [concrete = constants.%bound_method.3cb] @@ -276,7 +276,7 @@ fn F() { // CHECK:STDOUT: %int_1.loc10_23: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc10_23.8: ref %i32 = array_index %.loc10_23.4, %int_1.loc10_23 // CHECK:STDOUT: %.loc10_23.9: init %i32 to %.loc10_23.8 = in_place_init %.loc10_23.7 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc10_23.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_23.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_23.5: = bound_method %int_3.loc10_22, %impl.elem0.loc10_23.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc10_23.3: = specific_function %impl.elem0.loc10_23.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_23.6: = bound_method %int_3.loc10_22, %specific_fn.loc10_23.3 [concrete = constants.%bound_method.763] @@ -308,7 +308,7 @@ fn F() { // CHECK:STDOUT: %int_3.loc12_44: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %array_type.loc12: type = array_type %int_3.loc12_44, %i32.6 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc12_44.3: ref %initializer_list = temporary_storage -// CHECK:STDOUT: %impl.elem0.loc12_44.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12_44.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_44.1: = bound_method %int_1.loc12_37, %impl.elem0.loc12_44.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc12_44.1: = specific_function %impl.elem0.loc12_44.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_44.2: = bound_method %int_1.loc12_37, %specific_fn.loc12_44.1 [concrete = constants.%bound_method.953] @@ -318,7 +318,7 @@ fn F() { // CHECK:STDOUT: %int_0.loc12: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %.loc12_44.6: ref %i32 = array_index %.loc12_44.5, %int_0.loc12 // CHECK:STDOUT: %.loc12_44.7: init %i32 to %.loc12_44.6 = in_place_init %.loc12_44.4 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc12_44.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12_44.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_44.3: = bound_method %int_2.loc12_40, %impl.elem0.loc12_44.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc12_44.2: = specific_function %impl.elem0.loc12_44.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_44.4: = bound_method %int_2.loc12_40, %specific_fn.loc12_44.2 [concrete = constants.%bound_method.3cb] @@ -327,7 +327,7 @@ fn F() { // CHECK:STDOUT: %int_1.loc12_44: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc12_44.9: ref %i32 = array_index %.loc12_44.5, %int_1.loc12_44 // CHECK:STDOUT: %.loc12_44.10: init %i32 to %.loc12_44.9 = in_place_init %.loc12_44.8 [concrete = constants.%int_2.295] -// CHECK:STDOUT: %impl.elem0.loc12_44.3: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12_44.3: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_44.5: = bound_method %int_3.loc12_43, %impl.elem0.loc12_44.3 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc12_44.3: = specific_function %impl.elem0.loc12_44.3, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_44.6: = bound_method %int_3.loc12_43, %specific_fn.loc12_44.3 [concrete = constants.%bound_method.763] diff --git a/toolchain/check/testdata/interop/cpp/template/argument_count.carbon b/toolchain/check/testdata/interop/cpp/template/argument_count.carbon index 3e78084e9d05..b195098d2d9a 100644 --- a/toolchain/check/testdata/interop/cpp/template/argument_count.carbon +++ b/toolchain/check/testdata/interop/cpp/template/argument_count.carbon @@ -134,13 +134,13 @@ var too_many: Cpp.FixedSizePack(Cpp.A, Cpp.A).Inner(Cpp.B, Cpp.B, Cpp.B); // CHECK:STDOUT: %TwoTypes.Op: %TwoTypes.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%TwoTypes.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.49c: %Default.type = facet_value %TwoTypes, (%custom_witness.9b4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.07d: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.49c) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %TwoTypes, (%DefaultOrUnformed.impl_witness.07d) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.444: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.49c) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %TwoTypes, (%DefaultOrUnformed.impl_witness.444) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -154,7 +154,7 @@ var too_many: Cpp.FixedSizePack(Cpp.A, Cpp.A).Inner(Cpp.B, Cpp.B, Cpp.B); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%TwoTypes, (constants.%DefaultOrUnformed.impl_witness.07d) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%TwoTypes, (constants.%DefaultOrUnformed.impl_witness.444) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc7_34.1: %DefaultOrUnformed.type = converted constants.%TwoTypes, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc7_34.1 [concrete = constants.%TwoTypes] // CHECK:STDOUT: %.loc7_34.2: type = converted %.loc7_34.1, %as_type [concrete = constants.%TwoTypes] @@ -181,8 +181,8 @@ var too_many: Cpp.FixedSizePack(Cpp.A, Cpp.A).Inner(Cpp.B, Cpp.B, Cpp.B); // CHECK:STDOUT: %TypePack.Op.4dca31.1: %TypePack.Op.type.83af6e.1 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.1: = custom_witness (%TypePack.Op.4dca31.1), @Default [concrete] // CHECK:STDOUT: %Default.facet.7a3: %Default.type = facet_value %TypePack.78f, (%custom_witness.9b40fb.1) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6f4: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.7a3) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.be2: %DefaultOrUnformed.type = facet_value %TypePack.78f, (%DefaultOrUnformed.impl_witness.6f4) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.97b: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.7a3) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.51d: %DefaultOrUnformed.type = facet_value %TypePack.78f, (%DefaultOrUnformed.impl_witness.97b) [concrete] // CHECK:STDOUT: %TypePack.0bc: type = class_type @TypePack.2 [concrete] // CHECK:STDOUT: %pattern_type.20e: type = pattern_type %TypePack.0bc [concrete] // CHECK:STDOUT: %a1.patt: %pattern_type.20e = ref_binding_pattern a1 [concrete] @@ -191,8 +191,8 @@ var too_many: Cpp.FixedSizePack(Cpp.A, Cpp.A).Inner(Cpp.B, Cpp.B, Cpp.B); // CHECK:STDOUT: %TypePack.Op.4dca31.2: %TypePack.Op.type.83af6e.2 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.2: = custom_witness (%TypePack.Op.4dca31.2), @Default [concrete] // CHECK:STDOUT: %Default.facet.2dd: %Default.type = facet_value %TypePack.0bc, (%custom_witness.9b40fb.2) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.8e2: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.2dd) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.777: %DefaultOrUnformed.type = facet_value %TypePack.0bc, (%DefaultOrUnformed.impl_witness.8e2) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.df0: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.2dd) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.556: %DefaultOrUnformed.type = facet_value %TypePack.0bc, (%DefaultOrUnformed.impl_witness.df0) [concrete] // CHECK:STDOUT: %TypePack.0ec: type = class_type @TypePack.3 [concrete] // CHECK:STDOUT: %pattern_type.c25: type = pattern_type %TypePack.0ec [concrete] // CHECK:STDOUT: %a2.patt: %pattern_type.c25 = ref_binding_pattern a2 [concrete] @@ -201,8 +201,8 @@ var too_many: Cpp.FixedSizePack(Cpp.A, Cpp.A).Inner(Cpp.B, Cpp.B, Cpp.B); // CHECK:STDOUT: %TypePack.Op.4dca31.3: %TypePack.Op.type.83af6e.3 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.3: = custom_witness (%TypePack.Op.4dca31.3), @Default [concrete] // CHECK:STDOUT: %Default.facet.3ab: %Default.type = facet_value %TypePack.0ec, (%custom_witness.9b40fb.3) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.873: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.3ab) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.967: %DefaultOrUnformed.type = facet_value %TypePack.0ec, (%DefaultOrUnformed.impl_witness.873) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.f4d: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.3ab) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.2d9: %DefaultOrUnformed.type = facet_value %TypePack.0ec, (%DefaultOrUnformed.impl_witness.f4d) [concrete] // CHECK:STDOUT: %TypePack.186: type = class_type @TypePack.4 [concrete] // CHECK:STDOUT: %pattern_type.678: type = pattern_type %TypePack.186 [concrete] // CHECK:STDOUT: %a3.patt: %pattern_type.678 = ref_binding_pattern a3 [concrete] @@ -211,13 +211,13 @@ var too_many: Cpp.FixedSizePack(Cpp.A, Cpp.A).Inner(Cpp.B, Cpp.B, Cpp.B); // CHECK:STDOUT: %TypePack.Op.4dca31.4: %TypePack.Op.type.83af6e.4 = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b40fb.4: = custom_witness (%TypePack.Op.4dca31.4), @Default [concrete] // CHECK:STDOUT: %Default.facet.3c1: %Default.type = facet_value %TypePack.186, (%custom_witness.9b40fb.4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.3f9: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.3c1) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.59c: %DefaultOrUnformed.type = facet_value %TypePack.186, (%DefaultOrUnformed.impl_witness.3f9) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.991: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.3c1) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.28c: %DefaultOrUnformed.type = facet_value %TypePack.186, (%DefaultOrUnformed.impl_witness.991) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -249,32 +249,32 @@ var too_many: Cpp.FixedSizePack(Cpp.A, Cpp.A).Inner(Cpp.B, Cpp.B, Cpp.B); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%TypePack.78f, (constants.%DefaultOrUnformed.impl_witness.6f4) [concrete = constants.%DefaultOrUnformed.facet.be2] -// CHECK:STDOUT: %.loc7_23.1: %DefaultOrUnformed.type = converted constants.%TypePack.78f, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.be2] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%TypePack.78f, (constants.%DefaultOrUnformed.impl_witness.97b) [concrete = constants.%DefaultOrUnformed.facet.51d] +// CHECK:STDOUT: %.loc7_23.1: %DefaultOrUnformed.type = converted constants.%TypePack.78f, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.51d] // CHECK:STDOUT: %as_type.loc7: type = facet_access_type %.loc7_23.1 [concrete = constants.%TypePack.78f] // CHECK:STDOUT: %.loc7_23.2: type = converted %.loc7_23.1, %as_type.loc7 [concrete = constants.%TypePack.78f] // CHECK:STDOUT: // CHECK:STDOUT: %.loc7_1: ref %TypePack.78f = splice_block file.%a0.var [concrete = file.%a0.var] {} // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.call.loc7: init %TypePack.78f to %.loc7_1 = call %T.as_type.as.DefaultOrUnformed.impl.Op.specific_fn.1() // CHECK:STDOUT: assign file.%a0.var, %T.as_type.as.DefaultOrUnformed.impl.Op.call.loc7 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%TypePack.0bc, (constants.%DefaultOrUnformed.impl_witness.8e2) [concrete = constants.%DefaultOrUnformed.facet.777] -// CHECK:STDOUT: %.loc8_28.1: %DefaultOrUnformed.type = converted constants.%TypePack.0bc, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.777] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc8: %DefaultOrUnformed.type = facet_value constants.%TypePack.0bc, (constants.%DefaultOrUnformed.impl_witness.df0) [concrete = constants.%DefaultOrUnformed.facet.556] +// CHECK:STDOUT: %.loc8_28.1: %DefaultOrUnformed.type = converted constants.%TypePack.0bc, %DefaultOrUnformed.facet.loc8 [concrete = constants.%DefaultOrUnformed.facet.556] // CHECK:STDOUT: %as_type.loc8: type = facet_access_type %.loc8_28.1 [concrete = constants.%TypePack.0bc] // CHECK:STDOUT: %.loc8_28.2: type = converted %.loc8_28.1, %as_type.loc8 [concrete = constants.%TypePack.0bc] // CHECK:STDOUT: // CHECK:STDOUT: %.loc8_1: ref %TypePack.0bc = splice_block file.%a1.var [concrete = file.%a1.var] {} // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.call.loc8: init %TypePack.0bc to %.loc8_1 = call %T.as_type.as.DefaultOrUnformed.impl.Op.specific_fn.2() // CHECK:STDOUT: assign file.%a1.var, %T.as_type.as.DefaultOrUnformed.impl.Op.call.loc8 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc9: %DefaultOrUnformed.type = facet_value constants.%TypePack.0ec, (constants.%DefaultOrUnformed.impl_witness.873) [concrete = constants.%DefaultOrUnformed.facet.967] -// CHECK:STDOUT: %.loc9_35.1: %DefaultOrUnformed.type = converted constants.%TypePack.0ec, %DefaultOrUnformed.facet.loc9 [concrete = constants.%DefaultOrUnformed.facet.967] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc9: %DefaultOrUnformed.type = facet_value constants.%TypePack.0ec, (constants.%DefaultOrUnformed.impl_witness.f4d) [concrete = constants.%DefaultOrUnformed.facet.2d9] +// CHECK:STDOUT: %.loc9_35.1: %DefaultOrUnformed.type = converted constants.%TypePack.0ec, %DefaultOrUnformed.facet.loc9 [concrete = constants.%DefaultOrUnformed.facet.2d9] // CHECK:STDOUT: %as_type.loc9: type = facet_access_type %.loc9_35.1 [concrete = constants.%TypePack.0ec] // CHECK:STDOUT: %.loc9_35.2: type = converted %.loc9_35.1, %as_type.loc9 [concrete = constants.%TypePack.0ec] // CHECK:STDOUT: // CHECK:STDOUT: %.loc9_1: ref %TypePack.0ec = splice_block file.%a2.var [concrete = file.%a2.var] {} // CHECK:STDOUT: %T.as_type.as.DefaultOrUnformed.impl.Op.call.loc9: init %TypePack.0ec to %.loc9_1 = call %T.as_type.as.DefaultOrUnformed.impl.Op.specific_fn.3() // CHECK:STDOUT: assign file.%a2.var, %T.as_type.as.DefaultOrUnformed.impl.Op.call.loc9 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc10: %DefaultOrUnformed.type = facet_value constants.%TypePack.186, (constants.%DefaultOrUnformed.impl_witness.3f9) [concrete = constants.%DefaultOrUnformed.facet.59c] -// CHECK:STDOUT: %.loc10_42.1: %DefaultOrUnformed.type = converted constants.%TypePack.186, %DefaultOrUnformed.facet.loc10 [concrete = constants.%DefaultOrUnformed.facet.59c] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc10: %DefaultOrUnformed.type = facet_value constants.%TypePack.186, (constants.%DefaultOrUnformed.impl_witness.991) [concrete = constants.%DefaultOrUnformed.facet.28c] +// CHECK:STDOUT: %.loc10_42.1: %DefaultOrUnformed.type = converted constants.%TypePack.186, %DefaultOrUnformed.facet.loc10 [concrete = constants.%DefaultOrUnformed.facet.28c] // CHECK:STDOUT: %as_type.loc10: type = facet_access_type %.loc10_42.1 [concrete = constants.%TypePack.186] // CHECK:STDOUT: %.loc10_42.2: type = converted %.loc10_42.1, %as_type.loc10 [concrete = constants.%TypePack.186] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/template/template_template_param.carbon b/toolchain/check/testdata/interop/cpp/template/template_template_param.carbon index e6f6e32cff40..3515c16f0304 100644 --- a/toolchain/check/testdata/interop/cpp/template/template_template_param.carbon +++ b/toolchain/check/testdata/interop/cpp/template/template_template_param.carbon @@ -96,13 +96,13 @@ var x: Cpp.TwoTemplates(Cpp.A, true); // CHECK:STDOUT: %TwoTemplates.Op: %TwoTemplates.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%TwoTemplates.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.e75: %Default.type = facet_value %TwoTemplates, (%custom_witness.9b4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.c67: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.e75) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %TwoTemplates, (%DefaultOrUnformed.impl_witness.c67) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.5af: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.e75) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %TwoTemplates, (%DefaultOrUnformed.impl_witness.5af) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -116,7 +116,7 @@ var x: Cpp.TwoTemplates(Cpp.A, true); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%TwoTemplates, (constants.%DefaultOrUnformed.impl_witness.c67) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%TwoTemplates, (constants.%DefaultOrUnformed.impl_witness.5af) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc7_38.1: %DefaultOrUnformed.type = converted constants.%TwoTemplates, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc7_38.1 [concrete = constants.%TwoTemplates] // CHECK:STDOUT: %.loc7_38.2: type = converted %.loc7_38.1, %as_type [concrete = constants.%TwoTemplates] diff --git a/toolchain/check/testdata/interop/cpp/template/type_param.carbon b/toolchain/check/testdata/interop/cpp/template/type_param.carbon index a0f979eaaded..65b5bb31502a 100644 --- a/toolchain/check/testdata/interop/cpp/template/type_param.carbon +++ b/toolchain/check/testdata/interop/cpp/template/type_param.carbon @@ -80,13 +80,13 @@ var x: Cpp.TwoTypes(Cpp.A, {}); // CHECK:STDOUT: %TwoTypes.Op: %TwoTypes.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%TwoTypes.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.49c: %Default.type = facet_value %TwoTypes, (%custom_witness.9b4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.07d: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.49c) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %TwoTypes, (%DefaultOrUnformed.impl_witness.07d) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.444: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.49c) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %TwoTypes, (%DefaultOrUnformed.impl_witness.444) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -100,7 +100,7 @@ var x: Cpp.TwoTypes(Cpp.A, {}); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%TwoTypes, (constants.%DefaultOrUnformed.impl_witness.07d) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%TwoTypes, (constants.%DefaultOrUnformed.impl_witness.444) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc7_34.1: %DefaultOrUnformed.type = converted constants.%TwoTypes, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc7_34.1 [concrete = constants.%TwoTypes] // CHECK:STDOUT: %.loc7_34.2: type = converted %.loc7_34.1, %as_type [concrete = constants.%TwoTypes] @@ -127,13 +127,13 @@ var x: Cpp.TwoTypes(Cpp.A, {}); // CHECK:STDOUT: %TwoTypes.Op: %TwoTypes.Op.type = struct_value () [concrete] // CHECK:STDOUT: %custom_witness.9b4: = custom_witness (%TwoTypes.Op), @Default [concrete] // CHECK:STDOUT: %Default.facet.651: %Default.type = facet_value %TwoTypes, (%custom_witness.9b4) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.d6f: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.670, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.651) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %TwoTypes, (%DefaultOrUnformed.impl_witness.d6f) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.fe1: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.162, @T.as_type.as.DefaultOrUnformed.impl(%Default.facet.651) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %TwoTypes, (%DefaultOrUnformed.impl_witness.fe1) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.c2f: @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op.type (%T.as_type.as.DefaultOrUnformed.impl.Op.type.0c9) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as_type.as.DefaultOrUnformed.impl.%T.as_type.as.DefaultOrUnformed.impl.Op (constants.%T.as_type.as.DefaultOrUnformed.impl.Op.cfe)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.670 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.162 = impl_witness_table (%Core.import_ref.c2f), @T.as_type.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -147,7 +147,7 @@ var x: Cpp.TwoTypes(Cpp.A, {}); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%TwoTypes, (constants.%DefaultOrUnformed.impl_witness.d6f) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%TwoTypes, (constants.%DefaultOrUnformed.impl_witness.fe1) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc7_32.1: %DefaultOrUnformed.type = converted constants.%TwoTypes, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc7_32.1 [concrete = constants.%TwoTypes] // CHECK:STDOUT: %.loc7_32.2: type = converted %.loc7_32.1, %as_type [concrete = constants.%TwoTypes] diff --git a/toolchain/check/testdata/interop/cpp/type_alias/import.carbon b/toolchain/check/testdata/interop/cpp/type_alias/import.carbon index 4dd26a3dfde6..afd8d62434c5 100644 --- a/toolchain/check/testdata/interop/cpp/type_alias/import.carbon +++ b/toolchain/check/testdata/interop/cpp/type_alias/import.carbon @@ -64,12 +64,12 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_42.20e, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -82,12 +82,12 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.1: type = fn_type @Destroy.Op.loc10 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.1: %Destroy.Op.type.1d8f74.1 = struct_value () [concrete] @@ -102,16 +102,16 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.var: ref %i32 = var_storage %n.var_patt // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] -// CHECK:STDOUT: %impl.elem0.loc8: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_3.1: = bound_method %int_42, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_3.2: = bound_method %int_42, %specific_fn.loc8 [concrete = constants.%bound_method] @@ -131,7 +131,7 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %p.var: ref %ptr.d08 = var_storage %p.var_patt // CHECK:STDOUT: %n.ref: ref %i32 = name_ref n, %n // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %n.ref -// CHECK:STDOUT: %impl.elem0.loc10: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc10: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc10_28.1: = bound_method %addr, %impl.elem0.loc10 // CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_28.2: = bound_method %addr, %specific_fn.loc10 @@ -177,12 +177,12 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.00a: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%C) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.a1b: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.1e1: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%C) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.4ad: %ptr.as.Copy.impl.Op.type.1e1 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.0a2, (%Copy.impl_witness.00a) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.aaa: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.51b: type = fn_type_with_self_type %Copy.WithSelf.Op.type.aaa, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.0a2, (%Copy.impl_witness.a1b) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.e7e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.ff1: type = fn_type_with_self_type %Copy.WithSelf.Op.type.e7e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.4ad, @ptr.as.Copy.impl.Op(%C) [concrete] // CHECK:STDOUT: %pc.patt: %pattern_type.8fa = ref_binding_pattern pc [concrete] // CHECK:STDOUT: %pc.var_patt: %pattern_type.8fa = var_pattern %pc.patt [concrete] @@ -198,7 +198,7 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @H(%c.param: ref %C, %d.param: ref %C) { @@ -206,7 +206,7 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %pd.var: ref %ptr.0a2 = var_storage %pd.var_patt // CHECK:STDOUT: %c.ref: ref %C = name_ref c, %c // CHECK:STDOUT: %addr.loc9: %ptr.0a2 = addr_of %c.ref -// CHECK:STDOUT: %impl.elem0.loc9: %.51b = impl_witness_access constants.%Copy.impl_witness.00a, element0 [concrete = constants.%ptr.as.Copy.impl.Op.4ad] +// CHECK:STDOUT: %impl.elem0.loc9: %.ff1 = impl_witness_access constants.%Copy.impl_witness.a1b, element0 [concrete = constants.%ptr.as.Copy.impl.Op.4ad] // CHECK:STDOUT: %bound_method.loc9_27.1: = bound_method %addr.loc9, %impl.elem0.loc9 // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @ptr.as.Copy.impl.Op(constants.%C) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_27.2: = bound_method %addr.loc9, %specific_fn.loc9 @@ -225,7 +225,7 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %pc.var: ref %ptr.0a2 = var_storage %pc.var_patt // CHECK:STDOUT: %d.ref: ref %C = name_ref d, %d // CHECK:STDOUT: %addr.loc10: %ptr.0a2 = addr_of %d.ref -// CHECK:STDOUT: %impl.elem0.loc10: %.51b = impl_witness_access constants.%Copy.impl_witness.00a, element0 [concrete = constants.%ptr.as.Copy.impl.Op.4ad] +// CHECK:STDOUT: %impl.elem0.loc10: %.ff1 = impl_witness_access constants.%Copy.impl_witness.a1b, element0 [concrete = constants.%ptr.as.Copy.impl.Op.4ad] // CHECK:STDOUT: %bound_method.loc10_27.1: = bound_method %addr.loc10, %impl.elem0.loc10 // CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10, @ptr.as.Copy.impl.Op(constants.%C) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc10_27.2: = bound_method %addr.loc10, %specific_fn.loc10 diff --git a/toolchain/check/testdata/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index 7e067d61e74c..9a106ed45071 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -737,12 +737,12 @@ impl i32 as Empty { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -760,7 +760,7 @@ impl i32 as Empty { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -790,7 +790,7 @@ impl i32 as Empty { // CHECK:STDOUT: // CHECK:STDOUT: impl @i32.as.Empty.impl: %i32.loc6 as %Empty.ref { // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_27.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_27.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/let/fail_duplicate_decl.carbon b/toolchain/check/testdata/let/fail_duplicate_decl.carbon index 9b2b1d00125a..184534c7b41b 100644 --- a/toolchain/check/testdata/let/fail_duplicate_decl.carbon +++ b/toolchain/check/testdata/let/fail_duplicate_decl.carbon @@ -42,12 +42,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -69,7 +69,7 @@ fn F() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -84,7 +84,7 @@ fn F() { // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_23.1: = bound_method %int_1, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_23.2: = bound_method %int_1, %specific_fn.loc16 [concrete = constants.%bound_method.953] @@ -97,7 +97,7 @@ fn F() { // CHECK:STDOUT: %a.patt.loc16: %pattern_type.6b6 = value_binding_pattern a [concrete = constants.%a.patt.bb2e5b.1] // CHECK:STDOUT: } // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc24: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc24: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc24_23.1: = bound_method %int_2, %impl.elem0.loc24 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc24: = specific_function %impl.elem0.loc24, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_23.2: = bound_method %int_2, %specific_fn.loc24 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/let/fail_modifiers.carbon b/toolchain/check/testdata/let/fail_modifiers.carbon index 5e92a375b049..9eb79310ffa7 100644 --- a/toolchain/check/testdata/let/fail_modifiers.carbon +++ b/toolchain/check/testdata/let/fail_modifiers.carbon @@ -104,12 +104,12 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -133,7 +133,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -149,7 +149,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: .i [protected] = %i // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %impl.elem0.loc19: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc19: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_24.1: = bound_method @__global_init.%int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_24.2: = bound_method @__global_init.%int_1.loc19, %specific_fn.loc19 [concrete = constants.%bound_method] @@ -161,7 +161,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.6b6 = value_binding_pattern b [concrete = constants.%b.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc25: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc25: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc25_22.1: = bound_method @__global_init.%int_1.loc25, %impl.elem0.loc25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc25_22.2: = bound_method @__global_init.%int_1.loc25, %specific_fn.loc25 [concrete = constants.%bound_method] @@ -173,7 +173,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.6b6 = value_binding_pattern c [concrete = constants.%c.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc31: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc31: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc31_20.1: = bound_method @__global_init.%int_1.loc31, %impl.elem0.loc31 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc31: = specific_function %impl.elem0.loc31, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc31_20.2: = bound_method @__global_init.%int_1.loc31, %specific_fn.loc31 [concrete = constants.%bound_method] @@ -185,7 +185,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.6b6 = value_binding_pattern d [concrete = constants.%d.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc37: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc37: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc37_22.1: = bound_method @__global_init.%int_1.loc37, %impl.elem0.loc37 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc37: = specific_function %impl.elem0.loc37, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc37_22.2: = bound_method @__global_init.%int_1.loc37, %specific_fn.loc37 [concrete = constants.%bound_method] @@ -197,7 +197,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.6b6 = value_binding_pattern e [concrete = constants.%e.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc50: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc50: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc50_28.1: = bound_method @__global_init.%int_1.loc50, %impl.elem0.loc50 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc50: = specific_function %impl.elem0.loc50, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc50_28.2: = bound_method @__global_init.%int_1.loc50, %specific_fn.loc50 [concrete = constants.%bound_method] @@ -209,7 +209,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type.6b6 = value_binding_pattern f [concrete = constants.%f.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc63: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc63: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc63_30.1: = bound_method @__global_init.%int_1.loc63, %impl.elem0.loc63 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc63: = specific_function %impl.elem0.loc63, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc63_30.2: = bound_method @__global_init.%int_1.loc63, %specific_fn.loc63 [concrete = constants.%bound_method] @@ -221,7 +221,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %g.patt: %pattern_type.6b6 = value_binding_pattern g [concrete = constants.%g.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc76: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc76: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc76_32.1: = bound_method @__global_init.%int_1.loc76, %impl.elem0.loc76 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc76: = specific_function %impl.elem0.loc76, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc76_32.2: = bound_method @__global_init.%int_1.loc76, %specific_fn.loc76 [concrete = constants.%bound_method] @@ -233,7 +233,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %h.patt: %pattern_type.6b6 = value_binding_pattern h [concrete = constants.%h.patt] // CHECK:STDOUT: } -// CHECK:STDOUT: %impl.elem0.loc89: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc89: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc89_34.1: = bound_method @__global_init.%int_1.loc89, %impl.elem0.loc89 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc89: = specific_function %impl.elem0.loc89, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc89_34.2: = bound_method @__global_init.%int_1.loc89, %specific_fn.loc89 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/let/global.carbon b/toolchain/check/testdata/let/global.carbon index f40515082673..d77a2de1cf49 100644 --- a/toolchain/check/testdata/let/global.carbon +++ b/toolchain/check/testdata/let/global.carbon @@ -33,12 +33,12 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] @@ -51,12 +51,12 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -71,10 +71,10 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -84,7 +84,7 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: .F = %F.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_14.1: = bound_method @__global_init.%int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_14.2: = bound_method @__global_init.%int_1, %specific_fn [concrete = constants.%bound_method] @@ -110,7 +110,7 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: fn @F() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %i32 = name_ref n, file.%n -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc17_24.1: = bound_method %n.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_24.2: = bound_method %n.ref, %specific_fn diff --git a/toolchain/check/testdata/let/local.carbon b/toolchain/check/testdata/let/local.carbon index cc309d23984d..a7ff1a47d00b 100644 --- a/toolchain/check/testdata/let/local.carbon +++ b/toolchain/check/testdata/let/local.carbon @@ -49,18 +49,18 @@ fn CallF() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%a.param: %i32) -> out %return.param: %i32 { @@ -72,7 +72,7 @@ fn CallF() { // CHECK:STDOUT: %b.patt: %pattern_type.6b6 = value_binding_pattern b [concrete = constants.%b.patt] // CHECK:STDOUT: } // CHECK:STDOUT: %b.ref: %i32 = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_10.1: = bound_method %b.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_10.2: = bound_method %b.ref, %specific_fn diff --git a/toolchain/check/testdata/let/shadowed_decl.carbon b/toolchain/check/testdata/let/shadowed_decl.carbon index e997317eb051..c376176f25e5 100644 --- a/toolchain/check/testdata/let/shadowed_decl.carbon +++ b/toolchain/check/testdata/let/shadowed_decl.carbon @@ -42,12 +42,12 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -55,12 +55,12 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -75,10 +75,10 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -106,7 +106,7 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: fn @F(%a.param: %i32) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_16.1: = bound_method %int_1, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_16.2: = bound_method %int_1, %specific_fn.loc16 [concrete = constants.%bound_method] @@ -119,7 +119,7 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: %a.patt.loc16: %pattern_type.6b6 = value_binding_pattern a [concrete = constants.%a.patt.bb2] // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: %i32 = name_ref a, %a.loc16 -// CHECK:STDOUT: %impl.elem0.loc18: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc18: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc18_10.1: = bound_method %a.ref, %impl.elem0.loc18 // CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc18_10.2: = bound_method %a.ref, %specific_fn.loc18 diff --git a/toolchain/check/testdata/main_run/return_i32.carbon b/toolchain/check/testdata/main_run/return_i32.carbon index f8f99dfcad72..a64aa61634c3 100644 --- a/toolchain/check/testdata/main_run/return_i32.carbon +++ b/toolchain/check/testdata/main_run/return_i32.carbon @@ -44,12 +44,12 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -66,7 +66,7 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -89,7 +89,7 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: fn @Run() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_27.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc4_27.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] @@ -124,12 +124,12 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -146,7 +146,7 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -182,7 +182,7 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: fn @Run(%argc.param: %i32, %argv.param: %ptr) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_62.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_62.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/named_constraint/convert.carbon b/toolchain/check/testdata/named_constraint/convert.carbon index 385ccb1d25c3..e3bd0cd60d87 100644 --- a/toolchain/check/testdata/named_constraint/convert.carbon +++ b/toolchain/check/testdata/named_constraint/convert.carbon @@ -72,8 +72,8 @@ fn G(generic T: Z) { // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %E.type, %type.as.BitAndWith.impl.Op [concrete] @@ -97,7 +97,7 @@ fn G(generic T: Z) { // CHECK:STDOUT: %.Self.frozen: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.frozen] // CHECK:STDOUT: %E.ref.loc8_17: type = name_ref E, file.%E.decl [concrete = constants.%E.type] // CHECK:STDOUT: %E.ref.loc8_21: type = name_ref E, file.%E.decl [concrete = constants.%E.type] -// CHECK:STDOUT: %impl.elem0: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %E.ref.loc8_17, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%E.ref.loc8_17, %E.ref.loc8_21) [concrete = constants.%E.type] // CHECK:STDOUT: %.loc8_19.2: type = value_of_initializer %type.as.BitAndWith.impl.Op.call [concrete = constants.%E.type] diff --git a/toolchain/check/testdata/named_constraint/import_type_and.carbon b/toolchain/check/testdata/named_constraint/import_type_and.carbon index da66d343ba49..040dee36a338 100644 --- a/toolchain/check/testdata/named_constraint/import_type_and.carbon +++ b/toolchain/check/testdata/named_constraint/import_type_and.carbon @@ -44,8 +44,8 @@ fn F(generic _: N) {} // CHECK:STDOUT: %BitAndWith.type.802: type = facet_type <@BitAndWith, @BitAndWith(type)> [concrete] // CHECK:STDOUT: %BitAndWith.impl_witness: = impl_witness imports.%BitAndWith.impl_witness_table [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.802 = facet_value type, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.38f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] -// CHECK:STDOUT: %.d56: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.38f, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.76f: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(type, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %.eef: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.76f, %BitAndWith.facet [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.type: type = fn_type @type.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op: %type.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.bound: = bound_method %Y.type, %type.as.BitAndWith.impl.Op [concrete] @@ -109,7 +109,7 @@ fn F(generic _: N) {} // CHECK:STDOUT: %Self.as_type.loc9_11.1: type = facet_access_type @N.%Self [symbolic = %Self.as_type.loc9_11.2 (constants.%Self.as_type.138)] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] -// CHECK:STDOUT: %impl.elem0: %.d56 = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.eef = impl_witness_access constants.%BitAndWith.impl_witness, element0 [concrete = constants.%type.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %Y.ref, %impl.elem0 [concrete = constants.%type.as.BitAndWith.impl.Op.bound] // CHECK:STDOUT: %type.as.BitAndWith.impl.Op.call: init type = call %bound_method(%Y.ref, %Z.ref) [concrete = constants.%facet_type] // CHECK:STDOUT: } @@ -174,7 +174,7 @@ fn F(generic _: N) {} // CHECK:STDOUT: %Main.import_ref.e73 = import_ref Main//import, loc5_13, unloaded // CHECK:STDOUT: %Main.import_ref.28a = import_ref Main//import, loc4_13, unloaded // CHECK:STDOUT: %Main.import_ref.5f6: type = import_ref Main//import, loc9_11, loaded [symbolic = @N.WithSelf.Self.as_type.impls.facet_type.require.%Self.as_type (constants.%Self.as_type.190)] -// CHECK:STDOUT: %Main.import_ref.624: init type = import_ref Main//import, loc9_19, loaded [concrete = constants.%facet_type] +// CHECK:STDOUT: %Main.import_ref.9c9: init type = import_ref Main//import, loc9_19, loaded [concrete = constants.%facet_type] // CHECK:STDOUT: %Main.import_ref.423e3a.2: %N.type = import_ref Main//import, loc7_14, loaded [symbolic = constants.%Self.f45] // CHECK:STDOUT: %Main.import_ref.364 = import_ref Main//import, loc7_14, unloaded // CHECK:STDOUT: } @@ -223,7 +223,7 @@ fn F(generic _: N) {} // CHECK:STDOUT: // CHECK:STDOUT: !requires: // CHECK:STDOUT: @N.WithSelf.Self.as_type.impls.facet_type.require { -// CHECK:STDOUT: require imports.%Main.import_ref.5f6 impls imports.%Main.import_ref.624 +// CHECK:STDOUT: require imports.%Main.import_ref.5f6 impls imports.%Main.import_ref.9c9 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/namespace/add_to_import.carbon b/toolchain/check/testdata/namespace/add_to_import.carbon index c2718ddd45e9..b63704fdc424 100644 --- a/toolchain/check/testdata/namespace/add_to_import.carbon +++ b/toolchain/check/testdata/namespace/add_to_import.carbon @@ -64,12 +64,12 @@ var a: i32 = NS.A(); // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -92,7 +92,7 @@ var a: i32 = NS.A(); // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -125,7 +125,7 @@ var a: i32 = NS.A(); // CHECK:STDOUT: fn @A() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_28.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc4_28.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/namespace/alias.carbon b/toolchain/check/testdata/namespace/alias.carbon index 37ddd146af0c..14c091a9dc90 100644 --- a/toolchain/check/testdata/namespace/alias.carbon +++ b/toolchain/check/testdata/namespace/alias.carbon @@ -44,12 +44,12 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -70,7 +70,7 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -123,7 +123,7 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: fn @A() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_28.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_28.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon index 0eea09ba8103..5e232917f288 100644 --- a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon +++ b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon @@ -46,12 +46,12 @@ fn ns.A() -> i32 { return 0; } // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -68,7 +68,7 @@ fn ns.A() -> i32 { return 0; } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -95,7 +95,7 @@ fn ns.A() -> i32 { return 0; } // CHECK:STDOUT: fn @A() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc27_28.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc27_28.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/namespace/merging_with_indirections.carbon b/toolchain/check/testdata/namespace/merging_with_indirections.carbon index d14547ac904e..19cd4bef3701 100644 --- a/toolchain/check/testdata/namespace/merging_with_indirections.carbon +++ b/toolchain/check/testdata/namespace/merging_with_indirections.carbon @@ -181,10 +181,10 @@ fn Run() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.776: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%A) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.967: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%A) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.1ef: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%A) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.c80: %T.as.DefaultOrUnformed.impl.Op.type.1ef = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %A, (%DefaultOrUnformed.impl_witness.776) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %A, (%DefaultOrUnformed.impl_witness.967) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.c80, @T.as.DefaultOrUnformed.impl.Op(%A) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -214,7 +214,7 @@ fn Run() { // CHECK:STDOUT: %Other.A: type = import_ref Other//a, A, loaded [concrete = constants.%A] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -245,7 +245,7 @@ fn Run() { // CHECK:STDOUT: %Destroy.Op.bound.loc7: = bound_method %.loc7_11.2, constants.%Destroy.Op.1a2547.2 // CHECK:STDOUT: %Destroy.Op.call.loc7: init %empty_tuple.type = call %Destroy.Op.bound.loc7(%.loc7_11.2) // CHECK:STDOUT: %a.var: ref %A = var_storage %a.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%A, (constants.%DefaultOrUnformed.impl_witness.776) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%A, (constants.%DefaultOrUnformed.impl_witness.967) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc10_21.1: %DefaultOrUnformed.type = converted constants.%A, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc10_21.1 [concrete = constants.%A] // CHECK:STDOUT: %.loc10_21.2: type = converted %.loc10_21.1, %as_type [concrete = constants.%A] diff --git a/toolchain/check/testdata/namespace/shadow.carbon b/toolchain/check/testdata/namespace/shadow.carbon index 193d2aaf7564..f7e189c71fbc 100644 --- a/toolchain/check/testdata/namespace/shadow.carbon +++ b/toolchain/check/testdata/namespace/shadow.carbon @@ -61,12 +61,12 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -74,12 +74,12 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc26_5.2 [concrete] @@ -98,10 +98,10 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -147,7 +147,7 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: !if.then: // CHECK:STDOUT: %A.var: ref %i32 = var_storage %A.var_patt // CHECK:STDOUT: %int_0.loc26: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc26: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc26: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc26_5.1: = bound_method %int_0.loc26, %impl.elem0.loc26 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc26: = specific_function %impl.elem0.loc26, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_5.2: = bound_method %int_0.loc26, %specific_fn.loc26 [concrete = constants.%bound_method] @@ -162,7 +162,7 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %A.ref.loc29: ref %i32 = name_ref A, %A // CHECK:STDOUT: %.loc29: %i32 = acquire_value %A.ref.loc29 -// CHECK:STDOUT: %impl.elem0.loc29: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc29: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc29_12.1: = bound_method %.loc29, %impl.elem0.loc29 // CHECK:STDOUT: %specific_fn.loc29: = specific_function %impl.elem0.loc29, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc29_12.2: = bound_method %.loc29, %specific_fn.loc29 @@ -173,7 +173,7 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.else: // CHECK:STDOUT: %int_0.loc31: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc31: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc31: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc31_11.1: = bound_method %int_0.loc31, %impl.elem0.loc31 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc31: = specific_function %impl.elem0.loc31, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc31_11.2: = bound_method %int_0.loc31, %specific_fn.loc31 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/operators/builtin/and.carbon b/toolchain/check/testdata/operators/builtin/and.carbon index 849ee6aab7f7..ed2b7435b1a3 100644 --- a/toolchain/check/testdata/operators/builtin/and.carbon +++ b/toolchain/check/testdata/operators/builtin/and.carbon @@ -42,10 +42,10 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.713: = impl_witness imports.%Copy.impl_witness_table.1ff [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.713) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.15e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4a4, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5e1: = impl_witness imports.%Copy.impl_witness_table.bda [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.d02: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.e28: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d02, %Copy.facet [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.type: type = fn_type @bool.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op: %bool.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.bound: = bound_method %true, %bool.as.Copy.impl.Op [concrete] @@ -90,7 +90,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %Core.Bool: type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = bool] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %bool.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%bool.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.1ff = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.bda = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -145,7 +145,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: fn @F() -> out %return.param: bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %true, %impl.elem0 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%true) [concrete = constants.%true] // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call @@ -154,7 +154,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: fn @G() -> out %return.param: bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %true, %impl.elem0 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%true) [concrete = constants.%true] // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call @@ -178,7 +178,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: // CHECK:STDOUT: !and.result: // CHECK:STDOUT: %.loc19_14.5: bool = block_arg !and.result -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc19_14.5, %impl.elem0 // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%.loc19_14.5) // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call @@ -188,7 +188,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref bool = var_storage %a.var_patt // CHECK:STDOUT: %true.loc23_54: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %true.loc23_54, %impl.elem0 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%true.loc23_54) [concrete = constants.%true] // CHECK:STDOUT: assign %a.var, %bool.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/operators/builtin/assignment.carbon b/toolchain/check/testdata/operators/builtin/assignment.carbon index 3960deb883ab..efd0bb3915f3 100644 --- a/toolchain/check/testdata/operators/builtin/assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/assignment.carbon @@ -51,12 +51,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.87c: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.46b: = bound_method %int_12.6a3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -106,12 +106,12 @@ fn Main() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %int_5.64b: Core.IntLiteral = int_value 5 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] @@ -145,10 +145,10 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -165,7 +165,7 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %i32 = var_storage %a.var_patt // CHECK:STDOUT: %int_12: Core.IntLiteral = int_value 12 [concrete = constants.%int_12.6a3] -// CHECK:STDOUT: %impl.elem0.loc16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_3.1: = bound_method %int_12, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.87c] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_3.2: = bound_method %int_12, %specific_fn.loc16 [concrete = constants.%bound_method.46b] @@ -180,7 +180,7 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref.loc17: ref %i32 = name_ref a, %a // CHECK:STDOUT: %int_9: Core.IntLiteral = int_value 9 [concrete = constants.%int_9.988] -// CHECK:STDOUT: %impl.elem0.loc17: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc17: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_5.1: = bound_method %int_9, %impl.elem0.loc17 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f46] // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_5.2: = bound_method %int_9, %specific_fn.loc17 [concrete = constants.%bound_method.9bf] @@ -191,7 +191,7 @@ fn Main() { // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc19: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc19_28.1: %tuple.type.f94 = tuple_literal (%int_1.loc19, %int_2.loc19) [concrete = constants.%tuple.ad8] -// CHECK:STDOUT: %impl.elem0.loc19_28.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc19_28.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_28.1: = bound_method %int_1.loc19, %impl.elem0.loc19_28.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc19_28.1: = specific_function %impl.elem0.loc19_28.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_28.2: = bound_method %int_1.loc19, %specific_fn.loc19_28.1 [concrete = constants.%bound_method.953] @@ -199,7 +199,7 @@ fn Main() { // CHECK:STDOUT: %.loc19_28.2: init %i32 = converted %int_1.loc19, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc19_28.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %tuple.elem0.loc19: ref %i32 = tuple_access %b.var, element0 // CHECK:STDOUT: %.loc19_28.3: init %i32 to %tuple.elem0.loc19 = in_place_init %.loc19_28.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc19_28.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc19_28.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_28.3: = bound_method %int_2.loc19, %impl.elem0.loc19_28.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc19_28.2: = specific_function %impl.elem0.loc19_28.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_28.4: = bound_method %int_2.loc19, %specific_fn.loc19_28.2 [concrete = constants.%bound_method.3cb] @@ -225,7 +225,7 @@ fn Main() { // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %tuple.elem0.loc20: ref %i32 = tuple_access %b.ref.loc20, element0 // CHECK:STDOUT: %int_3.loc20: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc20: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_7.1: = bound_method %int_3.loc20, %impl.elem0.loc20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_7.2: = bound_method %int_3.loc20, %specific_fn.loc20 [concrete = constants.%bound_method.763] @@ -236,7 +236,7 @@ fn Main() { // CHECK:STDOUT: %int_1.loc21: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %tuple.elem1.loc21: ref %i32 = tuple_access %b.ref.loc21, element1 // CHECK:STDOUT: %int_4.loc21: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc21: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc21: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc21_7.1: = bound_method %int_4.loc21, %impl.elem0.loc21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_7.2: = bound_method %int_4.loc21, %specific_fn.loc21 [concrete = constants.%bound_method.b7a] @@ -247,7 +247,7 @@ fn Main() { // CHECK:STDOUT: %int_1.loc23: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc23: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc23_46.1: %struct_type.a.b.cfd = struct_literal (%int_1.loc23, %int_2.loc23) [concrete = constants.%struct.4aa] -// CHECK:STDOUT: %impl.elem0.loc23_46.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc23_46.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc23_46.1: = bound_method %int_1.loc23, %impl.elem0.loc23_46.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc23_46.1: = specific_function %impl.elem0.loc23_46.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_46.2: = bound_method %int_1.loc23, %specific_fn.loc23_46.1 [concrete = constants.%bound_method.953] @@ -255,7 +255,7 @@ fn Main() { // CHECK:STDOUT: %.loc23_46.2: init %i32 = converted %int_1.loc23, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc23_46.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc23_46.3: ref %i32 = struct_access %c.var, element0 // CHECK:STDOUT: %.loc23_46.4: init %i32 to %.loc23_46.3 = in_place_init %.loc23_46.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc23_46.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc23_46.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc23_46.3: = bound_method %int_2.loc23, %impl.elem0.loc23_46.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc23_46.2: = specific_function %impl.elem0.loc23_46.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_46.4: = bound_method %int_2.loc23, %specific_fn.loc23_46.2 [concrete = constants.%bound_method.3cb] @@ -279,7 +279,7 @@ fn Main() { // CHECK:STDOUT: %c.ref.loc24: ref %struct_type.a.b.b4c = name_ref c, %c // CHECK:STDOUT: %.loc24_4: ref %i32 = struct_access %c.ref.loc24, element0 // CHECK:STDOUT: %int_3.loc24: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc24: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc24: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc24_7.1: = bound_method %int_3.loc24, %impl.elem0.loc24 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc24: = specific_function %impl.elem0.loc24, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc24_7.2: = bound_method %int_3.loc24, %specific_fn.loc24 [concrete = constants.%bound_method.763] @@ -289,7 +289,7 @@ fn Main() { // CHECK:STDOUT: %c.ref.loc25: ref %struct_type.a.b.b4c = name_ref c, %c // CHECK:STDOUT: %.loc25_4: ref %i32 = struct_access %c.ref.loc25, element1 // CHECK:STDOUT: %int_4.loc25: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc25: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc25: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc25_7.1: = bound_method %int_4.loc25, %impl.elem0.loc25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc25_7.2: = bound_method %int_4.loc25, %specific_fn.loc25 [concrete = constants.%bound_method.b7a] @@ -299,7 +299,7 @@ fn Main() { // CHECK:STDOUT: %p.var: ref %ptr.d08 = var_storage %p.var_patt // CHECK:STDOUT: %a.ref.loc27: ref %i32 = name_ref a, %a // CHECK:STDOUT: %addr.loc27: %ptr.d08 = addr_of %a.ref.loc27 -// CHECK:STDOUT: %impl.elem0.loc27: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc27: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc27_17.1: = bound_method %addr.loc27, %impl.elem0.loc27 // CHECK:STDOUT: %specific_fn.loc27: = specific_function %impl.elem0.loc27, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc27_17.2: = bound_method %addr.loc27, %specific_fn.loc27 @@ -318,7 +318,7 @@ fn Main() { // CHECK:STDOUT: %.loc28_4: %ptr.d08 = acquire_value %p.ref.loc28 // CHECK:STDOUT: %.loc28_3: ref %i32 = deref %.loc28_4 // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0.loc28: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc28: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc28_6.1: = bound_method %int_5, %impl.elem0.loc28 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn.loc28: = specific_function %impl.elem0.loc28, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc28_6.2: = bound_method %int_5, %specific_fn.loc28 [concrete = constants.%bound_method.c9d] @@ -342,7 +342,7 @@ fn Main() { // CHECK:STDOUT: %.loc30_5: %ptr.d08 = block_arg !if.expr.result // CHECK:STDOUT: %.loc30_3: ref %i32 = deref %.loc30_5 // CHECK:STDOUT: %int_10: Core.IntLiteral = int_value 10 [concrete = constants.%int_10.64f] -// CHECK:STDOUT: %impl.elem0.loc30: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc30: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc30_29.1: = bound_method %int_10, %impl.elem0.loc30 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.dcb] // CHECK:STDOUT: %specific_fn.loc30: = specific_function %impl.elem0.loc30, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc30_29.2: = bound_method %int_10, %specific_fn.loc30 [concrete = constants.%bound_method.1b6] diff --git a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon index ea56227f4b0d..047685db8362 100644 --- a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon @@ -95,10 +95,10 @@ fn F() { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.638: = impl_witness .inst{{[0-9A-F]+}} [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.638) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8b3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.524: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8b3, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness .inst{{[0-9A-F]+}} [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -118,7 +118,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: // CHECK:STDOUT: %.loc6: type = block_arg !if.expr.result -// CHECK:STDOUT: %impl.elem0: %.524 = impl_witness_access constants.%Copy.impl_witness.638, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc6, %impl.elem0 // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc6) // CHECK:STDOUT: return %type.as.Copy.impl.Op.call @@ -134,10 +134,10 @@ fn F() { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.638: = impl_witness .inst{{[0-9A-F]+}} [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.638) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8b3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.524: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8b3, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness .inst{{[0-9A-F]+}} [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: } @@ -157,7 +157,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: // CHECK:STDOUT: %.loc6: type = block_arg !if.expr.result -// CHECK:STDOUT: %impl.elem0: %.524 = impl_witness_access constants.%Copy.impl_witness.638, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc6, %impl.elem0 // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc6) // CHECK:STDOUT: return %type.as.Copy.impl.Op.call 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 c0c560130bca..a1be83490b87 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: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.6f1: = impl_witness imports.%Copy.impl_witness_table.5e0 [concrete] -// CHECK:STDOUT: %Copy.facet.a02: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.6f1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c52: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.a02) [concrete] -// CHECK:STDOUT: %.c22: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c52, %Copy.facet.a02 [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0b3: = impl_witness imports.%Copy.impl_witness_table.ee5 [concrete] +// CHECK:STDOUT: %Copy.facet.d66: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.0b3) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.85c: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.d66) [concrete] +// CHECK:STDOUT: %.af5: type = fn_type_with_self_type %Copy.WithSelf.Op.type.85c, %Copy.facet.d66 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.type: type = fn_type @Core.IntLiteral.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op: %Core.IntLiteral.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.bound.e21: = bound_method %int_2.ecc, %Core.IntLiteral.as.Copy.impl.Op [concrete] @@ -95,12 +95,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -124,10 +124,10 @@ fn Main() { // CHECK:STDOUT: %int_2.295: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %tuple.102: %tuple.type.e55 = tuple_value (%int_1.0c6, %int_2.295) [concrete] // CHECK:STDOUT: %ptr.d08: type = ptr_type %i32 [concrete] -// CHECK:STDOUT: %Copy.impl_witness.638: = impl_witness imports.%Copy.impl_witness_table.4d6 [concrete] -// CHECK:STDOUT: %Copy.facet.46a: %Copy.type = facet_value type, (%Copy.impl_witness.638) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8b3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.46a) [concrete] -// CHECK:STDOUT: %.524: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8b3, %Copy.facet.46a [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] +// CHECK:STDOUT: %Copy.facet.95f: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.95f) [concrete] +// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet.95f [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %ptr.d08, %type.as.Copy.impl.Op [concrete] @@ -143,10 +143,10 @@ fn Main() { // CHECK:STDOUT: %DefaultOrUnformed.type: type = facet_type <@DefaultOrUnformed> [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e52: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%i32) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.850: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%i32) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.e40: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%i32) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.81c: %T.as.DefaultOrUnformed.impl.Op.type.e40 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.e52) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.850) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.81c, @T.as.DefaultOrUnformed.impl.Op(%i32) [concrete] // CHECK:STDOUT: %int_10.64f: Core.IntLiteral = int_value 10 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.dcb: = bound_method %int_10.64f, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] @@ -170,15 +170,15 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3475.1: %Core.IntLiteral.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.5e0 = impl_witness_table (%Core.import_ref.9c3475.1), @Core.IntLiteral.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ee5 = impl_witness_table (%Core.import_ref.9c3475.1), @Core.IntLiteral.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.9c3475.2: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.4d6 = impl_witness_table (%Core.import_ref.9c3475.2), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3475.2), @type.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -207,14 +207,14 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc22: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc22: %.c22 = impl_witness_access constants.%Copy.impl_witness.6f1, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc22: %.af5 = impl_witness_access constants.%Copy.impl_witness.0b3, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc22: = bound_method %int_2.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op.bound.e21] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.call.loc22: init Core.IntLiteral = call %bound_method.loc22(%int_2.loc22) [concrete = constants.%int_2.ecc] // CHECK:STDOUT: assign %int_1.loc22, %Core.IntLiteral.as.Copy.impl.Op.call.loc22 // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %F.call: init %i32 = call %F.ref() // CHECK:STDOUT: %int_1.loc27: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc27: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc27: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc27_7.1: = bound_method %int_1.loc27, %impl.elem0.loc27 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc27: = specific_function %impl.elem0.loc27, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc27_7.2: = bound_method %int_1.loc27, %specific_fn.loc27 [concrete = constants.%bound_method.953] @@ -227,12 +227,12 @@ fn Main() { // CHECK:STDOUT: %int_3.loc32: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %int_4.loc32: Core.IntLiteral = int_value 4 [concrete = constants.%int_4] // CHECK:STDOUT: %.loc32_17.1: %tuple.type.f94 = tuple_literal (%int_3.loc32, %int_4.loc32) [concrete = constants.%tuple.302] -// CHECK:STDOUT: %impl.elem0.loc32_13: %.c22 = impl_witness_access constants.%Copy.impl_witness.6f1, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc32_13: %.af5 = impl_witness_access constants.%Copy.impl_witness.0b3, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc32_13: = bound_method %int_3.loc32, %impl.elem0.loc32_13 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op.bound.64e] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.call.loc32_13: init Core.IntLiteral = call %bound_method.loc32_13(%int_3.loc32) [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %tuple.elem0.loc32: Core.IntLiteral = tuple_access %.loc32_8.1, element0 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc32_17.2: init Core.IntLiteral to %tuple.elem0.loc32 = in_place_init %Core.IntLiteral.as.Copy.impl.Op.call.loc32_13 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc32_16: %.c22 = impl_witness_access constants.%Copy.impl_witness.6f1, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc32_16: %.af5 = impl_witness_access constants.%Copy.impl_witness.0b3, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc32_16: = bound_method %int_4.loc32, %impl.elem0.loc32_16 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op.bound.50f] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.call.loc32_16: init Core.IntLiteral = call %bound_method.loc32_16(%int_4.loc32) [concrete = constants.%int_4] // CHECK:STDOUT: %tuple.elem1.loc32: Core.IntLiteral = tuple_access %.loc32_8.1, element1 [concrete = constants.%int_2.ecc] @@ -244,7 +244,7 @@ fn Main() { // CHECK:STDOUT: %.loc32_8.2: %tuple.type.f94 = converted %.loc32_8.1, %tuple.loc32 [concrete = constants.%tuple.ad8] // CHECK:STDOUT: %n.var: ref %i32 = var_storage %n.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc33: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc33: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc33_3.1: = bound_method %int_0, %impl.elem0.loc33 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc33: = specific_function %impl.elem0.loc33, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc33_3.2: = bound_method %int_0, %specific_fn.loc33 [concrete = constants.%bound_method.6e0] @@ -263,7 +263,7 @@ fn Main() { // CHECK:STDOUT: %int_1.loc38: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc38: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc38_17.1: %tuple.type.f94 = tuple_literal (%int_1.loc38, %int_2.loc38) [concrete = constants.%tuple.ad8] -// CHECK:STDOUT: %impl.elem0.loc38_17.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc38_17.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc38_17.1: = bound_method %int_1.loc38, %impl.elem0.loc38_17.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc38_17.1: = specific_function %impl.elem0.loc38_17.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc38_17.2: = bound_method %int_1.loc38, %specific_fn.loc38_17.1 [concrete = constants.%bound_method.953] @@ -271,7 +271,7 @@ fn Main() { // CHECK:STDOUT: %.loc38_17.2: init %i32 = converted %int_1.loc38, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc38_17.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %tuple.elem0.loc38: %i32 = tuple_access %.loc38_8.1, element0 // CHECK:STDOUT: %.loc38_17.3: init %i32 to %tuple.elem0.loc38 = in_place_init %.loc38_17.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc38_17.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc38_17.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc38_17.3: = bound_method %int_2.loc38, %impl.elem0.loc38_17.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc38_17.2: = specific_function %impl.elem0.loc38_17.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc38_17.4: = bound_method %int_2.loc38, %specific_fn.loc38_17.2 [concrete = constants.%bound_method.3cb] @@ -289,7 +289,7 @@ fn Main() { // CHECK:STDOUT: %i32.loc43_3: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i32.loc43_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc43_9 [concrete = constants.%ptr.d08] -// CHECK:STDOUT: %impl.elem0.loc43: %.524 = impl_witness_access constants.%Copy.impl_witness.638, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc43: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc43: = bound_method %ptr, %impl.elem0.loc43 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method.loc43(%ptr) [concrete = constants.%ptr.d08] // CHECK:STDOUT: assign %i32.loc43_3, %type.as.Copy.impl.Op.call @@ -299,12 +299,12 @@ fn Main() { // CHECK:STDOUT: %int_3.loc48: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %int_4.loc48: Core.IntLiteral = int_value 4 [concrete = constants.%int_4] // CHECK:STDOUT: %.loc48_37.1: %struct_type.x.y = struct_literal (%int_3.loc48, %int_4.loc48) [concrete = constants.%struct.a0d] -// CHECK:STDOUT: %impl.elem0.loc48_28: %.c22 = impl_witness_access constants.%Copy.impl_witness.6f1, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc48_28: %.af5 = impl_witness_access constants.%Copy.impl_witness.0b3, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc48_28: = bound_method %int_3.loc48, %impl.elem0.loc48_28 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op.bound.64e] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.call.loc48_28: init Core.IntLiteral = call %bound_method.loc48_28(%int_3.loc48) [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc48_37.2: Core.IntLiteral = struct_access %.loc48_18.1, element0 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc48_37.3: init Core.IntLiteral to %.loc48_37.2 = in_place_init %Core.IntLiteral.as.Copy.impl.Op.call.loc48_28 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc48_36: %.c22 = impl_witness_access constants.%Copy.impl_witness.6f1, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc48_36: %.af5 = impl_witness_access constants.%Copy.impl_witness.0b3, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc48_36: = bound_method %int_4.loc48, %impl.elem0.loc48_36 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op.bound.50f] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.call.loc48_36: init Core.IntLiteral = call %bound_method.loc48_36(%int_4.loc48) [concrete = constants.%int_4] // CHECK:STDOUT: %.loc48_37.4: Core.IntLiteral = struct_access %.loc48_18.1, element1 [concrete = constants.%int_2.ecc] @@ -319,7 +319,7 @@ fn Main() { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc53: // CHECK:STDOUT: %int_1.loc53: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc53_12: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc53_12: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc53_12.1: = bound_method %int_1.loc53, %impl.elem0.loc53_12 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc53_12: = specific_function %impl.elem0.loc53_12, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc53_12.2: = bound_method %int_1.loc53, %specific_fn.loc53_12 [concrete = constants.%bound_method.953] @@ -330,7 +330,7 @@ fn Main() { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc53: // CHECK:STDOUT: %int_2.loc53: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc53_19: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc53_19: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc53_19.1: = bound_method %int_2.loc53, %impl.elem0.loc53_19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc53_19: = specific_function %impl.elem0.loc53_19, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc53_19.2: = bound_method %int_2.loc53, %specific_fn.loc53_19 [concrete = constants.%bound_method.3cb] @@ -342,7 +342,7 @@ fn Main() { // CHECK:STDOUT: !if.expr.result.loc53: // CHECK:STDOUT: %.loc53_4: %i32 = block_arg !if.expr.result.loc53 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %int_3.loc53: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc53_27: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc53_27: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc53_27.1: = bound_method %int_3.loc53, %impl.elem0.loc53_27 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc53_27: = specific_function %impl.elem0.loc53_27, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc53_27.2: = bound_method %int_3.loc53, %specific_fn.loc53_27 [concrete = constants.%bound_method.763] @@ -350,7 +350,7 @@ fn Main() { // CHECK:STDOUT: %.loc53_27: init %i32 = converted %int_3.loc53, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc53_27 [concrete = constants.%int_3.410] // CHECK:STDOUT: assign %.loc53_4, %.loc53_27 // CHECK:STDOUT: %a.var: ref %i32 = var_storage %a.var_patt -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%i32, (constants.%DefaultOrUnformed.impl_witness.e52) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%i32, (constants.%DefaultOrUnformed.impl_witness.850) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc56_13.1: %DefaultOrUnformed.type = converted constants.%i32, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc56_13.1 [concrete = constants.%i32] // CHECK:STDOUT: %.loc56_13.2: type = converted %.loc56_13.1, %as_type [concrete = constants.%i32] @@ -379,7 +379,7 @@ fn Main() { // CHECK:STDOUT: !if.expr.result.loc61: // CHECK:STDOUT: %.loc61_4: %i32 = block_arg !if.expr.result.loc61 // CHECK:STDOUT: %int_10: Core.IntLiteral = int_value 10 [concrete = constants.%int_10.64f] -// CHECK:STDOUT: %impl.elem0.loc61: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc61: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc61_27.1: = bound_method %int_10, %impl.elem0.loc61 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.dcb] // CHECK:STDOUT: %specific_fn.loc61: = specific_function %impl.elem0.loc61, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc61_27.2: = bound_method %int_10, %specific_fn.loc61 [concrete = constants.%bound_method.1b6] 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 7d4bd1ea9933..8e84b85a3cc9 100644 --- a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon @@ -51,12 +51,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -72,12 +72,12 @@ fn Main() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc18_3.2 [concrete] @@ -96,10 +96,10 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -125,7 +125,7 @@ fn Main() { // CHECK:STDOUT: fn @F() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_25.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_25.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.6e0] @@ -138,7 +138,7 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %i32 = var_storage %a.var_patt // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc18: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_3.1: = bound_method %int_3, %impl.elem0.loc18 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_3.2: = bound_method %int_3, %specific_fn.loc18 [concrete = constants.%bound_method.763] @@ -155,7 +155,7 @@ fn Main() { // CHECK:STDOUT: %a.ref.loc23_7: ref %i32 = name_ref a, %a // CHECK:STDOUT: %a.ref.loc23_10: ref %i32 = name_ref a, %a // CHECK:STDOUT: %.loc23: %i32 = acquire_value %a.ref.loc23_10 -// CHECK:STDOUT: %impl.elem0.loc23: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc23: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc23_10.1: = bound_method %.loc23, %impl.elem0.loc23 // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc23_10.2: = bound_method %.loc23, %specific_fn.loc23 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 83fdbe5a7f85..639443174199 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon @@ -45,12 +45,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -72,7 +72,7 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -89,7 +89,7 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref %i32 = var_storage %a.var_patt // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_3.1: = bound_method %int_3, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_3.2: = bound_method %int_3, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/operators/builtin/or.carbon b/toolchain/check/testdata/operators/builtin/or.carbon index c5c852dcff62..31a68c39ea27 100644 --- a/toolchain/check/testdata/operators/builtin/or.carbon +++ b/toolchain/check/testdata/operators/builtin/or.carbon @@ -42,10 +42,10 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.713: = impl_witness imports.%Copy.impl_witness_table.1ff [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.713) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.15e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4a4, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5e1: = impl_witness imports.%Copy.impl_witness_table.bda [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.d02: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.e28: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d02, %Copy.facet [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.type: type = fn_type @bool.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op: %bool.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.bound: = bound_method %true, %bool.as.Copy.impl.Op [concrete] @@ -90,7 +90,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %Core.Bool: type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = bool] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %bool.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%bool.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.1ff = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.bda = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -145,7 +145,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: fn @F() -> out %return.param: bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %true, %impl.elem0 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%true) [concrete = constants.%true] // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call @@ -154,7 +154,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: fn @G() -> out %return.param: bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %true, %impl.elem0 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%true) [concrete = constants.%true] // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call @@ -179,7 +179,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: // CHECK:STDOUT: !or.result: // CHECK:STDOUT: %.loc19_14.6: bool = block_arg !or.result -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc19_14.6, %impl.elem0 // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%.loc19_14.6) // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call @@ -189,7 +189,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref bool = var_storage %a.var_patt // CHECK:STDOUT: %true.loc23_53: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0.loc23: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc23: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc23: = bound_method %true.loc23_53, %impl.elem0.loc23 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call.loc23: init bool = call %bound_method.loc23(%true.loc23_53) [concrete = constants.%true] // CHECK:STDOUT: assign %a.var, %bool.as.Copy.impl.Op.call.loc23 @@ -230,7 +230,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref bool = var_storage %b.var_patt // CHECK:STDOUT: %true.loc24_54: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0.loc24: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc24: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc24: = bound_method %true.loc24_54, %impl.elem0.loc24 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call.loc24: init bool = call %bound_method.loc24(%true.loc24_54) [concrete = constants.%true] // CHECK:STDOUT: assign %b.var, %bool.as.Copy.impl.Op.call.loc24 @@ -271,7 +271,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref bool = var_storage %c.var_patt // CHECK:STDOUT: %true.loc25_54: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0.loc25: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc25: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc25: = bound_method %true.loc25_54, %impl.elem0.loc25 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call.loc25: init bool = call %bound_method.loc25(%true.loc25_54) [concrete = constants.%true] // CHECK:STDOUT: assign %c.var, %bool.as.Copy.impl.Op.call.loc25 @@ -369,7 +369,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.var: ref bool = var_storage %a.var_patt // CHECK:STDOUT: %true.loc30_50: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %true.loc30_50, %impl.elem0 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%true.loc30_50) [concrete = constants.%true] // CHECK:STDOUT: assign %a.var, %bool.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/operators/builtin/unary_op.carbon b/toolchain/check/testdata/operators/builtin/unary_op.carbon index b7e082dec9fa..4658b96ff0c4 100644 --- a/toolchain/check/testdata/operators/builtin/unary_op.carbon +++ b/toolchain/check/testdata/operators/builtin/unary_op.carbon @@ -37,10 +37,10 @@ fn Constant() { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %Not: %Not.type = struct_value () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.713: = impl_witness imports.%Copy.impl_witness_table.1ff [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.713) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.15e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4a4, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5e1: = impl_witness imports.%Copy.impl_witness_table.bda [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.d02: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.e28: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d02, %Copy.facet [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.type: type = fn_type @bool.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op: %bool.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %not_true.patt: %pattern_type.831 = value_binding_pattern not_true [concrete] @@ -74,7 +74,7 @@ fn Constant() { // CHECK:STDOUT: %Core.Bool: type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = bool] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %bool.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%bool.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.1ff = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.bda = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -118,7 +118,7 @@ fn Constant() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %b.ref: bool = name_ref b, %b // CHECK:STDOUT: %.loc16: bool = not %b.ref -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc16, %impl.elem0 // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%.loc16) // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call @@ -159,7 +159,7 @@ fn Constant() { // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref bool = var_storage %b.var_patt // CHECK:STDOUT: %true.loc24: bool = bool_literal true [concrete = constants.%true] -// CHECK:STDOUT: %impl.elem0: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %true.loc24, %impl.elem0 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%true.loc24) [concrete = constants.%true] // CHECK:STDOUT: assign %b.var, %bool.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/operators/overloaded/add.carbon b/toolchain/check/testdata/operators/overloaded/add.carbon index 10b5629d884f..ac0c401dc2cf 100644 --- a/toolchain/check/testdata/operators/overloaded/add.carbon +++ b/toolchain/check/testdata/operators/overloaded/add.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.AddWith.impl.Op.type: type = fn_type @C.as.AddWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.AddWith.impl.Op: %C.as.AddWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %AddWith.facet: %AddWith.type.2bd = facet_value %C, (%AddWith.impl_witness) [concrete] -// CHECK:STDOUT: %AddWith.WithSelf.Op.type.82f: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%C, %AddWith.facet) [concrete] +// CHECK:STDOUT: %AddWith.WithSelf.Op.type.630: type = fn_type @AddWith.WithSelf.Op, @AddWith.WithSelf(%C, %AddWith.facet) [concrete] // CHECK:STDOUT: %AddAssignWith.type.cba: type = facet_type <@AddAssignWith, @AddAssignWith(%C)> [concrete] // CHECK:STDOUT: %AddAssignWith.impl_witness: = impl_witness @C.as.AddAssignWith.impl.%AddAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.AddAssignWith.impl.Op.type: type = fn_type @C.as.AddAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.AddAssignWith.impl.Op: %C.as.AddAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.cba = facet_value %C, (%AddAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.62f: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%C, %AddAssignWith.facet) [concrete] -// CHECK:STDOUT: %.5cc: type = fn_type_with_self_type %AddWith.WithSelf.Op.type.82f, %AddWith.facet [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.1aa: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%C, %AddAssignWith.facet) [concrete] +// CHECK:STDOUT: %.38f: type = fn_type_with_self_type %AddWith.WithSelf.Op.type.630, %AddWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.62f, %AddAssignWith.facet [concrete] +// CHECK:STDOUT: %.a8f: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.1aa, %AddAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.5cc = impl_witness_access constants.%AddWith.impl_witness, element1 [concrete = constants.%C.as.AddWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.38f = impl_witness_access constants.%AddWith.impl_witness, element1 [concrete = constants.%C.as.AddWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.AddWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.fbc = impl_witness_access constants.%AddAssignWith.impl_witness, element0 [concrete = constants.%C.as.AddAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.a8f = impl_witness_access constants.%AddAssignWith.impl_witness, element0 [concrete = constants.%C.as.AddAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.AddAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/bit_and.carbon b/toolchain/check/testdata/operators/overloaded/bit_and.carbon index 3d04dd2ee300..db8cab2dc478 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_and.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_and.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.BitAndWith.impl.Op.type: type = fn_type @C.as.BitAndWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.BitAndWith.impl.Op: %C.as.BitAndWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %BitAndWith.facet: %BitAndWith.type.8cc = facet_value %C, (%BitAndWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.62e: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(%C, %BitAndWith.facet) [concrete] +// CHECK:STDOUT: %BitAndWith.WithSelf.Op.type.58a: type = fn_type @BitAndWith.WithSelf.Op, @BitAndWith.WithSelf(%C, %BitAndWith.facet) [concrete] // CHECK:STDOUT: %BitAndAssignWith.type.491: type = facet_type <@BitAndAssignWith, @BitAndAssignWith(%C)> [concrete] // CHECK:STDOUT: %BitAndAssignWith.impl_witness: = impl_witness @C.as.BitAndAssignWith.impl.%BitAndAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.BitAndAssignWith.impl.Op.type: type = fn_type @C.as.BitAndAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.BitAndAssignWith.impl.Op: %C.as.BitAndAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %BitAndAssignWith.facet: %BitAndAssignWith.type.491 = facet_value %C, (%BitAndAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.8fc: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%C, %BitAndAssignWith.facet) [concrete] -// CHECK:STDOUT: %.c30: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.62e, %BitAndWith.facet [concrete] +// CHECK:STDOUT: %BitAndAssignWith.WithSelf.Op.type.e7f: type = fn_type @BitAndAssignWith.WithSelf.Op, @BitAndAssignWith.WithSelf(%C, %BitAndAssignWith.facet) [concrete] +// CHECK:STDOUT: %.a08: type = fn_type_with_self_type %BitAndWith.WithSelf.Op.type.58a, %BitAndWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.4b9: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.8fc, %BitAndAssignWith.facet [concrete] +// CHECK:STDOUT: %.d5d: type = fn_type_with_self_type %BitAndAssignWith.WithSelf.Op.type.e7f, %BitAndAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.c30 = impl_witness_access constants.%BitAndWith.impl_witness, element1 [concrete = constants.%C.as.BitAndWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.a08 = impl_witness_access constants.%BitAndWith.impl_witness, element1 [concrete = constants.%C.as.BitAndWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.BitAndWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.4b9 = impl_witness_access constants.%BitAndAssignWith.impl_witness, element0 [concrete = constants.%C.as.BitAndAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.d5d = impl_witness_access constants.%BitAndAssignWith.impl_witness, element0 [concrete = constants.%C.as.BitAndAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.BitAndAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon index 9379f79e5875..ad2b28eb6280 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon @@ -39,14 +39,14 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: %C.as.BitComplement.impl.Op.type: type = fn_type @C.as.BitComplement.impl.Op [concrete] // CHECK:STDOUT: %C.as.BitComplement.impl.Op: %C.as.BitComplement.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %BitComplement.facet: %BitComplement.type = facet_value %C, (%BitComplement.impl_witness) [concrete] -// CHECK:STDOUT: %BitComplement.WithSelf.Op.type.904: type = fn_type @BitComplement.WithSelf.Op, @BitComplement.WithSelf(%BitComplement.facet) [concrete] -// CHECK:STDOUT: %.95e: type = fn_type_with_self_type %BitComplement.WithSelf.Op.type.904, %BitComplement.facet [concrete] +// CHECK:STDOUT: %BitComplement.WithSelf.Op.type.47c: type = fn_type @BitComplement.WithSelf.Op, @BitComplement.WithSelf(%BitComplement.facet) [concrete] +// CHECK:STDOUT: %.71a: type = fn_type_with_self_type %BitComplement.WithSelf.Op.type.47c, %BitComplement.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a -// CHECK:STDOUT: %impl.elem1: %.95e = impl_witness_access constants.%BitComplement.impl_witness, element1 [concrete = constants.%C.as.BitComplement.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.71a = impl_witness_access constants.%BitComplement.impl_witness, element1 [concrete = constants.%C.as.BitComplement.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.BitComplement.impl.Op.call: init %C to %.loc27_20.1 = call %bound_method(%a.ref) diff --git a/toolchain/check/testdata/operators/overloaded/bit_or.carbon b/toolchain/check/testdata/operators/overloaded/bit_or.carbon index 24e1c9992e43..2f3c4d7150dd 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_or.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_or.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.BitOrWith.impl.Op.type: type = fn_type @C.as.BitOrWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.BitOrWith.impl.Op: %C.as.BitOrWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %BitOrWith.facet: %BitOrWith.type.f57 = facet_value %C, (%BitOrWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitOrWith.WithSelf.Op.type.6be: type = fn_type @BitOrWith.WithSelf.Op, @BitOrWith.WithSelf(%C, %BitOrWith.facet) [concrete] +// CHECK:STDOUT: %BitOrWith.WithSelf.Op.type.961: type = fn_type @BitOrWith.WithSelf.Op, @BitOrWith.WithSelf(%C, %BitOrWith.facet) [concrete] // CHECK:STDOUT: %BitOrAssignWith.type.d30: type = facet_type <@BitOrAssignWith, @BitOrAssignWith(%C)> [concrete] // CHECK:STDOUT: %BitOrAssignWith.impl_witness: = impl_witness @C.as.BitOrAssignWith.impl.%BitOrAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.BitOrAssignWith.impl.Op.type: type = fn_type @C.as.BitOrAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.BitOrAssignWith.impl.Op: %C.as.BitOrAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %BitOrAssignWith.facet: %BitOrAssignWith.type.d30 = facet_value %C, (%BitOrAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.fa7: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%C, %BitOrAssignWith.facet) [concrete] -// CHECK:STDOUT: %.65e: type = fn_type_with_self_type %BitOrWith.WithSelf.Op.type.6be, %BitOrWith.facet [concrete] +// CHECK:STDOUT: %BitOrAssignWith.WithSelf.Op.type.6c4: type = fn_type @BitOrAssignWith.WithSelf.Op, @BitOrAssignWith.WithSelf(%C, %BitOrAssignWith.facet) [concrete] +// CHECK:STDOUT: %.6c8: type = fn_type_with_self_type %BitOrWith.WithSelf.Op.type.961, %BitOrWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.9d7: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.fa7, %BitOrAssignWith.facet [concrete] +// CHECK:STDOUT: %.b50: type = fn_type_with_self_type %BitOrAssignWith.WithSelf.Op.type.6c4, %BitOrAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.65e = impl_witness_access constants.%BitOrWith.impl_witness, element1 [concrete = constants.%C.as.BitOrWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.6c8 = impl_witness_access constants.%BitOrWith.impl_witness, element1 [concrete = constants.%C.as.BitOrWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.BitOrWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.9d7 = impl_witness_access constants.%BitOrAssignWith.impl_witness, element0 [concrete = constants.%C.as.BitOrAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.b50 = impl_witness_access constants.%BitOrAssignWith.impl_witness, element0 [concrete = constants.%C.as.BitOrAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.BitOrAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon index 1bc337fd698e..82d53556fcb1 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.BitXorWith.impl.Op.type: type = fn_type @C.as.BitXorWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.BitXorWith.impl.Op: %C.as.BitXorWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %BitXorWith.facet: %BitXorWith.type.5f3 = facet_value %C, (%BitXorWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitXorWith.WithSelf.Op.type.14f: type = fn_type @BitXorWith.WithSelf.Op, @BitXorWith.WithSelf(%C, %BitXorWith.facet) [concrete] +// CHECK:STDOUT: %BitXorWith.WithSelf.Op.type.b42: type = fn_type @BitXorWith.WithSelf.Op, @BitXorWith.WithSelf(%C, %BitXorWith.facet) [concrete] // CHECK:STDOUT: %BitXorAssignWith.type.80d: type = facet_type <@BitXorAssignWith, @BitXorAssignWith(%C)> [concrete] // CHECK:STDOUT: %BitXorAssignWith.impl_witness: = impl_witness @C.as.BitXorAssignWith.impl.%BitXorAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.BitXorAssignWith.impl.Op.type: type = fn_type @C.as.BitXorAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.BitXorAssignWith.impl.Op: %C.as.BitXorAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %BitXorAssignWith.facet: %BitXorAssignWith.type.80d = facet_value %C, (%BitXorAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.741: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%C, %BitXorAssignWith.facet) [concrete] -// CHECK:STDOUT: %.6f5: type = fn_type_with_self_type %BitXorWith.WithSelf.Op.type.14f, %BitXorWith.facet [concrete] +// CHECK:STDOUT: %BitXorAssignWith.WithSelf.Op.type.666: type = fn_type @BitXorAssignWith.WithSelf.Op, @BitXorAssignWith.WithSelf(%C, %BitXorAssignWith.facet) [concrete] +// CHECK:STDOUT: %.977: type = fn_type_with_self_type %BitXorWith.WithSelf.Op.type.b42, %BitXorWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.046: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.741, %BitXorAssignWith.facet [concrete] +// CHECK:STDOUT: %.74d: type = fn_type_with_self_type %BitXorAssignWith.WithSelf.Op.type.666, %BitXorAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.6f5 = impl_witness_access constants.%BitXorWith.impl_witness, element1 [concrete = constants.%C.as.BitXorWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.977 = impl_witness_access constants.%BitXorWith.impl_witness, element1 [concrete = constants.%C.as.BitXorWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.BitXorWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.046 = impl_witness_access constants.%BitXorAssignWith.impl_witness, element0 [concrete = constants.%C.as.BitXorAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.74d = impl_witness_access constants.%BitXorAssignWith.impl_witness, element0 [concrete = constants.%C.as.BitXorAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.BitXorAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/dec.carbon b/toolchain/check/testdata/operators/overloaded/dec.carbon index ee1fd43a4234..0e0aa54037de 100644 --- a/toolchain/check/testdata/operators/overloaded/dec.carbon +++ b/toolchain/check/testdata/operators/overloaded/dec.carbon @@ -39,15 +39,15 @@ fn TestOp() { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C.as.Dec.impl.Op: %C.as.Dec.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Dec.facet: %Dec.type = facet_value %C, (%Dec.impl_witness) [concrete] -// CHECK:STDOUT: %Dec.WithSelf.Op.type.44a: type = fn_type @Dec.WithSelf.Op, @Dec.WithSelf(%Dec.facet) [concrete] -// CHECK:STDOUT: %.61b: type = fn_type_with_self_type %Dec.WithSelf.Op.type.44a, %Dec.facet [concrete] +// CHECK:STDOUT: %Dec.WithSelf.Op.type.cf0: type = fn_type @Dec.WithSelf.Op, @Dec.WithSelf(%Dec.facet) [concrete] +// CHECK:STDOUT: %.985: type = fn_type_with_self_type %Dec.WithSelf.Op.type.cf0, %Dec.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: // CHECK:STDOUT: %c.ref: ref %C = name_ref c, %c -// CHECK:STDOUT: %impl.elem0: %.61b = impl_witness_access constants.%Dec.impl_witness, element0 [concrete = constants.%C.as.Dec.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.985 = impl_witness_access constants.%Dec.impl_witness, element0 [concrete = constants.%C.as.Dec.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %C.as.Dec.impl.Op.call: init %empty_tuple.type = call %bound_method(%c.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/div.carbon b/toolchain/check/testdata/operators/overloaded/div.carbon index 2663a2fc0f00..659a25eeed41 100644 --- a/toolchain/check/testdata/operators/overloaded/div.carbon +++ b/toolchain/check/testdata/operators/overloaded/div.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.DivWith.impl.Op.type: type = fn_type @C.as.DivWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.DivWith.impl.Op: %C.as.DivWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %DivWith.facet: %DivWith.type.148 = facet_value %C, (%DivWith.impl_witness) [concrete] -// CHECK:STDOUT: %DivWith.WithSelf.Op.type.1ba: type = fn_type @DivWith.WithSelf.Op, @DivWith.WithSelf(%C, %DivWith.facet) [concrete] +// CHECK:STDOUT: %DivWith.WithSelf.Op.type.f37: type = fn_type @DivWith.WithSelf.Op, @DivWith.WithSelf(%C, %DivWith.facet) [concrete] // CHECK:STDOUT: %DivAssignWith.type.dad: type = facet_type <@DivAssignWith, @DivAssignWith(%C)> [concrete] // CHECK:STDOUT: %DivAssignWith.impl_witness: = impl_witness @C.as.DivAssignWith.impl.%DivAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.DivAssignWith.impl.Op.type: type = fn_type @C.as.DivAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.DivAssignWith.impl.Op: %C.as.DivAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %DivAssignWith.facet: %DivAssignWith.type.dad = facet_value %C, (%DivAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.417: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%C, %DivAssignWith.facet) [concrete] -// CHECK:STDOUT: %.07f: type = fn_type_with_self_type %DivWith.WithSelf.Op.type.1ba, %DivWith.facet [concrete] +// CHECK:STDOUT: %DivAssignWith.WithSelf.Op.type.565: type = fn_type @DivAssignWith.WithSelf.Op, @DivAssignWith.WithSelf(%C, %DivAssignWith.facet) [concrete] +// CHECK:STDOUT: %.b49: type = fn_type_with_self_type %DivWith.WithSelf.Op.type.f37, %DivWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.647: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.417, %DivAssignWith.facet [concrete] +// CHECK:STDOUT: %.319: type = fn_type_with_self_type %DivAssignWith.WithSelf.Op.type.565, %DivAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.07f = impl_witness_access constants.%DivWith.impl_witness, element1 [concrete = constants.%C.as.DivWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.b49 = impl_witness_access constants.%DivWith.impl_witness, element1 [concrete = constants.%C.as.DivWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.DivWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.647 = impl_witness_access constants.%DivAssignWith.impl_witness, element0 [concrete = constants.%C.as.DivAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.319 = impl_witness_access constants.%DivAssignWith.impl_witness, element0 [concrete = constants.%C.as.DivAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.DivAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/eq.carbon b/toolchain/check/testdata/operators/overloaded/eq.carbon index f1d47a16b4af..3ded119626be 100644 --- a/toolchain/check/testdata/operators/overloaded/eq.carbon +++ b/toolchain/check/testdata/operators/overloaded/eq.carbon @@ -106,18 +106,18 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %C.as.EqWith.impl.NotEqual.type: type = fn_type @C.as.EqWith.impl.NotEqual [concrete] // CHECK:STDOUT: %C.as.EqWith.impl.NotEqual: %C.as.EqWith.impl.NotEqual.type = struct_value () [concrete] // CHECK:STDOUT: %EqWith.facet: %EqWith.type.d1f = facet_value %C, (%EqWith.impl_witness) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.084: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%C, %EqWith.facet) [concrete] -// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.399: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%C, %EqWith.facet) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.Equal.type.e3d: type = fn_type @EqWith.WithSelf.Equal, @EqWith.WithSelf(%C, %EqWith.facet) [concrete] +// CHECK:STDOUT: %EqWith.WithSelf.NotEqual.type.23b: type = fn_type @EqWith.WithSelf.NotEqual, @EqWith.WithSelf(%C, %EqWith.facet) [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type.4a7 = value_param_pattern [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.4a7 = at_binding_pattern a, %a.param_patt [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.4a7 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.4a7 = at_binding_pattern b, %b.param_patt [concrete] // CHECK:STDOUT: %TestEqual.type: type = fn_type @TestEqual [concrete] // CHECK:STDOUT: %TestEqual: %TestEqual.type = struct_value () [concrete] -// CHECK:STDOUT: %.0e9: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.084, %EqWith.facet [concrete] +// CHECK:STDOUT: %.d78: type = fn_type_with_self_type %EqWith.WithSelf.Equal.type.e3d, %EqWith.facet [concrete] // CHECK:STDOUT: %TestNotEqual.type: type = fn_type @TestNotEqual [concrete] // CHECK:STDOUT: %TestNotEqual: %TestNotEqual.type = struct_value () [concrete] -// CHECK:STDOUT: %.50c: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.399, %EqWith.facet [concrete] +// CHECK:STDOUT: %.701: type = fn_type_with_self_type %EqWith.WithSelf.NotEqual.type.23b, %EqWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -254,7 +254,7 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.0e9 = impl_witness_access constants.%EqWith.impl_witness, element0 [concrete = constants.%C.as.EqWith.impl.Equal] +// CHECK:STDOUT: %impl.elem0: %.d78 = impl_witness_access constants.%EqWith.impl_witness, element0 [concrete = constants.%C.as.EqWith.impl.Equal] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem0 // CHECK:STDOUT: %C.as.EqWith.impl.Equal.call: init bool = call %bound_method(%a.ref, %b.ref) // CHECK:STDOUT: return %C.as.EqWith.impl.Equal.call @@ -264,7 +264,7 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.50c = impl_witness_access constants.%EqWith.impl_witness, element1 [concrete = constants.%C.as.EqWith.impl.NotEqual] +// CHECK:STDOUT: %impl.elem1: %.701 = impl_witness_access constants.%EqWith.impl_witness, element1 [concrete = constants.%C.as.EqWith.impl.NotEqual] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: %C.as.EqWith.impl.NotEqual.call: init bool = call %bound_method(%a.ref, %b.ref) // CHECK:STDOUT: return %C.as.EqWith.impl.NotEqual.call 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 c8377015e604..3962da102dab 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon @@ -61,7 +61,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C.as.Inc.impl.Op: %C.as.Inc.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Inc.facet: %Inc.type = facet_value %C, (%Inc.impl_witness) [concrete] -// CHECK:STDOUT: %Inc.WithSelf.Op.type.445: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] +// CHECK:STDOUT: %Inc.WithSelf.Op.type.584: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] // CHECK:STDOUT: %AddAssignWith.type.2fb: type = generic_interface_type @AddAssignWith [concrete] // CHECK:STDOUT: %AddAssignWith.generic: %AddAssignWith.type.2fb = struct_value () [concrete] // CHECK:STDOUT: %AddAssignWith.type.cba: type = facet_type <@AddAssignWith, @AddAssignWith(%C)> [concrete] @@ -72,17 +72,17 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: %C.as.AddAssignWith.impl.Op.type: type = fn_type @C.as.AddAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.AddAssignWith.impl.Op: %C.as.AddAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %AddAssignWith.facet: %AddAssignWith.type.cba = facet_value %C, (%AddAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.62f: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%C, %AddAssignWith.facet) [concrete] +// CHECK:STDOUT: %AddAssignWith.WithSelf.Op.type.1aa: type = fn_type @AddAssignWith.WithSelf.Op, @AddAssignWith.WithSelf(%C, %AddAssignWith.facet) [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type.4a7 = value_param_pattern [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.4a7 = at_binding_pattern a, %a.param_patt [concrete] // CHECK:STDOUT: %TestIncNonRef.type: type = fn_type @TestIncNonRef [concrete] // CHECK:STDOUT: %TestIncNonRef: %TestIncNonRef.type = struct_value () [concrete] -// CHECK:STDOUT: %.b87: type = fn_type_with_self_type %Inc.WithSelf.Op.type.445, %Inc.facet [concrete] +// CHECK:STDOUT: %.6db: type = fn_type_with_self_type %Inc.WithSelf.Op.type.584, %Inc.facet [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.4a7 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.4a7 = at_binding_pattern b, %b.param_patt [concrete] // CHECK:STDOUT: %TestAddAssignNonRef.type: type = fn_type @TestAddAssignNonRef [concrete] // CHECK:STDOUT: %TestAddAssignNonRef: %TestAddAssignNonRef.type = struct_value () [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.62f, %AddAssignWith.facet [concrete] +// CHECK:STDOUT: %.a8f: type = fn_type_with_self_type %AddAssignWith.WithSelf.Op.type.1aa, %AddAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -200,7 +200,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: fn @TestIncNonRef(%a.param: %C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a -// CHECK:STDOUT: %impl.elem0: %.b87 = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%C.as.Inc.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.6db = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%C.as.Inc.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem0 // CHECK:STDOUT: %C.as.Inc.impl.Op.call: init %empty_tuple.type = call %bound_method() // CHECK:STDOUT: return @@ -210,7 +210,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.fbc = impl_witness_access constants.%AddAssignWith.impl_witness, element0 [concrete = constants.%C.as.AddAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.a8f = impl_witness_access constants.%AddAssignWith.impl_witness, element0 [concrete = constants.%C.as.AddAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem0 // CHECK:STDOUT: %C.as.AddAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(, %b.ref) // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon index cca4e6b3046a..b2c83dd8c029 100644 --- a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon +++ b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon @@ -57,7 +57,7 @@ fn Test() { // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %ImplicitAs.type.7cc: type = facet_type <@ImplicitAs, @ImplicitAs(%X)> [concrete] // CHECK:STDOUT: %.6b4: = impl_self_witness %i32, @ImplicitAs, @ImplicitAs(%X) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.677: = impl_witness @i32.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.70f: = impl_witness @i32.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %self.param_patt.049: %pattern_type.6b6 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.f6c: %pattern_type.6b6 = at_binding_pattern self, %self.param_patt.049 [concrete] // CHECK:STDOUT: %.325: Core.Form = init_form %X [concrete] @@ -66,32 +66,32 @@ fn Test() { // CHECK:STDOUT: %return.patt.d8e: %pattern_type.6cb = return_slot_pattern %return.param_patt.2e8, %X [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert.type: type = fn_type @i32.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %i32.as.ImplicitAs.impl.Convert: %i32.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.474: %ImplicitAs.type.7cc = facet_value %i32, (%ImplicitAs.impl_witness.677) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.9de: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%X, %ImplicitAs.facet.474) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.1cc: %ImplicitAs.type.7cc = facet_value %i32, (%ImplicitAs.impl_witness.70f) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.40d: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%X, %ImplicitAs.facet.1cc) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.patt.d47: %pattern_type.98f = symbolic_binding_pattern T, 0 [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %.516: = impl_self_witness %X, @ImplicitAs, @ImplicitAs(%i32) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.90f: = impl_witness @X.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.e7c: = impl_witness @X.as.ImplicitAs.impl.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %self.param_patt.172: %pattern_type.6cb = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.7ac: %pattern_type.6cb = at_binding_pattern self, %self.param_patt.172 [concrete] // CHECK:STDOUT: %return.patt.e1b: %pattern_type.6b6 = return_slot_pattern %return.param_patt.a9a, %i32 [concrete] // CHECK:STDOUT: %X.as.ImplicitAs.impl.Convert.type: type = fn_type @X.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %X.as.ImplicitAs.impl.Convert: %X.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.1cb: %ImplicitAs.type.914 = facet_value %X, (%ImplicitAs.impl_witness.90f) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6bb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.1cb) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.1d0: %ImplicitAs.type.914 = facet_value %X, (%ImplicitAs.impl_witness.e7c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.1f0: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.1d0) [concrete] // CHECK:STDOUT: %n.param_patt: %pattern_type.6b6 = value_param_pattern [concrete] // CHECK:STDOUT: %n.patt.f0b: %pattern_type.6b6 = at_binding_pattern n, %n.param_patt [concrete] // CHECK:STDOUT: %Sink_i32.type: type = fn_type @Sink_i32 [concrete] @@ -113,12 +113,12 @@ fn Test() { // CHECK:STDOUT: %Test.type: type = fn_type @Test [concrete] // CHECK:STDOUT: %Test: %Test.type = struct_value () [concrete] // CHECK:STDOUT: %Source.specific_fn.ca6: = specific_function %Source, @Source(%X) [concrete] -// CHECK:STDOUT: %.094: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6bb, %ImplicitAs.facet.1cb [concrete] +// CHECK:STDOUT: %.9c6: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.1f0, %ImplicitAs.facet.1d0 [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.4: type = fn_type @Destroy.Op.loc34_20.4 [concrete] // CHECK:STDOUT: %Destroy.Op.1a2547.4: %Destroy.Op.type.1d8f74.4 = struct_value () [concrete] // CHECK:STDOUT: %Source.specific_fn.75e: = specific_function %Source, @Source(%i32) [concrete] -// CHECK:STDOUT: %.015: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.9de, %ImplicitAs.facet.474 [concrete] +// CHECK:STDOUT: %.64d: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.40d, %ImplicitAs.facet.1cc [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -134,7 +134,7 @@ fn Test() { // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -215,7 +215,7 @@ fn Test() { // CHECK:STDOUT: %return: ref %X = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%i32.as.ImplicitAs.impl.Convert.decl), @i32.as.ImplicitAs.impl [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.677] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.70f] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .X = @@ -240,7 +240,7 @@ fn Test() { // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%X.as.ImplicitAs.impl.Convert.decl), @X.as.ImplicitAs.impl [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.90f] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.e7c] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .X = @@ -263,7 +263,7 @@ fn Test() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %i32 = name_ref self, %self // CHECK:STDOUT: %.loc20_49.1: %struct_type.n = struct_literal (%self.ref) -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc20_45.1: = bound_method %self.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc20_45.2: = bound_method %self.ref, %specific_fn @@ -281,7 +281,7 @@ fn Test() { // CHECK:STDOUT: %n.ref: %X.elem = name_ref n, @X.%.loc16 [concrete = @X.%.loc16] // CHECK:STDOUT: %.loc24_43.1: ref %i32 = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc24_43.2: %i32 = acquire_value %.loc24_43.1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc24_43.1: = bound_method %.loc24_43.2, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc24_43.2: = bound_method %.loc24_43.2, %specific_fn @@ -324,7 +324,7 @@ fn Test() { // CHECK:STDOUT: %Source.specific_fn.loc34: = specific_function %Source.ref.loc34, @Source(constants.%X) [concrete = constants.%Source.specific_fn.ca6] // CHECK:STDOUT: %.loc34_20.1: ref %X = temporary_storage // CHECK:STDOUT: %Source.call.loc34: init %X to %.loc34_20.1 = call %Source.specific_fn.loc34() -// CHECK:STDOUT: %impl.elem0.loc34: %.094 = impl_witness_access constants.%ImplicitAs.impl_witness.90f, element0 [concrete = constants.%X.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc34: %.9c6 = impl_witness_access constants.%ImplicitAs.impl_witness.e7c, element0 [concrete = constants.%X.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc34: = bound_method %Source.call.loc34, %impl.elem0.loc34 // CHECK:STDOUT: %.loc34_20.2: ref %X = temporary %.loc34_20.1, %Source.call.loc34 // CHECK:STDOUT: %.loc34_20.3: %X = acquire_value %.loc34_20.2 @@ -339,7 +339,7 @@ fn Test() { // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Source.specific_fn.loc35: = specific_function %Source.ref.loc35, @Source(constants.%i32) [concrete = constants.%Source.specific_fn.75e] // CHECK:STDOUT: %Source.call.loc35: init %i32 = call %Source.specific_fn.loc35() -// CHECK:STDOUT: %impl.elem0.loc35: %.015 = impl_witness_access constants.%ImplicitAs.impl_witness.677, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0.loc35: %.64d = impl_witness_access constants.%ImplicitAs.impl_witness.70f, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc35: = bound_method %Source.call.loc35, %impl.elem0.loc35 // CHECK:STDOUT: %.loc35_20.1: ref %X = temporary_storage // CHECK:STDOUT: %.loc35_20.2: %i32 = value_of_initializer %Source.call.loc35 diff --git a/toolchain/check/testdata/operators/overloaded/inc.carbon b/toolchain/check/testdata/operators/overloaded/inc.carbon index 93c03a65a2ac..04762c35d06d 100644 --- a/toolchain/check/testdata/operators/overloaded/inc.carbon +++ b/toolchain/check/testdata/operators/overloaded/inc.carbon @@ -39,15 +39,15 @@ fn TestOp() { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %C.as.Inc.impl.Op: %C.as.Inc.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Inc.facet: %Inc.type = facet_value %C, (%Inc.impl_witness) [concrete] -// CHECK:STDOUT: %Inc.WithSelf.Op.type.445: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] -// CHECK:STDOUT: %.b87: type = fn_type_with_self_type %Inc.WithSelf.Op.type.445, %Inc.facet [concrete] +// CHECK:STDOUT: %Inc.WithSelf.Op.type.584: type = fn_type @Inc.WithSelf.Op, @Inc.WithSelf(%Inc.facet) [concrete] +// CHECK:STDOUT: %.6db: type = fn_type_with_self_type %Inc.WithSelf.Op.type.584, %Inc.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: // CHECK:STDOUT: %c.ref: ref %C = name_ref c, %c -// CHECK:STDOUT: %impl.elem0: %.b87 = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%C.as.Inc.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.6db = impl_witness_access constants.%Inc.impl_witness, element0 [concrete = constants.%C.as.Inc.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem0 // CHECK:STDOUT: %C.as.Inc.impl.Op.call: init %empty_tuple.type = call %bound_method(%c.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/index.carbon b/toolchain/check/testdata/operators/overloaded/index.carbon index b80f4f028c25..883ee3cd4958 100644 --- a/toolchain/check/testdata/operators/overloaded/index.carbon +++ b/toolchain/check/testdata/operators/overloaded/index.carbon @@ -426,8 +426,8 @@ fn F() { // CHECK:STDOUT: %C.as.IndexWith.impl.At.type: type = fn_type @C.as.IndexWith.impl.At [concrete] // CHECK:STDOUT: %C.as.IndexWith.impl.At: %C.as.IndexWith.impl.At.type = struct_value () [concrete] // CHECK:STDOUT: %IndexWith.facet: %IndexWith.type.de8 = facet_value %C, (%IndexWith.impl_witness) [concrete] -// CHECK:STDOUT: %IndexWith.WithSelf.At.type.9d6: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(%empty_tuple.type, %empty_tuple.type, %IndexWith.facet) [concrete] -// CHECK:STDOUT: %IndexWith.WithSelf.At.a95: %IndexWith.WithSelf.At.type.9d6 = struct_value () [concrete] +// CHECK:STDOUT: %IndexWith.WithSelf.At.type.799: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(%empty_tuple.type, %empty_tuple.type, %IndexWith.facet) [concrete] +// CHECK:STDOUT: %IndexWith.WithSelf.At.36a: %IndexWith.WithSelf.At.type.799 = struct_value () [concrete] // CHECK:STDOUT: %return.patt.9ca: %pattern_type.cb1 = return_slot_pattern %return.param_patt.900, invalid [concrete] // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] @@ -655,8 +655,8 @@ fn F() { // CHECK:STDOUT: %ElementType => constants.%empty_tuple.type // CHECK:STDOUT: %IndexWith.type => constants.%IndexWith.type.de8 // CHECK:STDOUT: %Self => constants.%IndexWith.facet -// CHECK:STDOUT: %IndexWith.WithSelf.At.type => constants.%IndexWith.WithSelf.At.type.9d6 -// CHECK:STDOUT: %IndexWith.WithSelf.At => constants.%IndexWith.WithSelf.At.a95 +// CHECK:STDOUT: %IndexWith.WithSelf.At.type => constants.%IndexWith.WithSelf.At.type.799 +// CHECK:STDOUT: %IndexWith.WithSelf.At => constants.%IndexWith.WithSelf.At.36a // CHECK:STDOUT: %IndexWith.assoc_type => constants.%IndexWith.assoc_type.e52 // CHECK:STDOUT: %assoc0 => constants.%assoc0.a9a // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon index 09d55e959138..0396d497d748 100644 --- a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon +++ b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon @@ -116,7 +116,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %subscript.param_patt.5ee: %pattern_type.ea5 = value_param_pattern [concrete] // CHECK:STDOUT: %subscript.patt.a6f: %pattern_type.ea5 = at_binding_pattern subscript, %subscript.param_patt.5ee [concrete] // CHECK:STDOUT: %IndexWith.facet: %IndexWith.type.d74 = facet_value %C, (%IndexWith.impl_witness) [concrete] -// CHECK:STDOUT: %IndexWith.WithSelf.At.type.a63: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(%SubscriptType.f8f, %IndexWith.facet) [concrete] +// CHECK:STDOUT: %IndexWith.WithSelf.At.type.724: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(%SubscriptType.f8f, %IndexWith.facet) [concrete] // CHECK:STDOUT: %.4d0: Core.Form = init_form %ElementType [concrete] // CHECK:STDOUT: %pattern_type.67c: type = pattern_type %ElementType [concrete] // CHECK:STDOUT: %return.param_patt.41c: %pattern_type.67c = out_param_pattern [concrete] @@ -132,7 +132,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %C.val: %C = struct_value () [concrete] // CHECK:STDOUT: %.115: ref %C = temporary invalid, %C.val [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.67c = value_binding_pattern x [concrete] -// CHECK:STDOUT: %.182: type = fn_type_with_self_type %IndexWith.WithSelf.At.type.a63, %IndexWith.facet [concrete] +// CHECK:STDOUT: %.b43: type = fn_type_with_self_type %IndexWith.WithSelf.At.type.724, %IndexWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -288,7 +288,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %.loc15: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %c.ref: %C = name_ref c, file.%c // CHECK:STDOUT: %s.ref: %SubscriptType.f8f = name_ref s, file.%s -// CHECK:STDOUT: %impl.elem1: %.182 = impl_witness_access constants.%IndexWith.impl_witness, element1 [concrete = constants.%C.as.IndexWith.impl.At] +// CHECK:STDOUT: %impl.elem1: %.b43 = impl_witness_access constants.%IndexWith.impl_witness, element1 [concrete = constants.%C.as.IndexWith.impl.At] // CHECK:STDOUT: %bound_method: = bound_method %c.ref, %impl.elem1 // CHECK:STDOUT: %.loc16: ref %ElementType = temporary_storage // CHECK:STDOUT: %C.as.IndexWith.impl.At.call: init %ElementType to %.loc16 = call %bound_method(%c.ref, %s.ref) @@ -336,13 +336,13 @@ let x: i32 = c[0]; // CHECK:STDOUT: %tuple.type.as.IndexWith.impl.At.type: type = fn_type @tuple.type.as.IndexWith.impl.At [concrete] // CHECK:STDOUT: %tuple.type.as.IndexWith.impl.At: %tuple.type.as.IndexWith.impl.At.type = struct_value () [concrete] // CHECK:STDOUT: %IndexWith.facet: %IndexWith.type.385 = facet_value %tuple.type.748, (%IndexWith.impl_witness) [concrete] -// CHECK:STDOUT: %IndexWith.WithSelf.At.type.ef2: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(Core.IntLiteral, %IndexWith.facet) [concrete] +// CHECK:STDOUT: %IndexWith.WithSelf.At.type.83a: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(Core.IntLiteral, %IndexWith.facet) [concrete] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete] // CHECK:STDOUT: %empty_tuple.4db: %C = tuple_value () [concrete] // CHECK:STDOUT: %s.patt: %pattern_type.8b4 = value_binding_pattern s [concrete] // CHECK:STDOUT: %tuple.adf: %tuple.type.748 = tuple_value (%empty_tuple.4db, %empty_tuple.4db) [concrete] // CHECK:STDOUT: %e.patt: %pattern_type.98b = value_binding_pattern e [concrete] -// CHECK:STDOUT: %.f74: type = fn_type_with_self_type %IndexWith.WithSelf.At.type.ef2, %IndexWith.facet [concrete] +// CHECK:STDOUT: %.02c: type = fn_type_with_self_type %IndexWith.WithSelf.At.type.83a, %IndexWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -494,7 +494,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: %.loc14_34: %tuple.type.748 = tuple_literal (%.loc14_21.2, %.loc14_30.2) [concrete = constants.%tuple.adf] // CHECK:STDOUT: %s.ref: %tuple.type.748 = name_ref s, file.%s // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] -// CHECK:STDOUT: %impl.elem1: %.f74 = impl_witness_access constants.%IndexWith.impl_witness, element1 [concrete = constants.%tuple.type.as.IndexWith.impl.At] +// CHECK:STDOUT: %impl.elem1: %.02c = impl_witness_access constants.%IndexWith.impl_witness, element1 [concrete = constants.%tuple.type.as.IndexWith.impl.At] // CHECK:STDOUT: %bound_method: = bound_method %s.ref, %impl.elem1 // CHECK:STDOUT: %tuple.type.as.IndexWith.impl.At.call: init %C = call %bound_method(%s.ref, %int_0) // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/operators/overloaded/left_shift.carbon b/toolchain/check/testdata/operators/overloaded/left_shift.carbon index ac379d033a9e..cc24523f2bbf 100644 --- a/toolchain/check/testdata/operators/overloaded/left_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/left_shift.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.LeftShiftWith.impl.Op.type: type = fn_type @C.as.LeftShiftWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.LeftShiftWith.impl.Op: %C.as.LeftShiftWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %LeftShiftWith.facet: %LeftShiftWith.type.d38 = facet_value %C, (%LeftShiftWith.impl_witness) [concrete] -// CHECK:STDOUT: %LeftShiftWith.WithSelf.Op.type.13f: type = fn_type @LeftShiftWith.WithSelf.Op, @LeftShiftWith.WithSelf(%C, %LeftShiftWith.facet) [concrete] +// CHECK:STDOUT: %LeftShiftWith.WithSelf.Op.type.0a4: type = fn_type @LeftShiftWith.WithSelf.Op, @LeftShiftWith.WithSelf(%C, %LeftShiftWith.facet) [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.type.e52: type = facet_type <@LeftShiftAssignWith, @LeftShiftAssignWith(%C)> [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.impl_witness: = impl_witness @C.as.LeftShiftAssignWith.impl.%LeftShiftAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.LeftShiftAssignWith.impl.Op.type: type = fn_type @C.as.LeftShiftAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.LeftShiftAssignWith.impl.Op: %C.as.LeftShiftAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %LeftShiftAssignWith.facet: %LeftShiftAssignWith.type.e52 = facet_value %C, (%LeftShiftAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.049: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%C, %LeftShiftAssignWith.facet) [concrete] -// CHECK:STDOUT: %.c54: type = fn_type_with_self_type %LeftShiftWith.WithSelf.Op.type.13f, %LeftShiftWith.facet [concrete] +// CHECK:STDOUT: %LeftShiftAssignWith.WithSelf.Op.type.58c: type = fn_type @LeftShiftAssignWith.WithSelf.Op, @LeftShiftAssignWith.WithSelf(%C, %LeftShiftAssignWith.facet) [concrete] +// CHECK:STDOUT: %.322: type = fn_type_with_self_type %LeftShiftWith.WithSelf.Op.type.0a4, %LeftShiftWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.845: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.049, %LeftShiftAssignWith.facet [concrete] +// CHECK:STDOUT: %.1b0: type = fn_type_with_self_type %LeftShiftAssignWith.WithSelf.Op.type.58c, %LeftShiftAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.c54 = impl_witness_access constants.%LeftShiftWith.impl_witness, element1 [concrete = constants.%C.as.LeftShiftWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.322 = impl_witness_access constants.%LeftShiftWith.impl_witness, element1 [concrete = constants.%C.as.LeftShiftWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.LeftShiftWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.845 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness, element0 [concrete = constants.%C.as.LeftShiftAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.1b0 = impl_witness_access constants.%LeftShiftAssignWith.impl_witness, element0 [concrete = constants.%C.as.LeftShiftAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.LeftShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/mod.carbon b/toolchain/check/testdata/operators/overloaded/mod.carbon index 9d1836f26701..d43c3471683a 100644 --- a/toolchain/check/testdata/operators/overloaded/mod.carbon +++ b/toolchain/check/testdata/operators/overloaded/mod.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.ModWith.impl.Op.type: type = fn_type @C.as.ModWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.ModWith.impl.Op: %C.as.ModWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %ModWith.facet: %ModWith.type.6a7 = facet_value %C, (%ModWith.impl_witness) [concrete] -// CHECK:STDOUT: %ModWith.WithSelf.Op.type.34b: type = fn_type @ModWith.WithSelf.Op, @ModWith.WithSelf(%C, %ModWith.facet) [concrete] +// CHECK:STDOUT: %ModWith.WithSelf.Op.type.d11: type = fn_type @ModWith.WithSelf.Op, @ModWith.WithSelf(%C, %ModWith.facet) [concrete] // CHECK:STDOUT: %ModAssignWith.type.6e3: type = facet_type <@ModAssignWith, @ModAssignWith(%C)> [concrete] // CHECK:STDOUT: %ModAssignWith.impl_witness: = impl_witness @C.as.ModAssignWith.impl.%ModAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.ModAssignWith.impl.Op.type: type = fn_type @C.as.ModAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.ModAssignWith.impl.Op: %C.as.ModAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %ModAssignWith.facet: %ModAssignWith.type.6e3 = facet_value %C, (%ModAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.849: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%C, %ModAssignWith.facet) [concrete] -// CHECK:STDOUT: %.01f: type = fn_type_with_self_type %ModWith.WithSelf.Op.type.34b, %ModWith.facet [concrete] +// CHECK:STDOUT: %ModAssignWith.WithSelf.Op.type.bea: type = fn_type @ModAssignWith.WithSelf.Op, @ModAssignWith.WithSelf(%C, %ModAssignWith.facet) [concrete] +// CHECK:STDOUT: %.803: type = fn_type_with_self_type %ModWith.WithSelf.Op.type.d11, %ModWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.da5: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.849, %ModAssignWith.facet [concrete] +// CHECK:STDOUT: %.31c: type = fn_type_with_self_type %ModAssignWith.WithSelf.Op.type.bea, %ModAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.01f = impl_witness_access constants.%ModWith.impl_witness, element1 [concrete = constants.%C.as.ModWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.803 = impl_witness_access constants.%ModWith.impl_witness, element1 [concrete = constants.%C.as.ModWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.ModWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.da5 = impl_witness_access constants.%ModAssignWith.impl_witness, element0 [concrete = constants.%C.as.ModAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.31c = impl_witness_access constants.%ModAssignWith.impl_witness, element0 [concrete = constants.%C.as.ModAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.ModAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/mul.carbon b/toolchain/check/testdata/operators/overloaded/mul.carbon index d2165635b402..efb2510c0563 100644 --- a/toolchain/check/testdata/operators/overloaded/mul.carbon +++ b/toolchain/check/testdata/operators/overloaded/mul.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.MulWith.impl.Op.type: type = fn_type @C.as.MulWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.MulWith.impl.Op: %C.as.MulWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %MulWith.facet: %MulWith.type.63d = facet_value %C, (%MulWith.impl_witness) [concrete] -// CHECK:STDOUT: %MulWith.WithSelf.Op.type.c81: type = fn_type @MulWith.WithSelf.Op, @MulWith.WithSelf(%C, %MulWith.facet) [concrete] +// CHECK:STDOUT: %MulWith.WithSelf.Op.type.bf6: type = fn_type @MulWith.WithSelf.Op, @MulWith.WithSelf(%C, %MulWith.facet) [concrete] // CHECK:STDOUT: %MulAssignWith.type.b55: type = facet_type <@MulAssignWith, @MulAssignWith(%C)> [concrete] // CHECK:STDOUT: %MulAssignWith.impl_witness: = impl_witness @C.as.MulAssignWith.impl.%MulAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.MulAssignWith.impl.Op.type: type = fn_type @C.as.MulAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.MulAssignWith.impl.Op: %C.as.MulAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %MulAssignWith.facet: %MulAssignWith.type.b55 = facet_value %C, (%MulAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.1ae: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%C, %MulAssignWith.facet) [concrete] -// CHECK:STDOUT: %.656: type = fn_type_with_self_type %MulWith.WithSelf.Op.type.c81, %MulWith.facet [concrete] +// CHECK:STDOUT: %MulAssignWith.WithSelf.Op.type.e98: type = fn_type @MulAssignWith.WithSelf.Op, @MulAssignWith.WithSelf(%C, %MulAssignWith.facet) [concrete] +// CHECK:STDOUT: %.2e4: type = fn_type_with_self_type %MulWith.WithSelf.Op.type.bf6, %MulWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.822: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.1ae, %MulAssignWith.facet [concrete] +// CHECK:STDOUT: %.de5: type = fn_type_with_self_type %MulAssignWith.WithSelf.Op.type.e98, %MulAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.656 = impl_witness_access constants.%MulWith.impl_witness, element1 [concrete = constants.%C.as.MulWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.2e4 = impl_witness_access constants.%MulWith.impl_witness, element1 [concrete = constants.%C.as.MulWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.MulWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.822 = impl_witness_access constants.%MulAssignWith.impl_witness, element0 [concrete = constants.%C.as.MulAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.de5 = impl_witness_access constants.%MulAssignWith.impl_witness, element0 [concrete = constants.%C.as.MulAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.MulAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/negate.carbon b/toolchain/check/testdata/operators/overloaded/negate.carbon index bafa0e9ebfa5..75c784fece29 100644 --- a/toolchain/check/testdata/operators/overloaded/negate.carbon +++ b/toolchain/check/testdata/operators/overloaded/negate.carbon @@ -39,14 +39,14 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: %C.as.Negate.impl.Op.type: type = fn_type @C.as.Negate.impl.Op [concrete] // CHECK:STDOUT: %C.as.Negate.impl.Op: %C.as.Negate.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Negate.facet: %Negate.type = facet_value %C, (%Negate.impl_witness) [concrete] -// CHECK:STDOUT: %Negate.WithSelf.Op.type.d60: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] -// CHECK:STDOUT: %.67e: type = fn_type_with_self_type %Negate.WithSelf.Op.type.d60, %Negate.facet [concrete] +// CHECK:STDOUT: %Negate.WithSelf.Op.type.f63: type = fn_type @Negate.WithSelf.Op, @Negate.WithSelf(%Negate.facet) [concrete] +// CHECK:STDOUT: %.7cd: type = fn_type_with_self_type %Negate.WithSelf.Op.type.f63, %Negate.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a -// CHECK:STDOUT: %impl.elem1: %.67e = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%C.as.Negate.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.7cd = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%C.as.Negate.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.Negate.impl.Op.call: init %C to %.loc27_20.1 = call %bound_method(%a.ref) diff --git a/toolchain/check/testdata/operators/overloaded/ordered.carbon b/toolchain/check/testdata/operators/overloaded/ordered.carbon index e699d734d668..65cca5eee2c0 100644 --- a/toolchain/check/testdata/operators/overloaded/ordered.carbon +++ b/toolchain/check/testdata/operators/overloaded/ordered.carbon @@ -108,26 +108,26 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %C.as.OrderedWith.impl.GreaterOrEquivalent.type: type = fn_type @C.as.OrderedWith.impl.GreaterOrEquivalent [concrete] // CHECK:STDOUT: %C.as.OrderedWith.impl.GreaterOrEquivalent: %C.as.OrderedWith.impl.GreaterOrEquivalent.type = struct_value () [concrete] // CHECK:STDOUT: %OrderedWith.facet: %OrderedWith.type.108 = facet_value %C, (%OrderedWith.impl_witness) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.671: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%C, %OrderedWith.facet) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.392: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%C, %OrderedWith.facet) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.2b0: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%C, %OrderedWith.facet) [concrete] -// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.9fb: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%C, %OrderedWith.facet) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Less.type.312: type = fn_type @OrderedWith.WithSelf.Less, @OrderedWith.WithSelf(%C, %OrderedWith.facet) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.LessOrEquivalent.type.ef9: type = fn_type @OrderedWith.WithSelf.LessOrEquivalent, @OrderedWith.WithSelf(%C, %OrderedWith.facet) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.Greater.type.f85: type = fn_type @OrderedWith.WithSelf.Greater, @OrderedWith.WithSelf(%C, %OrderedWith.facet) [concrete] +// CHECK:STDOUT: %OrderedWith.WithSelf.GreaterOrEquivalent.type.ae3: type = fn_type @OrderedWith.WithSelf.GreaterOrEquivalent, @OrderedWith.WithSelf(%C, %OrderedWith.facet) [concrete] // CHECK:STDOUT: %a.param_patt: %pattern_type.4a7 = value_param_pattern [concrete] // CHECK:STDOUT: %a.patt: %pattern_type.4a7 = at_binding_pattern a, %a.param_patt [concrete] // CHECK:STDOUT: %b.param_patt: %pattern_type.4a7 = value_param_pattern [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.4a7 = at_binding_pattern b, %b.param_patt [concrete] // CHECK:STDOUT: %TestLess.type: type = fn_type @TestLess [concrete] // CHECK:STDOUT: %TestLess: %TestLess.type = struct_value () [concrete] -// CHECK:STDOUT: %.e71: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.671, %OrderedWith.facet [concrete] +// CHECK:STDOUT: %.b78: type = fn_type_with_self_type %OrderedWith.WithSelf.Less.type.312, %OrderedWith.facet [concrete] // CHECK:STDOUT: %TestLessEqual.type: type = fn_type @TestLessEqual [concrete] // CHECK:STDOUT: %TestLessEqual: %TestLessEqual.type = struct_value () [concrete] -// CHECK:STDOUT: %.d4d: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.392, %OrderedWith.facet [concrete] +// CHECK:STDOUT: %.f61: type = fn_type_with_self_type %OrderedWith.WithSelf.LessOrEquivalent.type.ef9, %OrderedWith.facet [concrete] // CHECK:STDOUT: %TestGreater.type: type = fn_type @TestGreater [concrete] // CHECK:STDOUT: %TestGreater: %TestGreater.type = struct_value () [concrete] -// CHECK:STDOUT: %.f13: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.2b0, %OrderedWith.facet [concrete] +// CHECK:STDOUT: %.295: type = fn_type_with_self_type %OrderedWith.WithSelf.Greater.type.f85, %OrderedWith.facet [concrete] // CHECK:STDOUT: %TestGreaterEqual.type: type = fn_type @TestGreaterEqual [concrete] // CHECK:STDOUT: %TestGreaterEqual: %TestGreaterEqual.type = struct_value () [concrete] -// CHECK:STDOUT: %.909: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.9fb, %OrderedWith.facet [concrete] +// CHECK:STDOUT: %.d60: type = fn_type_with_self_type %OrderedWith.WithSelf.GreaterOrEquivalent.type.ae3, %OrderedWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -348,7 +348,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.e71 = impl_witness_access constants.%OrderedWith.impl_witness, element0 [concrete = constants.%C.as.OrderedWith.impl.Less] +// CHECK:STDOUT: %impl.elem0: %.b78 = impl_witness_access constants.%OrderedWith.impl_witness, element0 [concrete = constants.%C.as.OrderedWith.impl.Less] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem0 // CHECK:STDOUT: %C.as.OrderedWith.impl.Less.call: init bool = call %bound_method(%a.ref, %b.ref) // CHECK:STDOUT: return %C.as.OrderedWith.impl.Less.call @@ -358,7 +358,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.d4d = impl_witness_access constants.%OrderedWith.impl_witness, element1 [concrete = constants.%C.as.OrderedWith.impl.LessOrEquivalent] +// CHECK:STDOUT: %impl.elem1: %.f61 = impl_witness_access constants.%OrderedWith.impl_witness, element1 [concrete = constants.%C.as.OrderedWith.impl.LessOrEquivalent] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: %C.as.OrderedWith.impl.LessOrEquivalent.call: init bool = call %bound_method(%a.ref, %b.ref) // CHECK:STDOUT: return %C.as.OrderedWith.impl.LessOrEquivalent.call @@ -368,7 +368,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem2: %.f13 = impl_witness_access constants.%OrderedWith.impl_witness, element2 [concrete = constants.%C.as.OrderedWith.impl.Greater] +// CHECK:STDOUT: %impl.elem2: %.295 = impl_witness_access constants.%OrderedWith.impl_witness, element2 [concrete = constants.%C.as.OrderedWith.impl.Greater] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem2 // CHECK:STDOUT: %C.as.OrderedWith.impl.Greater.call: init bool = call %bound_method(%a.ref, %b.ref) // CHECK:STDOUT: return %C.as.OrderedWith.impl.Greater.call @@ -378,7 +378,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem3: %.909 = impl_witness_access constants.%OrderedWith.impl_witness, element3 [concrete = constants.%C.as.OrderedWith.impl.GreaterOrEquivalent] +// CHECK:STDOUT: %impl.elem3: %.d60 = impl_witness_access constants.%OrderedWith.impl_witness, element3 [concrete = constants.%C.as.OrderedWith.impl.GreaterOrEquivalent] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem3 // CHECK:STDOUT: %C.as.OrderedWith.impl.GreaterOrEquivalent.call: init bool = call %bound_method(%a.ref, %b.ref) // CHECK:STDOUT: return %C.as.OrderedWith.impl.GreaterOrEquivalent.call diff --git a/toolchain/check/testdata/operators/overloaded/right_shift.carbon b/toolchain/check/testdata/operators/overloaded/right_shift.carbon index 07f532b167e0..6c1991acd558 100644 --- a/toolchain/check/testdata/operators/overloaded/right_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/right_shift.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.RightShiftWith.impl.Op.type: type = fn_type @C.as.RightShiftWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.RightShiftWith.impl.Op: %C.as.RightShiftWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %RightShiftWith.facet: %RightShiftWith.type.d7e = facet_value %C, (%RightShiftWith.impl_witness) [concrete] -// CHECK:STDOUT: %RightShiftWith.WithSelf.Op.type.b85: type = fn_type @RightShiftWith.WithSelf.Op, @RightShiftWith.WithSelf(%C, %RightShiftWith.facet) [concrete] +// CHECK:STDOUT: %RightShiftWith.WithSelf.Op.type.502: type = fn_type @RightShiftWith.WithSelf.Op, @RightShiftWith.WithSelf(%C, %RightShiftWith.facet) [concrete] // CHECK:STDOUT: %RightShiftAssignWith.type.245: type = facet_type <@RightShiftAssignWith, @RightShiftAssignWith(%C)> [concrete] // CHECK:STDOUT: %RightShiftAssignWith.impl_witness: = impl_witness @C.as.RightShiftAssignWith.impl.%RightShiftAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.RightShiftAssignWith.impl.Op.type: type = fn_type @C.as.RightShiftAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.RightShiftAssignWith.impl.Op: %C.as.RightShiftAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %RightShiftAssignWith.facet: %RightShiftAssignWith.type.245 = facet_value %C, (%RightShiftAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.eea: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%C, %RightShiftAssignWith.facet) [concrete] -// CHECK:STDOUT: %.f72: type = fn_type_with_self_type %RightShiftWith.WithSelf.Op.type.b85, %RightShiftWith.facet [concrete] +// CHECK:STDOUT: %RightShiftAssignWith.WithSelf.Op.type.e82: type = fn_type @RightShiftAssignWith.WithSelf.Op, @RightShiftAssignWith.WithSelf(%C, %RightShiftAssignWith.facet) [concrete] +// CHECK:STDOUT: %.1d1: type = fn_type_with_self_type %RightShiftWith.WithSelf.Op.type.502, %RightShiftWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.aad: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.eea, %RightShiftAssignWith.facet [concrete] +// CHECK:STDOUT: %.22a: type = fn_type_with_self_type %RightShiftAssignWith.WithSelf.Op.type.e82, %RightShiftAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.f72 = impl_witness_access constants.%RightShiftWith.impl_witness, element1 [concrete = constants.%C.as.RightShiftWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.1d1 = impl_witness_access constants.%RightShiftWith.impl_witness, element1 [concrete = constants.%C.as.RightShiftWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.RightShiftWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.aad = impl_witness_access constants.%RightShiftAssignWith.impl_witness, element0 [concrete = constants.%C.as.RightShiftAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.22a = impl_witness_access constants.%RightShiftAssignWith.impl_witness, element0 [concrete = constants.%C.as.RightShiftAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.RightShiftAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/string_indexing.carbon b/toolchain/check/testdata/operators/overloaded/string_indexing.carbon index 9364e63dce5f..33f08b0d8835 100644 --- a/toolchain/check/testdata/operators/overloaded/string_indexing.carbon +++ b/toolchain/check/testdata/operators/overloaded/string_indexing.carbon @@ -120,16 +120,16 @@ fn TestStringIndexing() { // CHECK:STDOUT: %T.2f3: %ImplicitAs.type.221 = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %str.as.IndexWith.impl.At.type.62e: type = fn_type @str.as.IndexWith.impl.At, @str.as.IndexWith.impl(%T.2f3) [symbolic] // CHECK:STDOUT: %str.as.IndexWith.impl.At.887: %str.as.IndexWith.impl.At.type.62e = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.5a9: = impl_witness imports.%ImplicitAs.impl_witness_table.deb, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.5a9) [concrete] -// CHECK:STDOUT: %IndexWith.impl_witness.47e: = impl_witness imports.%IndexWith.impl_witness_table, @str.as.IndexWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %str.as.IndexWith.impl.At.type.41d: type = fn_type @str.as.IndexWith.impl.At, @str.as.IndexWith.impl(%ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %str.as.IndexWith.impl.At.19c: %str.as.IndexWith.impl.At.type.41d = struct_value () [concrete] -// CHECK:STDOUT: %IndexWith.facet: %IndexWith.type.385 = facet_value %str.3d4, (%IndexWith.impl_witness.47e) [concrete] -// CHECK:STDOUT: %IndexWith.WithSelf.At.type.b23: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(Core.IntLiteral, %IndexWith.facet) [concrete] -// CHECK:STDOUT: %.197: type = fn_type_with_self_type %IndexWith.WithSelf.At.type.b23, %IndexWith.facet [concrete] -// CHECK:STDOUT: %str.as.IndexWith.impl.At.bound: = bound_method %String.val, %str.as.IndexWith.impl.At.19c [concrete] -// CHECK:STDOUT: %str.as.IndexWith.impl.At.specific_fn: = specific_function %str.as.IndexWith.impl.At.19c, @str.as.IndexWith.impl.At(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.227: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl.0e9(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.227) [concrete] +// CHECK:STDOUT: %IndexWith.impl_witness.567: = impl_witness imports.%IndexWith.impl_witness_table, @str.as.IndexWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %str.as.IndexWith.impl.At.type.e2e: type = fn_type @str.as.IndexWith.impl.At, @str.as.IndexWith.impl(%ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %str.as.IndexWith.impl.At.088: %str.as.IndexWith.impl.At.type.e2e = struct_value () [concrete] +// CHECK:STDOUT: %IndexWith.facet: %IndexWith.type.385 = facet_value %str.3d4, (%IndexWith.impl_witness.567) [concrete] +// CHECK:STDOUT: %IndexWith.WithSelf.At.type.f9f: type = fn_type @IndexWith.WithSelf.At, @IndexWith.WithSelf(Core.IntLiteral, %IndexWith.facet) [concrete] +// CHECK:STDOUT: %.f6c: type = fn_type_with_self_type %IndexWith.WithSelf.At.type.f9f, %IndexWith.facet [concrete] +// CHECK:STDOUT: %str.as.IndexWith.impl.At.bound: = bound_method %String.val, %str.as.IndexWith.impl.At.088 [concrete] +// CHECK:STDOUT: %str.as.IndexWith.impl.At.specific_fn: = specific_function %str.as.IndexWith.impl.At.088, @str.as.IndexWith.impl.At(%ImplicitAs.facet) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %String.val, %str.as.IndexWith.impl.At.specific_fn [concrete] // CHECK:STDOUT: %int_84: %char = int_value 84 [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.2ff = value_binding_pattern d [concrete] @@ -142,7 +142,7 @@ fn TestStringIndexing() { // CHECK:STDOUT: %Core.import_ref.169: @str.as.IndexWith.impl.%str.as.IndexWith.impl.At.type (%str.as.IndexWith.impl.At.type.62e) = import_ref Core//prelude/types/string, loc{{\d+_\d+}}, loaded [symbolic = @str.as.IndexWith.impl.%str.as.IndexWith.impl.At (constants.%str.as.IndexWith.impl.At.887)] // CHECK:STDOUT: %IndexWith.impl_witness_table = impl_witness_table (%Core.import_ref.c1f, %Core.import_ref.169), @str.as.IndexWith.impl [concrete] // CHECK:STDOUT: %Core.import_ref.838 = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, unloaded -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.deb = impl_witness_table (%Core.import_ref.838), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.838), @Core.IntLiteral.as.ImplicitAs.impl.0e9 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestStringIndexing() { @@ -151,11 +151,11 @@ fn TestStringIndexing() { // CHECK:STDOUT: %int_4.loc5: %i64 = int_value 4 [concrete = constants.%int_4] // CHECK:STDOUT: %String.val.loc5: %str.3d4 = struct_value (%str.loc5, %int_4.loc5) [concrete = constants.%String.val] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] -// CHECK:STDOUT: %impl.elem1.loc5: %.197 = impl_witness_access constants.%IndexWith.impl_witness.47e, element1 [concrete = constants.%str.as.IndexWith.impl.At.19c] +// CHECK:STDOUT: %impl.elem1.loc5: %.f6c = impl_witness_access constants.%IndexWith.impl_witness.567, element1 [concrete = constants.%str.as.IndexWith.impl.At.088] // CHECK:STDOUT: %bound_method.loc5_32.1: = bound_method %String.val.loc5, %impl.elem1.loc5 [concrete = constants.%str.as.IndexWith.impl.At.bound] -// CHECK:STDOUT: %ImplicitAs.facet.loc5_32.1: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a9) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc5_32.1: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.227) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc5_32.1: %ImplicitAs.type.221 = converted Core.IntLiteral, %ImplicitAs.facet.loc5_32.1 [concrete = constants.%ImplicitAs.facet] -// CHECK:STDOUT: %ImplicitAs.facet.loc5_32.2: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a9) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc5_32.2: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.227) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc5_32.2: %ImplicitAs.type.221 = converted Core.IntLiteral, %ImplicitAs.facet.loc5_32.2 [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem1.loc5, @str.as.IndexWith.impl.At(constants.%ImplicitAs.facet) [concrete = constants.%str.as.IndexWith.impl.At.specific_fn] // CHECK:STDOUT: %bound_method.loc5_32.2: = bound_method %String.val.loc5, %specific_fn.loc5 [concrete = constants.%bound_method] @@ -171,11 +171,11 @@ fn TestStringIndexing() { // CHECK:STDOUT: %int_4.loc6: %i64 = int_value 4 [concrete = constants.%int_4] // CHECK:STDOUT: %String.val.loc6: %str.3d4 = struct_value (%str.loc6, %int_4.loc6) [concrete = constants.%String.val] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %impl.elem1.loc6: %.197 = impl_witness_access constants.%IndexWith.impl_witness.47e, element1 [concrete = constants.%str.as.IndexWith.impl.At.19c] +// CHECK:STDOUT: %impl.elem1.loc6: %.f6c = impl_witness_access constants.%IndexWith.impl_witness.567, element1 [concrete = constants.%str.as.IndexWith.impl.At.088] // CHECK:STDOUT: %bound_method.loc6_32.1: = bound_method %String.val.loc6, %impl.elem1.loc6 [concrete = constants.%str.as.IndexWith.impl.At.bound] -// CHECK:STDOUT: %ImplicitAs.facet.loc6_32.1: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a9) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc6_32.1: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.227) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc6_32.1: %ImplicitAs.type.221 = converted Core.IntLiteral, %ImplicitAs.facet.loc6_32.1 [concrete = constants.%ImplicitAs.facet] -// CHECK:STDOUT: %ImplicitAs.facet.loc6_32.2: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.5a9) [concrete = constants.%ImplicitAs.facet] +// CHECK:STDOUT: %ImplicitAs.facet.loc6_32.2: %ImplicitAs.type.221 = facet_value Core.IntLiteral, (constants.%ImplicitAs.impl_witness.227) [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %.loc6_32.2: %ImplicitAs.type.221 = converted Core.IntLiteral, %ImplicitAs.facet.loc6_32.2 [concrete = constants.%ImplicitAs.facet] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem1.loc6, @str.as.IndexWith.impl.At(constants.%ImplicitAs.facet) [concrete = constants.%str.as.IndexWith.impl.At.specific_fn] // CHECK:STDOUT: %bound_method.loc6_32.2: = bound_method %String.val.loc6, %specific_fn.loc6 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/operators/overloaded/sub.carbon b/toolchain/check/testdata/operators/overloaded/sub.carbon index ce45dd38a72d..f5e18c6babb0 100644 --- a/toolchain/check/testdata/operators/overloaded/sub.carbon +++ b/toolchain/check/testdata/operators/overloaded/sub.carbon @@ -49,23 +49,23 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %C.as.SubWith.impl.Op.type: type = fn_type @C.as.SubWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.SubWith.impl.Op: %C.as.SubWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %SubWith.facet: %SubWith.type.3b5 = facet_value %C, (%SubWith.impl_witness) [concrete] -// CHECK:STDOUT: %SubWith.WithSelf.Op.type.006: type = fn_type @SubWith.WithSelf.Op, @SubWith.WithSelf(%C, %SubWith.facet) [concrete] +// CHECK:STDOUT: %SubWith.WithSelf.Op.type.c63: type = fn_type @SubWith.WithSelf.Op, @SubWith.WithSelf(%C, %SubWith.facet) [concrete] // CHECK:STDOUT: %SubAssignWith.type.bf0: type = facet_type <@SubAssignWith, @SubAssignWith(%C)> [concrete] // CHECK:STDOUT: %SubAssignWith.impl_witness: = impl_witness @C.as.SubAssignWith.impl.%SubAssignWith.impl_witness_table [concrete] // CHECK:STDOUT: %C.as.SubAssignWith.impl.Op.type: type = fn_type @C.as.SubAssignWith.impl.Op [concrete] // CHECK:STDOUT: %C.as.SubAssignWith.impl.Op: %C.as.SubAssignWith.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %SubAssignWith.facet: %SubAssignWith.type.bf0 = facet_value %C, (%SubAssignWith.impl_witness) [concrete] -// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.737: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%C, %SubAssignWith.facet) [concrete] -// CHECK:STDOUT: %.26a: type = fn_type_with_self_type %SubWith.WithSelf.Op.type.006, %SubWith.facet [concrete] +// CHECK:STDOUT: %SubAssignWith.WithSelf.Op.type.c97: type = fn_type @SubAssignWith.WithSelf.Op, @SubAssignWith.WithSelf(%C, %SubAssignWith.facet) [concrete] +// CHECK:STDOUT: %.24f: type = fn_type_with_self_type %SubWith.WithSelf.Op.type.c63, %SubWith.facet [concrete] // CHECK:STDOUT: %ptr.00e: type = ptr_type %C [concrete] -// CHECK:STDOUT: %.d38: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.737, %SubAssignWith.facet [concrete] +// CHECK:STDOUT: %.205: type = fn_type_with_self_type %SubAssignWith.WithSelf.Op.type.c97, %SubAssignWith.facet [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @TestOp(%a.param: %C, %b.param: %C) -> out %return.param: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem1: %.26a = impl_witness_access constants.%SubWith.impl_witness, element1 [concrete = constants.%C.as.SubWith.impl.Op] +// CHECK:STDOUT: %impl.elem1: %.24f = impl_witness_access constants.%SubWith.impl_witness, element1 [concrete = constants.%C.as.SubWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %a.ref, %impl.elem1 // CHECK:STDOUT: // CHECK:STDOUT: %C.as.SubWith.impl.Op.call: init %C to %.loc30_26.1 = call %bound_method(%a.ref, %b.ref) @@ -77,7 +77,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.ref: %ptr.00e = name_ref a, %a // CHECK:STDOUT: %.loc38: ref %C = deref %a.ref // CHECK:STDOUT: %b.ref: %C = name_ref b, %b -// CHECK:STDOUT: %impl.elem0: %.d38 = impl_witness_access constants.%SubAssignWith.impl_witness, element0 [concrete = constants.%C.as.SubAssignWith.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.205 = impl_witness_access constants.%SubAssignWith.impl_witness, element0 [concrete = constants.%C.as.SubAssignWith.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc38, %impl.elem0 // CHECK:STDOUT: %C.as.SubAssignWith.impl.Op.call: init %empty_tuple.type = call %bound_method(%.loc38, %b.ref) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/package_expr/syntax.carbon b/toolchain/check/testdata/package_expr/syntax.carbon index 7810d81bb9a4..29b094dac48c 100644 --- a/toolchain/check/testdata/package_expr/syntax.carbon +++ b/toolchain/check/testdata/package_expr/syntax.carbon @@ -63,12 +63,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -78,12 +78,12 @@ fn Main() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -98,10 +98,10 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -130,7 +130,7 @@ fn Main() { // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc4: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc4: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_1.1: = bound_method %int_0, %impl.elem0.loc4 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc4: = specific_function %impl.elem0.loc4, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc4_1.2: = bound_method %int_0, %specific_fn.loc4 [concrete = constants.%bound_method] @@ -140,7 +140,7 @@ fn Main() { // CHECK:STDOUT: %package.ref: = name_ref package, package [concrete = package] // CHECK:STDOUT: %x.ref: ref %i32 = name_ref x, file.%x [concrete = file.%x.var] // CHECK:STDOUT: %.loc5: %i32 = acquire_value %x.ref -// CHECK:STDOUT: %impl.elem0.loc5: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc5: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc5_21.1: = bound_method %.loc5, %impl.elem0.loc5 // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc5_21.2: = bound_method %.loc5, %specific_fn.loc5 @@ -169,12 +169,12 @@ fn Main() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -192,12 +192,12 @@ fn Main() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc9_3.2 [concrete] @@ -216,10 +216,10 @@ fn Main() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -244,7 +244,7 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %x.var: ref %i32 = var_storage %x.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc7: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0.loc7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn.loc7 [concrete = constants.%bound_method.953] @@ -261,7 +261,7 @@ fn Main() { // CHECK:STDOUT: %package.ref: = name_ref package, package [concrete = package] // CHECK:STDOUT: %x.ref: ref %i32 = name_ref x, file.%x [concrete = file.%x.var] // CHECK:STDOUT: %.loc9: %i32 = acquire_value %x.ref -// CHECK:STDOUT: %impl.elem0.loc9: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc9: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc9_30.1: = bound_method %.loc9, %impl.elem0.loc9 // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc9_30.2: = bound_method %.loc9, %specific_fn.loc9 @@ -290,7 +290,7 @@ fn Main() { // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_1.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc4_1.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.6e0] diff --git a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon index c2eaee75aa9d..5c14b417f5c4 100644 --- a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon +++ b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon @@ -79,10 +79,10 @@ import library "var"; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e52: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%i32) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.850: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%i32) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.e40: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%i32) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.81c: %T.as.DefaultOrUnformed.impl.Op.type.e40 = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.e52) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.850) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.81c, @T.as.DefaultOrUnformed.impl.Op(%i32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -96,7 +96,7 @@ import library "var"; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -116,7 +116,7 @@ import library "var"; // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%i32, (constants.%DefaultOrUnformed.impl_witness.e52) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%i32, (constants.%DefaultOrUnformed.impl_witness.850) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc4_13.1: %DefaultOrUnformed.type = converted constants.%i32, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc4_13.1 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_13.2: type = converted %.loc4_13.1, %as_type [concrete = constants.%i32] diff --git a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon index 0db7c8ea5385..506b045ea2e1 100644 --- a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon +++ b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon @@ -43,12 +43,12 @@ var b: i32 = a; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -65,7 +65,7 @@ var b: i32 = a; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -86,7 +86,7 @@ var b: i32 = a; // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_1.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc4_1.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] @@ -112,12 +112,12 @@ var b: i32 = a; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -133,7 +133,7 @@ var b: i32 = a; // CHECK:STDOUT: %a.var: ref %i32 = var_storage constants.%a.var_patt [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -158,7 +158,7 @@ var b: i32 = a; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: ref %i32 = name_ref a, imports.%Main.a [concrete = imports.%a.var] // CHECK:STDOUT: %.loc4: %i32 = acquire_value %a.ref -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc4_14.1: = bound_method %.loc4, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc4_14.2: = bound_method %.loc4, %specific_fn diff --git a/toolchain/check/testdata/packages/raw_core.carbon b/toolchain/check/testdata/packages/raw_core.carbon index 5702c2848ed9..e804e53e084d 100644 --- a/toolchain/check/testdata/packages/raw_core.carbon +++ b/toolchain/check/testdata/packages/raw_core.carbon @@ -213,12 +213,12 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.03e: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.e7f: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.e79: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.8a4: %Core.IntLiteral.as.As.impl.Convert.type.e79 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.03e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8ea: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %As.WithSelf.Convert.type.8ea, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.e7f) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.d02: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] +// CHECK:STDOUT: %.453: type = fn_type_with_self_type %As.WithSelf.Convert.type.d02, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.8a4 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.8a4, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.0fb: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] @@ -228,12 +228,12 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_0.3c0, %Int.as.Copy.impl.Op.4f6 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method.28e: = bound_method %int_0.3c0, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -251,10 +251,10 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.As: %As.type.116 = import_ref Core//prelude/parts/as, As, loaded [concrete = constants.%As.generic] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -291,7 +291,7 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %Int.ref: %Int.type = name_ref Int, imports.%Core.Int [concrete = constants.%Int.generic] // 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: %impl.elem0.loc6_25.1: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0.loc6_25.1: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc6_25.1: = bound_method %int_0, %impl.elem0.loc6_25.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6_25.1: = specific_function %impl.elem0.loc6_25.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_25.2: = bound_method %int_0, %specific_fn.loc6_25.1 [concrete = constants.%bound_method.0fb] @@ -299,7 +299,7 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %.loc6_25.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc6_25.2: %i32 = converted %int_0, %.loc6_25.1 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc6_40.1: %struct_type.n = struct_literal (%.loc6_25.2) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0.loc6_25.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_25.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_25.3: = bound_method %.loc6_25.2, %impl.elem0.loc6_25.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc6_25.2: = specific_function %impl.elem0.loc6_25.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_25.4: = bound_method %.loc6_25.2, %specific_fn.loc6_25.2 [concrete = constants.%bound_method.28e] diff --git a/toolchain/check/testdata/pointer/address_of_deref.carbon b/toolchain/check/testdata/pointer/address_of_deref.carbon index 3c36941fbe5d..ecc355a91292 100644 --- a/toolchain/check/testdata/pointer/address_of_deref.carbon +++ b/toolchain/check/testdata/pointer/address_of_deref.carbon @@ -42,12 +42,12 @@ fn F() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -56,12 +56,12 @@ fn F() -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.2: type = fn_type @Destroy.Op.loc16_3.2 [concrete] @@ -80,10 +80,10 @@ fn F() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -108,7 +108,7 @@ fn F() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.var: ref %i32 = var_storage %n.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_3.1: = bound_method %int_0, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_3.2: = bound_method %int_0, %specific_fn.loc16 [concrete = constants.%bound_method] @@ -127,7 +127,7 @@ fn F() -> i32 { // CHECK:STDOUT: %addr.loc17_11: %ptr.d08 = addr_of %.loc17_12 // CHECK:STDOUT: %.loc17_10.1: ref %i32 = deref %addr.loc17_11 // CHECK:STDOUT: %.loc17_10.2: %i32 = acquire_value %.loc17_10.1 -// CHECK:STDOUT: %impl.elem0.loc17: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc17: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc17_10.1: = bound_method %.loc17_10.2, %impl.elem0.loc17 // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_10.2: = bound_method %.loc17_10.2, %specific_fn.loc17 diff --git a/toolchain/check/testdata/pointer/address_of_lvalue.carbon b/toolchain/check/testdata/pointer/address_of_lvalue.carbon index 6b808bb52538..2aec86cc735b 100644 --- a/toolchain/check/testdata/pointer/address_of_lvalue.carbon +++ b/toolchain/check/testdata/pointer/address_of_lvalue.carbon @@ -50,12 +50,12 @@ fn F() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -71,23 +71,23 @@ fn F() { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.209: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%struct_type.a.b.b4c) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.d93: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%struct_type.a.b.b4c) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.dbe: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%struct_type.a.b.b4c) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.287: %ptr.as.Copy.impl.Op.type.dbe = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.2c4: %Copy.type = facet_value %ptr.939, (%Copy.impl_witness.209) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4f7: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.2c4) [concrete] -// CHECK:STDOUT: %.bc9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4f7, %Copy.facet.2c4 [concrete] +// CHECK:STDOUT: %Copy.facet.70d: %Copy.type = facet_value %ptr.939, (%Copy.impl_witness.d93) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.833: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.70d) [concrete] +// CHECK:STDOUT: %.59e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.833, %Copy.facet.70d [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.867: = specific_function %ptr.as.Copy.impl.Op.287, @ptr.as.Copy.impl.Op(%struct_type.a.b.b4c) [concrete] // CHECK:STDOUT: %ptr.d08: type = ptr_type %i32 [concrete] // CHECK:STDOUT: %pattern_type.f00: type = pattern_type %ptr.d08 [concrete] // CHECK:STDOUT: %q.patt: %pattern_type.f00 = ref_binding_pattern q [concrete] // CHECK:STDOUT: %q.var_patt: %pattern_type.f00 = var_pattern %q.patt [concrete] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.b49: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.b49) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet.b49 [concrete] +// CHECK:STDOUT: %Copy.facet.09a: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.09a) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet.09a [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.b3e: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %r.patt: %pattern_type.f00 = ref_binding_pattern r [concrete] // CHECK:STDOUT: %r.var_patt: %pattern_type.f00 = var_pattern %r.patt [concrete] @@ -128,10 +128,10 @@ fn F() { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -150,7 +150,7 @@ fn F() { // CHECK:STDOUT: %int_1.loc16: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc16: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc16_46.1: %struct_type.a.b.cfd = struct_literal (%int_1.loc16, %int_2.loc16) [concrete = constants.%struct.4aa] -// CHECK:STDOUT: %impl.elem0.loc16_46.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16_46.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_46.1: = bound_method %int_1.loc16, %impl.elem0.loc16_46.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc16_46.1: = specific_function %impl.elem0.loc16_46.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_46.2: = bound_method %int_1.loc16, %specific_fn.loc16_46.1 [concrete = constants.%bound_method.953] @@ -158,7 +158,7 @@ fn F() { // CHECK:STDOUT: %.loc16_46.2: init %i32 = converted %int_1.loc16, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc16_46.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc16_46.3: ref %i32 = struct_access %s.var, element0 // CHECK:STDOUT: %.loc16_46.4: init %i32 to %.loc16_46.3 = in_place_init %.loc16_46.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc16_46.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16_46.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_46.3: = bound_method %int_2.loc16, %impl.elem0.loc16_46.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc16_46.2: = specific_function %impl.elem0.loc16_46.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_46.4: = bound_method %int_2.loc16, %specific_fn.loc16_46.2 [concrete = constants.%bound_method.3cb] @@ -182,7 +182,7 @@ fn F() { // CHECK:STDOUT: %p.var: ref %ptr.939 = var_storage %p.var_patt // CHECK:STDOUT: %s.ref.loc18: ref %struct_type.a.b.b4c = name_ref s, %s // CHECK:STDOUT: %addr.loc18: %ptr.939 = addr_of %s.ref.loc18 -// CHECK:STDOUT: %impl.elem0.loc18: %.bc9 = impl_witness_access constants.%Copy.impl_witness.209, element0 [concrete = constants.%ptr.as.Copy.impl.Op.287] +// CHECK:STDOUT: %impl.elem0.loc18: %.59e = impl_witness_access constants.%Copy.impl_witness.d93, element0 [concrete = constants.%ptr.as.Copy.impl.Op.287] // CHECK:STDOUT: %bound_method.loc18_39.1: = bound_method %addr.loc18, %impl.elem0.loc18 // CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @ptr.as.Copy.impl.Op(constants.%struct_type.a.b.b4c) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.867] // CHECK:STDOUT: %bound_method.loc18_39.2: = bound_method %addr.loc18, %specific_fn.loc18 @@ -203,7 +203,7 @@ fn F() { // CHECK:STDOUT: %s.ref.loc19: ref %struct_type.a.b.b4c = name_ref s, %s // CHECK:STDOUT: %.loc19_26: ref %i32 = struct_access %s.ref.loc19, element0 // CHECK:STDOUT: %addr.loc19: %ptr.d08 = addr_of %.loc19_26 -// CHECK:STDOUT: %impl.elem0.loc19: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc19: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc19_24.1: = bound_method %addr.loc19, %impl.elem0.loc19 // CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.b3e] // CHECK:STDOUT: %bound_method.loc19_24.2: = bound_method %addr.loc19, %specific_fn.loc19 @@ -222,7 +222,7 @@ fn F() { // CHECK:STDOUT: %s.ref.loc20: ref %struct_type.a.b.b4c = name_ref s, %s // CHECK:STDOUT: %.loc20_26: ref %i32 = struct_access %s.ref.loc20, element1 // CHECK:STDOUT: %addr.loc20: %ptr.d08 = addr_of %.loc20_26 -// CHECK:STDOUT: %impl.elem0.loc20: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc20: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc20_24.1: = bound_method %addr.loc20, %impl.elem0.loc20 // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.b3e] // CHECK:STDOUT: %bound_method.loc20_24.2: = bound_method %addr.loc20, %specific_fn.loc20 @@ -241,7 +241,7 @@ fn F() { // CHECK:STDOUT: %int_1.loc22: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc22: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc22_28.1: %tuple.type.f94 = tuple_literal (%int_1.loc22, %int_2.loc22) [concrete = constants.%tuple.ad8] -// CHECK:STDOUT: %impl.elem0.loc22_28.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc22_28.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_28.1: = bound_method %int_1.loc22, %impl.elem0.loc22_28.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc22_28.1: = specific_function %impl.elem0.loc22_28.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_28.2: = bound_method %int_1.loc22, %specific_fn.loc22_28.1 [concrete = constants.%bound_method.953] @@ -249,7 +249,7 @@ fn F() { // CHECK:STDOUT: %.loc22_28.2: init %i32 = converted %int_1.loc22, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22_28.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %tuple.elem0.loc22: ref %i32 = tuple_access %t.var, element0 // CHECK:STDOUT: %.loc22_28.3: init %i32 to %tuple.elem0.loc22 = in_place_init %.loc22_28.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc22_28.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc22_28.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_28.3: = bound_method %int_2.loc22, %impl.elem0.loc22_28.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc22_28.2: = specific_function %impl.elem0.loc22_28.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_28.4: = bound_method %int_2.loc22, %specific_fn.loc22_28.2 [concrete = constants.%bound_method.3cb] @@ -276,7 +276,7 @@ fn F() { // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %tuple.elem0.loc23: ref %i32 = tuple_access %t.ref.loc23, element0 // CHECK:STDOUT: %addr.loc23: %ptr.d08 = addr_of %tuple.elem0.loc23 -// CHECK:STDOUT: %impl.elem0.loc23: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc23: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc23_25.1: = bound_method %addr.loc23, %impl.elem0.loc23 // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.b3e] // CHECK:STDOUT: %bound_method.loc23_25.2: = bound_method %addr.loc23, %specific_fn.loc23 @@ -296,7 +296,7 @@ fn F() { // CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %tuple.elem1.loc24: ref %i32 = tuple_access %t.ref.loc24, element1 // CHECK:STDOUT: %addr.loc24: %ptr.d08 = addr_of %tuple.elem1.loc24 -// CHECK:STDOUT: %impl.elem0.loc24: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc24: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc24_25.1: = bound_method %addr.loc24, %impl.elem0.loc24 // CHECK:STDOUT: %specific_fn.loc24: = specific_function %impl.elem0.loc24, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.b3e] // CHECK:STDOUT: %bound_method.loc24_25.2: = bound_method %addr.loc24, %specific_fn.loc24 diff --git a/toolchain/check/testdata/pointer/basic.carbon b/toolchain/check/testdata/pointer/basic.carbon index 0c399a3c80af..cf44dda5cee7 100644 --- a/toolchain/check/testdata/pointer/basic.carbon +++ b/toolchain/check/testdata/pointer/basic.carbon @@ -44,12 +44,12 @@ fn F() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -64,19 +64,19 @@ fn F() -> i32 { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.b49: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.b49) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet.b49 [concrete] +// CHECK:STDOUT: %Copy.facet.09a: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.09a) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet.09a [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.1: type = fn_type @Destroy.Op.loc17 [concrete] @@ -97,12 +97,12 @@ fn F() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -127,7 +127,7 @@ fn F() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.var: ref %i32 = var_storage %n.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc16: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_3.1: = bound_method %int_0, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_3.2: = bound_method %int_0, %specific_fn.loc16 [concrete = constants.%bound_method] @@ -143,7 +143,7 @@ fn F() -> i32 { // CHECK:STDOUT: %p.var: ref %ptr.d08 = var_storage %p.var_patt // CHECK:STDOUT: %n.ref: ref %i32 = name_ref n, %n // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %n.ref -// CHECK:STDOUT: %impl.elem0.loc17: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc17: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc17_17.1: = bound_method %addr, %impl.elem0.loc17 // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_17.2: = bound_method %addr, %specific_fn.loc17 @@ -162,7 +162,7 @@ fn F() -> i32 { // CHECK:STDOUT: %.loc19_11: %ptr.d08 = acquire_value %p.ref // CHECK:STDOUT: %.loc19_10.1: ref %i32 = deref %.loc19_11 // CHECK:STDOUT: %.loc19_10.2: %i32 = acquire_value %.loc19_10.1 -// CHECK:STDOUT: %impl.elem0.loc19: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc19: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc19_10.1: = bound_method %.loc19_10.2, %impl.elem0.loc19 // CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc19_10.2: = bound_method %.loc19_10.2, %specific_fn.loc19 diff --git a/toolchain/check/testdata/pointer/import.carbon b/toolchain/check/testdata/pointer/import.carbon index 85252622abff..ff0f631deb70 100644 --- a/toolchain/check/testdata/pointer/import.carbon +++ b/toolchain/check/testdata/pointer/import.carbon @@ -42,12 +42,12 @@ var a: i32* = a_ref; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -61,12 +61,12 @@ var a: i32* = a_ref; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.bound: = bound_method %addr, %ptr.as.Copy.impl.Op.d1c [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %bound_method.13f: = bound_method %addr, %ptr.as.Copy.impl.Op.specific_fn [concrete] @@ -83,10 +83,10 @@ var a: i32* = a_ref; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -118,7 +118,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc4: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc4: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc4_1.1: = bound_method %int_0, %impl.elem0.loc4 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc4: = specific_function %impl.elem0.loc4, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc4_1.2: = bound_method %int_0, %specific_fn.loc4 [concrete = constants.%bound_method.6e0] @@ -127,7 +127,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: assign file.%a_orig.var, %.loc4 // CHECK:STDOUT: %a_orig.ref: ref %i32 = name_ref a_orig, file.%a_orig [concrete = file.%a_orig.var] // CHECK:STDOUT: %addr: %ptr.d08 = addr_of %a_orig.ref [concrete = constants.%addr] -// CHECK:STDOUT: %impl.elem0.loc5: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0.loc5: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc5_19.1: = bound_method %addr, %impl.elem0.loc5 [concrete = constants.%ptr.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc5_19.2: = bound_method %addr, %specific_fn.loc5 [concrete = constants.%bound_method.13f] @@ -153,12 +153,12 @@ var a: i32* = a_ref; // CHECK:STDOUT: %a.var_patt: %pattern_type.f00 = var_pattern %a.patt [concrete] // CHECK:STDOUT: %a_ref.patt: %pattern_type.f00 = ref_binding_pattern a_ref [concrete] // CHECK:STDOUT: %a_ref.var_patt: %pattern_type.f00 = var_pattern %a_ref.patt [concrete] -// CHECK:STDOUT: %Copy.impl_witness.101: = impl_witness imports.%Copy.impl_witness_table.90e, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.101) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.60a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.335: type = fn_type_with_self_type %Copy.WithSelf.Op.type.60a, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -172,7 +172,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %Implicit.import_ref.499: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Implicit//default, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.90e = impl_witness_table (%Implicit.import_ref.499), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Implicit.import_ref.499), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %a_ref.var: ref %ptr.d08 = var_storage constants.%a_ref.var_patt [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] @@ -204,7 +204,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a_ref.ref: ref %ptr.d08 = name_ref a_ref, imports.%Implicit.a_ref [concrete = imports.%a_ref.var] // CHECK:STDOUT: %.loc4: %ptr.d08 = acquire_value %a_ref.ref -// CHECK:STDOUT: %impl.elem0: %.335 = impl_witness_access constants.%Copy.impl_witness.101, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc4_15.1: = bound_method %.loc4, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc4_15.2: = bound_method %.loc4, %specific_fn diff --git a/toolchain/check/testdata/pointer/nested_const.carbon b/toolchain/check/testdata/pointer/nested_const.carbon index 87726631a9e4..ca6e6d44f34f 100644 --- a/toolchain/check/testdata/pointer/nested_const.carbon +++ b/toolchain/check/testdata/pointer/nested_const.carbon @@ -46,15 +46,15 @@ fn F(p: const (const (const i32*)*)) -> const i32 { // CHECK:STDOUT: %T.f84: %Copy.type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %const.as.Copy.impl.Op.type.145: type = fn_type @const.as.Copy.impl.Op, @const.as.Copy.impl(%T.f84) [symbolic] // CHECK:STDOUT: %const.as.Copy.impl.Op.093: %const.as.Copy.impl.Op.type.145 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.impl_witness.0b0: = impl_witness imports.%Copy.impl_witness_table.554, @const.as.Copy.impl(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.type.9b1: type = fn_type @const.as.Copy.impl.Op, @const.as.Copy.impl(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.9cf: %const.as.Copy.impl.Op.type.9b1 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.96e: %Copy.type = facet_value %const.6a8, (%Copy.impl_witness.0b0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.49b: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.96e) [concrete] -// CHECK:STDOUT: %.367: type = fn_type_with_self_type %Copy.WithSelf.Op.type.49b, %Copy.facet.96e [concrete] -// CHECK:STDOUT: %const.as.Copy.impl.Op.specific_fn: = specific_function %const.as.Copy.impl.Op.9cf, @const.as.Copy.impl.Op(%Copy.facet.987) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.ae2: = impl_witness imports.%Copy.impl_witness_table.aca, @const.as.Copy.impl(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.type.726: type = fn_type @const.as.Copy.impl.Op, @const.as.Copy.impl(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.d95: %const.as.Copy.impl.Op.type.726 = struct_value () [concrete] +// CHECK:STDOUT: %Copy.facet.b24: %Copy.type = facet_value %const.6a8, (%Copy.impl_witness.ae2) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.02c: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.b24) [concrete] +// CHECK:STDOUT: %.b29: type = fn_type_with_self_type %Copy.WithSelf.Op.type.02c, %Copy.facet.b24 [concrete] +// CHECK:STDOUT: %const.as.Copy.impl.Op.specific_fn: = specific_function %const.as.Copy.impl.Op.d95, @const.as.Copy.impl.Op(%Copy.facet.1e1) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -67,9 +67,9 @@ fn F(p: const (const (const i32*)*)) -> const i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.f89: @const.as.Copy.impl.%const.as.Copy.impl.Op.type (%const.as.Copy.impl.Op.type.145) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @const.as.Copy.impl.%const.as.Copy.impl.Op (constants.%const.as.Copy.impl.Op.093)] -// CHECK:STDOUT: %Copy.impl_witness_table.554 = impl_witness_table (%Core.import_ref.f89), @const.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.aca = impl_witness_table (%Core.import_ref.f89), @const.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -109,13 +109,13 @@ fn F(p: const (const (const i32*)*)) -> const i32 { // CHECK:STDOUT: %.loc17_11.2: %const.8df = acquire_value %.loc17_11.1 // CHECK:STDOUT: %.loc17_10.1: ref %const.6a8 = deref %.loc17_11.2 // CHECK:STDOUT: %.loc17_10.2: %const.6a8 = acquire_value %.loc17_10.1 -// CHECK:STDOUT: %impl.elem0: %.367 = impl_witness_access constants.%Copy.impl_witness.0b0, element0 [concrete = constants.%const.as.Copy.impl.Op.9cf] +// CHECK:STDOUT: %impl.elem0: %.b29 = impl_witness_access constants.%Copy.impl_witness.ae2, element0 [concrete = constants.%const.as.Copy.impl.Op.d95] // CHECK:STDOUT: %bound_method.loc17_10.1: = bound_method %.loc17_10.2, %impl.elem0 -// CHECK:STDOUT: %Copy.facet.loc17_10.1: %Copy.type = facet_value constants.%i32, (constants.%Copy.impl_witness.0e0) [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %.loc17_10.3: %Copy.type = converted constants.%i32, %Copy.facet.loc17_10.1 [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %Copy.facet.loc17_10.2: %Copy.type = facet_value constants.%i32, (constants.%Copy.impl_witness.0e0) [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %.loc17_10.4: %Copy.type = converted constants.%i32, %Copy.facet.loc17_10.2 [concrete = constants.%Copy.facet.987] -// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @const.as.Copy.impl.Op(constants.%Copy.facet.987) [concrete = constants.%const.as.Copy.impl.Op.specific_fn] +// CHECK:STDOUT: %Copy.facet.loc17_10.1: %Copy.type = facet_value constants.%i32, (constants.%Copy.impl_witness.b51) [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %.loc17_10.3: %Copy.type = converted constants.%i32, %Copy.facet.loc17_10.1 [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %Copy.facet.loc17_10.2: %Copy.type = facet_value constants.%i32, (constants.%Copy.impl_witness.b51) [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %.loc17_10.4: %Copy.type = converted constants.%i32, %Copy.facet.loc17_10.2 [concrete = constants.%Copy.facet.1e1] +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @const.as.Copy.impl.Op(constants.%Copy.facet.1e1) [concrete = constants.%const.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_10.2: = bound_method %.loc17_10.2, %specific_fn // CHECK:STDOUT: %const.as.Copy.impl.Op.call: init %const.6a8 = call %bound_method.loc17_10.2(%.loc17_10.2) // CHECK:STDOUT: return %const.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/pointer/types.carbon b/toolchain/check/testdata/pointer/types.carbon index 552876a82e1c..535e8608f011 100644 --- a/toolchain/check/testdata/pointer/types.carbon +++ b/toolchain/check/testdata/pointer/types.carbon @@ -40,12 +40,12 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.ff5: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%T.67d) [symbolic] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.ce9: %ptr.as.Copy.impl.Op.type.ff5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.ce1: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%i32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5df: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.c1c: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%i32) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.d1c: %ptr.as.Copy.impl.Op.type.c1c = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.b49: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.ce1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.f9d: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.b49) [concrete] -// CHECK:STDOUT: %.ac9: type = fn_type_with_self_type %Copy.WithSelf.Op.type.f9d, %Copy.facet.b49 [concrete] +// CHECK:STDOUT: %Copy.facet.09a: %Copy.type = facet_value %ptr.d08, (%Copy.impl_witness.5df) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.36e: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.09a) [concrete] +// CHECK:STDOUT: %.6d0: type = fn_type_with_self_type %Copy.WithSelf.Op.type.36e, %Copy.facet.09a [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.b3e: = specific_function %ptr.as.Copy.impl.Op.d1c, @ptr.as.Copy.impl.Op(%i32) [concrete] // CHECK:STDOUT: %const.6a8: type = const_type %i32 [concrete] // CHECK:STDOUT: %ptr.774: type = ptr_type %const.6a8 [concrete] @@ -57,12 +57,12 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %return.patt.e15: %pattern_type.8c1 = return_slot_pattern %return.param_patt.0fc, %ptr.774 [concrete] // CHECK:STDOUT: %ConstPtr.type: type = fn_type @ConstPtr [concrete] // CHECK:STDOUT: %ConstPtr: %ConstPtr.type = struct_value () [concrete] -// CHECK:STDOUT: %Copy.impl_witness.1fe: = impl_witness imports.%Copy.impl_witness_table.4f1, @ptr.as.Copy.impl(%const.6a8) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.7ab: = impl_witness imports.%Copy.impl_witness_table.fb0, @ptr.as.Copy.impl(%const.6a8) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.type.17e: type = fn_type @ptr.as.Copy.impl.Op, @ptr.as.Copy.impl(%const.6a8) [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.eb7: %ptr.as.Copy.impl.Op.type.17e = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.82e: %Copy.type = facet_value %ptr.774, (%Copy.impl_witness.1fe) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.18a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.82e) [concrete] -// CHECK:STDOUT: %.31f: type = fn_type_with_self_type %Copy.WithSelf.Op.type.18a, %Copy.facet.82e [concrete] +// CHECK:STDOUT: %Copy.facet.7d2: %Copy.type = facet_value %ptr.774, (%Copy.impl_witness.7ab) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.112: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.7d2) [concrete] +// CHECK:STDOUT: %.50e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.112, %Copy.facet.7d2 [concrete] // CHECK:STDOUT: %ptr.as.Copy.impl.Op.specific_fn.1b4: = specific_function %ptr.as.Copy.impl.Op.eb7, @ptr.as.Copy.impl.Op(%const.6a8) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -76,7 +76,7 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.e5f: @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op.type (%ptr.as.Copy.impl.Op.type.ff5) = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.Copy.impl.%ptr.as.Copy.impl.Op (constants.%ptr.as.Copy.impl.Op.ce9)] -// CHECK:STDOUT: %Copy.impl_witness_table.4f1 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fb0 = impl_witness_table (%Core.import_ref.e5f), @ptr.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -129,7 +129,7 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: fn @Ptr(%p.param: %ptr.d08) -> out %return.param: %ptr.d08 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %ptr.d08 = name_ref p, %p -// CHECK:STDOUT: %impl.elem0: %.ac9 = impl_witness_access constants.%Copy.impl_witness.ce1, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] +// CHECK:STDOUT: %impl.elem0: %.6d0 = impl_witness_access constants.%Copy.impl_witness.5df, element0 [concrete = constants.%ptr.as.Copy.impl.Op.d1c] // CHECK:STDOUT: %bound_method.loc16_10.1: = bound_method %p.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%i32) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.b3e] // CHECK:STDOUT: %bound_method.loc16_10.2: = bound_method %p.ref, %specific_fn @@ -140,7 +140,7 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: fn @ConstPtr(%p.param: %ptr.774) -> out %return.param: %ptr.774 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %ptr.774 = name_ref p, %p -// CHECK:STDOUT: %impl.elem0: %.31f = impl_witness_access constants.%Copy.impl_witness.1fe, element0 [concrete = constants.%ptr.as.Copy.impl.Op.eb7] +// CHECK:STDOUT: %impl.elem0: %.50e = impl_witness_access constants.%Copy.impl_witness.7ab, element0 [concrete = constants.%ptr.as.Copy.impl.Op.eb7] // CHECK:STDOUT: %bound_method.loc20_10.1: = bound_method %p.ref, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @ptr.as.Copy.impl.Op(constants.%const.6a8) [concrete = constants.%ptr.as.Copy.impl.Op.specific_fn.1b4] // CHECK:STDOUT: %bound_method.loc20_10.2: = bound_method %p.ref, %specific_fn diff --git a/toolchain/check/testdata/primitives/import_symbolic.carbon b/toolchain/check/testdata/primitives/import_symbolic.carbon index 85c26a518f8d..6c33d9d6c1ad 100644 --- a/toolchain/check/testdata/primitives/import_symbolic.carbon +++ b/toolchain/check/testdata/primitives/import_symbolic.carbon @@ -205,10 +205,10 @@ fn F() -> u32 { // CHECK:STDOUT: %assoc0.39d: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.5d7 [concrete] // CHECK:STDOUT: %false: bool = bool_literal false [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.713: = impl_witness imports.%Copy.impl_witness_table.1ff [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.713) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.4a4: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.15e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.4a4, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.5e1: = impl_witness imports.%Copy.impl_witness_table.bda [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value bool, (%Copy.impl_witness.5e1) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.d02: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.e28: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d02, %Copy.facet [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.type: type = fn_type @bool.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op: %bool.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %bool.as.Copy.impl.Op.bound: = bound_method %false, %bool.as.Copy.impl.Op [concrete] @@ -223,7 +223,7 @@ fn F() -> u32 { // CHECK:STDOUT: %Main.import_ref.5d7: bool = import_ref Main//bool, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: bool = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.9c3: %bool.as.Copy.impl.Op.type = import_ref Core//prelude/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%bool.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.1ff = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.bda = impl_witness_table (%Core.import_ref.9c3), @bool.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: bool { @@ -236,7 +236,7 @@ fn F() -> u32 { // CHECK:STDOUT: %.loc7_18: type = converted %.loc7_13, %as_type [concrete = constants.%C] // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.c71 [concrete = constants.%assoc0.39d] // CHECK:STDOUT: %impl.elem0.loc7_18.1: bool = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%false] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.15e = impl_witness_access constants.%Copy.impl_witness.713, element0 [concrete = constants.%bool.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.e28 = impl_witness_access constants.%Copy.impl_witness.5e1, element0 [concrete = constants.%bool.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %impl.elem0.loc7_18.1, %impl.elem0.loc7_18.2 [concrete = constants.%bool.as.Copy.impl.Op.bound] // CHECK:STDOUT: %bool.as.Copy.impl.Op.call: init bool = call %bound_method(%impl.elem0.loc7_18.1) [concrete = constants.%false] // CHECK:STDOUT: return %bool.as.Copy.impl.Op.call @@ -254,10 +254,10 @@ fn F() -> u32 { // CHECK:STDOUT: %assoc0.3af: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.ed0 [concrete] // CHECK:STDOUT: %int_97: %char = int_value 97 [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.769: = impl_witness imports.%Copy.impl_witness_table.5aa [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %char, (%Copy.impl_witness.769) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.18f: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.367: type = fn_type_with_self_type %Copy.WithSelf.Op.type.18f, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.58a: = impl_witness imports.%Copy.impl_witness_table.893 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %char, (%Copy.impl_witness.58a) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.35f: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.adc: type = fn_type_with_self_type %Copy.WithSelf.Op.type.35f, %Copy.facet [concrete] // CHECK:STDOUT: %char.as.Copy.impl.Op.type: type = fn_type @char.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %char.as.Copy.impl.Op: %char.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %char.as.Copy.impl.Op.bound: = bound_method %int_97, %char.as.Copy.impl.Op [concrete] @@ -272,7 +272,7 @@ fn F() -> u32 { // CHECK:STDOUT: %Main.import_ref.ed0: %char = import_ref Main//char, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: %char = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.9c3: %char.as.Copy.impl.Op.type = import_ref Core//prelude/types/char, loc{{\d+_\d+}}, loaded [concrete = constants.%char.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.5aa = impl_witness_table (%Core.import_ref.9c3), @char.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.893 = impl_witness_table (%Core.import_ref.9c3), @char.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: %char { @@ -285,7 +285,7 @@ fn F() -> u32 { // CHECK:STDOUT: %.loc7_18: type = converted %.loc7_13, %as_type [concrete = constants.%C] // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.b27 [concrete = constants.%assoc0.3af] // CHECK:STDOUT: %impl.elem0.loc7_18.1: %char = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%int_97] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.367 = impl_witness_access constants.%Copy.impl_witness.769, element0 [concrete = constants.%char.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.adc = impl_witness_access constants.%Copy.impl_witness.58a, element0 [concrete = constants.%char.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %impl.elem0.loc7_18.1, %impl.elem0.loc7_18.2 [concrete = constants.%char.as.Copy.impl.Op.bound] // CHECK:STDOUT: %char.as.Copy.impl.Op.call: init %char = call %bound_method(%impl.elem0.loc7_18.1) [concrete = constants.%int_97] // CHECK:STDOUT: return %char.as.Copy.impl.Op.call @@ -302,10 +302,10 @@ fn F() -> u32 { // CHECK:STDOUT: %assoc0.ca7: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.a77 [concrete] // CHECK:STDOUT: %.54f: Core.CharLiteral = char_value U+0061 [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.5d2: = impl_witness imports.%Copy.impl_witness_table.932 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.CharLiteral, (%Copy.impl_witness.5d2) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.6bf: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.15e: type = fn_type_with_self_type %Copy.WithSelf.Op.type.6bf, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.f54: = impl_witness imports.%Copy.impl_witness_table.021 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.CharLiteral, (%Copy.impl_witness.f54) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.196: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.a16: type = fn_type_with_self_type %Copy.WithSelf.Op.type.196, %Copy.facet [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.Copy.impl.Op.type: type = fn_type @Core.CharLiteral.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.Copy.impl.Op: %Core.CharLiteral.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.Copy.impl.Op.bound: = bound_method %.54f, %Core.CharLiteral.as.Copy.impl.Op [concrete] @@ -320,7 +320,7 @@ fn F() -> u32 { // CHECK:STDOUT: %Main.import_ref.a77: Core.CharLiteral = import_ref Main//char_literal, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: Core.CharLiteral = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.9c3: %Core.CharLiteral.as.Copy.impl.Op.type = import_ref Core//prelude/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.CharLiteral.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.932 = impl_witness_table (%Core.import_ref.9c3), @Core.CharLiteral.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.021 = impl_witness_table (%Core.import_ref.9c3), @Core.CharLiteral.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: Core.CharLiteral { @@ -333,7 +333,7 @@ fn F() -> u32 { // CHECK:STDOUT: %.loc7_18: type = converted %.loc7_13, %as_type [concrete = constants.%C] // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.d65 [concrete = constants.%assoc0.ca7] // CHECK:STDOUT: %impl.elem0.loc7_18.1: Core.CharLiteral = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%.54f] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.15e = impl_witness_access constants.%Copy.impl_witness.5d2, element0 [concrete = constants.%Core.CharLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.a16 = impl_witness_access constants.%Copy.impl_witness.f54, element0 [concrete = constants.%Core.CharLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %impl.elem0.loc7_18.1, %impl.elem0.loc7_18.2 [concrete = constants.%Core.CharLiteral.as.Copy.impl.Op.bound] // CHECK:STDOUT: %Core.CharLiteral.as.Copy.impl.Op.call: init Core.CharLiteral = call %bound_method(%impl.elem0.loc7_18.1) [concrete = constants.%.54f] // CHECK:STDOUT: return %Core.CharLiteral.as.Copy.impl.Op.call @@ -355,12 +355,12 @@ fn F() -> u32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.ff3: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.d93: %Float.as.Copy.impl.Op.type.ff3 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.873: = impl_witness imports.%Copy.impl_witness_table.4e8, @Float.as.Copy.impl(%int_64) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0d6: = impl_witness imports.%Copy.impl_witness_table.8dd, @Float.as.Copy.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.7aa: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.9c2: %Float.as.Copy.impl.Op.type.7aa = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f64.dc1, (%Copy.impl_witness.873) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.2ca: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.557: type = fn_type_with_self_type %Copy.WithSelf.Op.type.2ca, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %f64.dc1, (%Copy.impl_witness.0d6) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.aa5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.625: type = fn_type_with_self_type %Copy.WithSelf.Op.type.aa5, %Copy.facet [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.bound: = bound_method %float, %Float.as.Copy.impl.Op.9c2 [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.9c2, @Float.as.Copy.impl.Op(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float, %Float.as.Copy.impl.Op.specific_fn [concrete] @@ -375,7 +375,7 @@ fn F() -> u32 { // CHECK:STDOUT: %Main.import_ref.def: %f64.dc1 = import_ref Main//float, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: %f64.dc1 = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.e69: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.ff3) = import_ref Core//prelude/types/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.Copy.impl.%Float.as.Copy.impl.Op (constants.%Float.as.Copy.impl.Op.d93)] -// CHECK:STDOUT: %Copy.impl_witness_table.4e8 = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8dd = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: %f64.dc1 { @@ -388,7 +388,7 @@ fn F() -> u32 { // CHECK:STDOUT: %.loc7_18: type = converted %.loc7_13, %as_type [concrete = constants.%C] // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.16f [concrete = constants.%assoc0.996] // CHECK:STDOUT: %impl.elem0.loc7_18.1: %f64.dc1 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%float] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.557 = impl_witness_access constants.%Copy.impl_witness.873, element0 [concrete = constants.%Float.as.Copy.impl.Op.9c2] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.625 = impl_witness_access constants.%Copy.impl_witness.0d6, element0 [concrete = constants.%Float.as.Copy.impl.Op.9c2] // CHECK:STDOUT: %bound_method.loc7_18.1: = bound_method %impl.elem0.loc7_18.1, %impl.elem0.loc7_18.2 [concrete = constants.%Float.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc7_18.2, @Float.as.Copy.impl.Op(constants.%int_64) [concrete = constants.%Float.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_18.2: = bound_method %impl.elem0.loc7_18.1, %specific_fn [concrete = constants.%bound_method] @@ -407,10 +407,10 @@ fn F() -> u32 { // CHECK:STDOUT: %assoc0.cf2: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.433 [concrete] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 1e-1 [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.9be: = impl_witness imports.%Copy.impl_witness_table.cdf [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.FloatLiteral, (%Copy.impl_witness.9be) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.39b: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.9cc: type = fn_type_with_self_type %Copy.WithSelf.Op.type.39b, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.a5c: = impl_witness imports.%Copy.impl_witness_table.fcf [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.FloatLiteral, (%Copy.impl_witness.a5c) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.7b8: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.dd3: type = fn_type_with_self_type %Copy.WithSelf.Op.type.7b8, %Copy.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.Copy.impl.Op.type: type = fn_type @Core.FloatLiteral.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.Copy.impl.Op: %Core.FloatLiteral.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.Copy.impl.Op.bound: = bound_method %float, %Core.FloatLiteral.as.Copy.impl.Op [concrete] @@ -425,7 +425,7 @@ fn F() -> u32 { // CHECK:STDOUT: %Main.import_ref.433: Core.FloatLiteral = import_ref Main//float_literal, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: Core.FloatLiteral = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.9c3: %Core.FloatLiteral.as.Copy.impl.Op.type = import_ref Core//prelude/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.FloatLiteral.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.cdf = impl_witness_table (%Core.import_ref.9c3), @Core.FloatLiteral.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.fcf = impl_witness_table (%Core.import_ref.9c3), @Core.FloatLiteral.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: Core.FloatLiteral { @@ -438,7 +438,7 @@ fn F() -> u32 { // CHECK:STDOUT: %.loc7_18: type = converted %.loc7_13, %as_type [concrete = constants.%C] // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.da8 [concrete = constants.%assoc0.cf2] // CHECK:STDOUT: %impl.elem0.loc7_18.1: Core.FloatLiteral = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%float] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.9cc = impl_witness_access constants.%Copy.impl_witness.9be, element0 [concrete = constants.%Core.FloatLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.dd3 = impl_witness_access constants.%Copy.impl_witness.a5c, element0 [concrete = constants.%Core.FloatLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %impl.elem0.loc7_18.1, %impl.elem0.loc7_18.2 [concrete = constants.%Core.FloatLiteral.as.Copy.impl.Op.bound] // CHECK:STDOUT: %Core.FloatLiteral.as.Copy.impl.Op.call: init Core.FloatLiteral = call %bound_method(%impl.elem0.loc7_18.1) [concrete = constants.%float] // CHECK:STDOUT: return %Core.FloatLiteral.as.Copy.impl.Op.call @@ -460,12 +460,12 @@ fn F() -> u32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_8, %Int.as.Copy.impl.Op.4f6 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_8, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -480,7 +480,7 @@ fn F() -> u32 { // CHECK:STDOUT: %Main.import_ref.5b0: %i32 = import_ref Main//int, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: %i32 = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: %i32 { @@ -493,7 +493,7 @@ fn F() -> u32 { // CHECK:STDOUT: %.loc7_18: type = converted %.loc7_13, %as_type [concrete = constants.%C] // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.850 [concrete = constants.%assoc0.66c] // CHECK:STDOUT: %impl.elem0.loc7_18.1: %i32 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%int_8] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc7_18.1: = bound_method %impl.elem0.loc7_18.1, %impl.elem0.loc7_18.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc7_18.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_18.2: = bound_method %impl.elem0.loc7_18.1, %specific_fn [concrete = constants.%bound_method] @@ -512,10 +512,10 @@ fn F() -> u32 { // CHECK:STDOUT: %assoc0.fa7: %I.assoc_type = assoc_entity element0, imports.%Main.import_ref.c4c [concrete] // CHECK:STDOUT: %int_7: Core.IntLiteral = int_value 7 [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.6f1: = impl_witness imports.%Copy.impl_witness_table.5e0 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.6f1) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.c52: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.c22: type = fn_type_with_self_type %Copy.WithSelf.Op.type.c52, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0b3: = impl_witness imports.%Copy.impl_witness_table.ee5 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value Core.IntLiteral, (%Copy.impl_witness.0b3) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.85c: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.af5: type = fn_type_with_self_type %Copy.WithSelf.Op.type.85c, %Copy.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.type: type = fn_type @Core.IntLiteral.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op: %Core.IntLiteral.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.bound: = bound_method %int_7, %Core.IntLiteral.as.Copy.impl.Op [concrete] @@ -530,7 +530,7 @@ fn F() -> u32 { // CHECK:STDOUT: %Main.import_ref.c4c: Core.IntLiteral = import_ref Main//int_literal, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: Core.IntLiteral = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.9c3: %Core.IntLiteral.as.Copy.impl.Op.type = import_ref Core//prelude/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.5e0 = impl_witness_table (%Core.import_ref.9c3), @Core.IntLiteral.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ee5 = impl_witness_table (%Core.import_ref.9c3), @Core.IntLiteral.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: Core.IntLiteral { @@ -543,7 +543,7 @@ fn F() -> u32 { // CHECK:STDOUT: %.loc7_18: type = converted %.loc7_13, %as_type [concrete = constants.%C] // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.07d [concrete = constants.%assoc0.fa7] // CHECK:STDOUT: %impl.elem0.loc7_18.1: Core.IntLiteral = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%int_7] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.c22 = impl_witness_access constants.%Copy.impl_witness.6f1, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.af5 = impl_witness_access constants.%Copy.impl_witness.0b3, element0 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %impl.elem0.loc7_18.1, %impl.elem0.loc7_18.2 [concrete = constants.%Core.IntLiteral.as.Copy.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.Copy.impl.Op.call: init Core.IntLiteral = call %bound_method(%impl.elem0.loc7_18.1) [concrete = constants.%int_7] // CHECK:STDOUT: return %Core.IntLiteral.as.Copy.impl.Op.call @@ -565,12 +565,12 @@ fn F() -> u32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.0c5: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.38a: %UInt.as.Copy.impl.Op.type.0c5 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.9d9: = impl_witness imports.%Copy.impl_witness_table.fe3, @UInt.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.441: = impl_witness imports.%Copy.impl_witness_table.ae7, @UInt.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.type.2fd: type = fn_type @UInt.as.Copy.impl.Op, @UInt.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.46f: %UInt.as.Copy.impl.Op.type.2fd = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %u32, (%Copy.impl_witness.9d9) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.ec6: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.5f1: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ec6, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %u32, (%Copy.impl_witness.441) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.94a: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.4ed: type = fn_type_with_self_type %Copy.WithSelf.Op.type.94a, %Copy.facet [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.bound: = bound_method %int_8, %UInt.as.Copy.impl.Op.46f [concrete] // CHECK:STDOUT: %UInt.as.Copy.impl.Op.specific_fn: = specific_function %UInt.as.Copy.impl.Op.46f, @UInt.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_8, %UInt.as.Copy.impl.Op.specific_fn [concrete] @@ -585,7 +585,7 @@ fn F() -> u32 { // CHECK:STDOUT: %Main.import_ref.e3a: %u32 = import_ref Main//uint, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: %u32 = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.791: @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op.type (%UInt.as.Copy.impl.Op.type.0c5) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @UInt.as.Copy.impl.%UInt.as.Copy.impl.Op (constants.%UInt.as.Copy.impl.Op.38a)] -// CHECK:STDOUT: %Copy.impl_witness_table.fe3 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.ae7 = impl_witness_table (%Core.import_ref.791), @UInt.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: %u32 { @@ -598,7 +598,7 @@ fn F() -> u32 { // CHECK:STDOUT: %.loc7_18: type = converted %.loc7_13, %as_type [concrete = constants.%C] // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.1a5 [concrete = constants.%assoc0.b19] // CHECK:STDOUT: %impl.elem0.loc7_18.1: %u32 = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%int_8] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.5f1 = impl_witness_access constants.%Copy.impl_witness.9d9, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.4ed = impl_witness_access constants.%Copy.impl_witness.441, element0 [concrete = constants.%UInt.as.Copy.impl.Op.46f] // CHECK:STDOUT: %bound_method.loc7_18.1: = bound_method %impl.elem0.loc7_18.1, %impl.elem0.loc7_18.2 [concrete = constants.%UInt.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc7_18.2, @UInt.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%UInt.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_18.2: = bound_method %impl.elem0.loc7_18.1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/primitives/type_literals.carbon b/toolchain/check/testdata/primitives/type_literals.carbon index b706a8112d3c..b656c2443b85 100644 --- a/toolchain/check/testdata/primitives/type_literals.carbon +++ b/toolchain/check/testdata/primitives/type_literals.carbon @@ -301,34 +301,34 @@ var test_str: str = (); // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6b7: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%i8) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.89e: %DefaultOrUnformed.type = facet_value %i8, (%DefaultOrUnformed.impl_witness.6b7) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.cce: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%i8) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.479: %DefaultOrUnformed.type = facet_value %i8, (%DefaultOrUnformed.impl_witness.cce) [concrete] // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete] // CHECK:STDOUT: %i16: type = class_type @Int, @Int(%int_16) [concrete] // CHECK:STDOUT: %pattern_type.203: type = pattern_type %i16 [concrete] // CHECK:STDOUT: %test_i16.patt: %pattern_type.203 = ref_binding_pattern test_i16 [concrete] // CHECK:STDOUT: %test_i16.var_patt: %pattern_type.203 = var_pattern %test_i16.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.77c: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%i16) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.0f9: %DefaultOrUnformed.type = facet_value %i16, (%DefaultOrUnformed.impl_witness.77c) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.eb9: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%i16) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.495: %DefaultOrUnformed.type = facet_value %i16, (%DefaultOrUnformed.impl_witness.eb9) [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %test_i32.patt: %pattern_type.6b6 = ref_binding_pattern test_i32 [concrete] // CHECK:STDOUT: %test_i32.var_patt: %pattern_type.6b6 = var_pattern %test_i32.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.e52: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%i32) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.e5a: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.e52) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.850: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%i32) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.eb2: %DefaultOrUnformed.type = facet_value %i32, (%DefaultOrUnformed.impl_witness.850) [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.f57: type = pattern_type %i64 [concrete] // CHECK:STDOUT: %test_i64.patt: %pattern_type.f57 = ref_binding_pattern test_i64 [concrete] // CHECK:STDOUT: %test_i64.var_patt: %pattern_type.f57 = var_pattern %test_i64.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.bba: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%i64) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.b9d: %DefaultOrUnformed.type = facet_value %i64, (%DefaultOrUnformed.impl_witness.bba) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.a6b: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%i64) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.c05: %DefaultOrUnformed.type = facet_value %i64, (%DefaultOrUnformed.impl_witness.a6b) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -364,29 +364,29 @@ var test_str: str = (); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc4: %DefaultOrUnformed.type = facet_value constants.%i8, (constants.%DefaultOrUnformed.impl_witness.6b7) [concrete = constants.%DefaultOrUnformed.facet.89e] -// CHECK:STDOUT: %.loc4_16.1: %DefaultOrUnformed.type = converted constants.%i8, %DefaultOrUnformed.facet.loc4 [concrete = constants.%DefaultOrUnformed.facet.89e] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc4: %DefaultOrUnformed.type = facet_value constants.%i8, (constants.%DefaultOrUnformed.impl_witness.cce) [concrete = constants.%DefaultOrUnformed.facet.479] +// CHECK:STDOUT: %.loc4_16.1: %DefaultOrUnformed.type = converted constants.%i8, %DefaultOrUnformed.facet.loc4 [concrete = constants.%DefaultOrUnformed.facet.479] // CHECK:STDOUT: %as_type.loc4: type = facet_access_type %.loc4_16.1 [concrete = constants.%i8] // CHECK:STDOUT: %.loc4_16.2: type = converted %.loc4_16.1, %as_type.loc4 [concrete = constants.%i8] // CHECK:STDOUT: // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc4: init %i8 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.1() // CHECK:STDOUT: assign file.%test_i8.var, %T.as.DefaultOrUnformed.impl.Op.call.loc4 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc5: %DefaultOrUnformed.type = facet_value constants.%i16, (constants.%DefaultOrUnformed.impl_witness.77c) [concrete = constants.%DefaultOrUnformed.facet.0f9] -// CHECK:STDOUT: %.loc5_18.1: %DefaultOrUnformed.type = converted constants.%i16, %DefaultOrUnformed.facet.loc5 [concrete = constants.%DefaultOrUnformed.facet.0f9] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc5: %DefaultOrUnformed.type = facet_value constants.%i16, (constants.%DefaultOrUnformed.impl_witness.eb9) [concrete = constants.%DefaultOrUnformed.facet.495] +// CHECK:STDOUT: %.loc5_18.1: %DefaultOrUnformed.type = converted constants.%i16, %DefaultOrUnformed.facet.loc5 [concrete = constants.%DefaultOrUnformed.facet.495] // CHECK:STDOUT: %as_type.loc5: type = facet_access_type %.loc5_18.1 [concrete = constants.%i16] // CHECK:STDOUT: %.loc5_18.2: type = converted %.loc5_18.1, %as_type.loc5 [concrete = constants.%i16] // CHECK:STDOUT: // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc5: init %i16 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.2() // CHECK:STDOUT: assign file.%test_i16.var, %T.as.DefaultOrUnformed.impl.Op.call.loc5 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc6: %DefaultOrUnformed.type = facet_value constants.%i32, (constants.%DefaultOrUnformed.impl_witness.e52) [concrete = constants.%DefaultOrUnformed.facet.e5a] -// CHECK:STDOUT: %.loc6_18.1: %DefaultOrUnformed.type = converted constants.%i32, %DefaultOrUnformed.facet.loc6 [concrete = constants.%DefaultOrUnformed.facet.e5a] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc6: %DefaultOrUnformed.type = facet_value constants.%i32, (constants.%DefaultOrUnformed.impl_witness.850) [concrete = constants.%DefaultOrUnformed.facet.eb2] +// CHECK:STDOUT: %.loc6_18.1: %DefaultOrUnformed.type = converted constants.%i32, %DefaultOrUnformed.facet.loc6 [concrete = constants.%DefaultOrUnformed.facet.eb2] // CHECK:STDOUT: %as_type.loc6: type = facet_access_type %.loc6_18.1 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_18.2: type = converted %.loc6_18.1, %as_type.loc6 [concrete = constants.%i32] // CHECK:STDOUT: // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc6: init %i32 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.3() // CHECK:STDOUT: assign file.%test_i32.var, %T.as.DefaultOrUnformed.impl.Op.call.loc6 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%i64, (constants.%DefaultOrUnformed.impl_witness.bba) [concrete = constants.%DefaultOrUnformed.facet.b9d] -// CHECK:STDOUT: %.loc7_18.1: %DefaultOrUnformed.type = converted constants.%i64, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.b9d] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%i64, (constants.%DefaultOrUnformed.impl_witness.a6b) [concrete = constants.%DefaultOrUnformed.facet.c05] +// CHECK:STDOUT: %.loc7_18.1: %DefaultOrUnformed.type = converted constants.%i64, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.c05] // CHECK:STDOUT: %as_type.loc7: type = facet_access_type %.loc7_18.1 [concrete = constants.%i64] // CHECK:STDOUT: %.loc7_18.2: type = converted %.loc7_18.1, %as_type.loc7 [concrete = constants.%i64] // CHECK:STDOUT: @@ -407,34 +407,34 @@ var test_str: str = (); // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.197: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%u8) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.f9e: %DefaultOrUnformed.type = facet_value %u8, (%DefaultOrUnformed.impl_witness.197) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.6cd: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%u8) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.38a: %DefaultOrUnformed.type = facet_value %u8, (%DefaultOrUnformed.impl_witness.6cd) [concrete] // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete] // CHECK:STDOUT: %u16: type = class_type @UInt, @UInt(%int_16) [concrete] // CHECK:STDOUT: %pattern_type.17c: type = pattern_type %u16 [concrete] // CHECK:STDOUT: %test_u16.patt: %pattern_type.17c = ref_binding_pattern test_u16 [concrete] // CHECK:STDOUT: %test_u16.var_patt: %pattern_type.17c = var_pattern %test_u16.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.caf: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%u16) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.2f2: %DefaultOrUnformed.type = facet_value %u16, (%DefaultOrUnformed.impl_witness.caf) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.f5f: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%u16) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.ecd: %DefaultOrUnformed.type = facet_value %u16, (%DefaultOrUnformed.impl_witness.f5f) [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.668: type = pattern_type %u32 [concrete] // CHECK:STDOUT: %test_u32.patt: %pattern_type.668 = ref_binding_pattern test_u32 [concrete] // CHECK:STDOUT: %test_u32.var_patt: %pattern_type.668 = var_pattern %test_u32.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.4e1: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%u32) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.4eb: %DefaultOrUnformed.type = facet_value %u32, (%DefaultOrUnformed.impl_witness.4e1) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.217: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%u32) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.a81: %DefaultOrUnformed.type = facet_value %u32, (%DefaultOrUnformed.impl_witness.217) [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %u64: type = class_type @UInt, @UInt(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.b35: type = pattern_type %u64 [concrete] // CHECK:STDOUT: %test_u64.patt: %pattern_type.b35 = ref_binding_pattern test_u64 [concrete] // CHECK:STDOUT: %test_u64.var_patt: %pattern_type.b35 = var_pattern %test_u64.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.4ac: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%u64) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.662: %DefaultOrUnformed.type = facet_value %u64, (%DefaultOrUnformed.impl_witness.4ac) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.19e: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%u64) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.2f6: %DefaultOrUnformed.type = facet_value %u64, (%DefaultOrUnformed.impl_witness.19e) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -470,29 +470,29 @@ var test_str: str = (); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc4: %DefaultOrUnformed.type = facet_value constants.%u8, (constants.%DefaultOrUnformed.impl_witness.197) [concrete = constants.%DefaultOrUnformed.facet.f9e] -// CHECK:STDOUT: %.loc4_16.1: %DefaultOrUnformed.type = converted constants.%u8, %DefaultOrUnformed.facet.loc4 [concrete = constants.%DefaultOrUnformed.facet.f9e] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc4: %DefaultOrUnformed.type = facet_value constants.%u8, (constants.%DefaultOrUnformed.impl_witness.6cd) [concrete = constants.%DefaultOrUnformed.facet.38a] +// CHECK:STDOUT: %.loc4_16.1: %DefaultOrUnformed.type = converted constants.%u8, %DefaultOrUnformed.facet.loc4 [concrete = constants.%DefaultOrUnformed.facet.38a] // CHECK:STDOUT: %as_type.loc4: type = facet_access_type %.loc4_16.1 [concrete = constants.%u8] // CHECK:STDOUT: %.loc4_16.2: type = converted %.loc4_16.1, %as_type.loc4 [concrete = constants.%u8] // CHECK:STDOUT: // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc4: init %u8 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.1() // CHECK:STDOUT: assign file.%test_u8.var, %T.as.DefaultOrUnformed.impl.Op.call.loc4 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc5: %DefaultOrUnformed.type = facet_value constants.%u16, (constants.%DefaultOrUnformed.impl_witness.caf) [concrete = constants.%DefaultOrUnformed.facet.2f2] -// CHECK:STDOUT: %.loc5_18.1: %DefaultOrUnformed.type = converted constants.%u16, %DefaultOrUnformed.facet.loc5 [concrete = constants.%DefaultOrUnformed.facet.2f2] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc5: %DefaultOrUnformed.type = facet_value constants.%u16, (constants.%DefaultOrUnformed.impl_witness.f5f) [concrete = constants.%DefaultOrUnformed.facet.ecd] +// CHECK:STDOUT: %.loc5_18.1: %DefaultOrUnformed.type = converted constants.%u16, %DefaultOrUnformed.facet.loc5 [concrete = constants.%DefaultOrUnformed.facet.ecd] // CHECK:STDOUT: %as_type.loc5: type = facet_access_type %.loc5_18.1 [concrete = constants.%u16] // CHECK:STDOUT: %.loc5_18.2: type = converted %.loc5_18.1, %as_type.loc5 [concrete = constants.%u16] // CHECK:STDOUT: // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc5: init %u16 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.2() // CHECK:STDOUT: assign file.%test_u16.var, %T.as.DefaultOrUnformed.impl.Op.call.loc5 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc6: %DefaultOrUnformed.type = facet_value constants.%u32, (constants.%DefaultOrUnformed.impl_witness.4e1) [concrete = constants.%DefaultOrUnformed.facet.4eb] -// CHECK:STDOUT: %.loc6_18.1: %DefaultOrUnformed.type = converted constants.%u32, %DefaultOrUnformed.facet.loc6 [concrete = constants.%DefaultOrUnformed.facet.4eb] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc6: %DefaultOrUnformed.type = facet_value constants.%u32, (constants.%DefaultOrUnformed.impl_witness.217) [concrete = constants.%DefaultOrUnformed.facet.a81] +// CHECK:STDOUT: %.loc6_18.1: %DefaultOrUnformed.type = converted constants.%u32, %DefaultOrUnformed.facet.loc6 [concrete = constants.%DefaultOrUnformed.facet.a81] // CHECK:STDOUT: %as_type.loc6: type = facet_access_type %.loc6_18.1 [concrete = constants.%u32] // CHECK:STDOUT: %.loc6_18.2: type = converted %.loc6_18.1, %as_type.loc6 [concrete = constants.%u32] // CHECK:STDOUT: // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc6: init %u32 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.3() // CHECK:STDOUT: assign file.%test_u32.var, %T.as.DefaultOrUnformed.impl.Op.call.loc6 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%u64, (constants.%DefaultOrUnformed.impl_witness.4ac) [concrete = constants.%DefaultOrUnformed.facet.662] -// CHECK:STDOUT: %.loc7_18.1: %DefaultOrUnformed.type = converted constants.%u64, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.662] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%u64, (constants.%DefaultOrUnformed.impl_witness.19e) [concrete = constants.%DefaultOrUnformed.facet.2f6] +// CHECK:STDOUT: %.loc7_18.1: %DefaultOrUnformed.type = converted constants.%u64, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.2f6] // CHECK:STDOUT: %as_type.loc7: type = facet_access_type %.loc7_18.1 [concrete = constants.%u64] // CHECK:STDOUT: %.loc7_18.2: type = converted %.loc7_18.1, %as_type.loc7 [concrete = constants.%u64] // CHECK:STDOUT: @@ -513,34 +513,34 @@ var test_str: str = (); // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.fae: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%f16.907) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.dec: %DefaultOrUnformed.type = facet_value %f16.907, (%DefaultOrUnformed.impl_witness.fae) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.4bf: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%f16.907) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.121: %DefaultOrUnformed.type = facet_value %f16.907, (%DefaultOrUnformed.impl_witness.4bf) [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %f32.c73: type = class_type @Float, @Float(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.240: type = pattern_type %f32.c73 [concrete] // CHECK:STDOUT: %test_f32.patt: %pattern_type.240 = ref_binding_pattern test_f32 [concrete] // CHECK:STDOUT: %test_f32.var_patt: %pattern_type.240 = var_pattern %test_f32.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.be8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%f32.c73) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.92c: %DefaultOrUnformed.type = facet_value %f32.c73, (%DefaultOrUnformed.impl_witness.be8) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.5f2: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%f32.c73) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.2a2: %DefaultOrUnformed.type = facet_value %f32.c73, (%DefaultOrUnformed.impl_witness.5f2) [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %f64.dc1: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %pattern_type.fb7: type = pattern_type %f64.dc1 [concrete] // CHECK:STDOUT: %test_f64.patt: %pattern_type.fb7 = ref_binding_pattern test_f64 [concrete] // CHECK:STDOUT: %test_f64.var_patt: %pattern_type.fb7 = var_pattern %test_f64.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.994: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%f64.dc1) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.a01: %DefaultOrUnformed.type = facet_value %f64.dc1, (%DefaultOrUnformed.impl_witness.994) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.70d: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%f64.dc1) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.806: %DefaultOrUnformed.type = facet_value %f64.dc1, (%DefaultOrUnformed.impl_witness.70d) [concrete] // CHECK:STDOUT: %int_128: Core.IntLiteral = int_value 128 [concrete] // CHECK:STDOUT: %f128.e39: type = class_type @Float, @Float(%int_128) [concrete] // CHECK:STDOUT: %pattern_type.847: type = pattern_type %f128.e39 [concrete] // CHECK:STDOUT: %test_f128.patt: %pattern_type.847 = ref_binding_pattern test_f128 [concrete] // CHECK:STDOUT: %test_f128.var_patt: %pattern_type.847 = var_pattern %test_f128.patt [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.44c: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%f128.e39) [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet.566: %DefaultOrUnformed.type = facet_value %f128.e39, (%DefaultOrUnformed.impl_witness.44c) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.0bf: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%f128.e39) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet.624: %DefaultOrUnformed.type = facet_value %f128.e39, (%DefaultOrUnformed.impl_witness.0bf) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -576,29 +576,29 @@ var test_str: str = (); // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc4: %DefaultOrUnformed.type = facet_value constants.%f16.907, (constants.%DefaultOrUnformed.impl_witness.fae) [concrete = constants.%DefaultOrUnformed.facet.dec] -// CHECK:STDOUT: %.loc4_18.1: %DefaultOrUnformed.type = converted constants.%f16.907, %DefaultOrUnformed.facet.loc4 [concrete = constants.%DefaultOrUnformed.facet.dec] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc4: %DefaultOrUnformed.type = facet_value constants.%f16.907, (constants.%DefaultOrUnformed.impl_witness.4bf) [concrete = constants.%DefaultOrUnformed.facet.121] +// CHECK:STDOUT: %.loc4_18.1: %DefaultOrUnformed.type = converted constants.%f16.907, %DefaultOrUnformed.facet.loc4 [concrete = constants.%DefaultOrUnformed.facet.121] // CHECK:STDOUT: %as_type.loc4: type = facet_access_type %.loc4_18.1 [concrete = constants.%f16.907] // CHECK:STDOUT: %.loc4_18.2: type = converted %.loc4_18.1, %as_type.loc4 [concrete = constants.%f16.907] // CHECK:STDOUT: // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc4: init %f16.907 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.1() // CHECK:STDOUT: assign file.%test_f16.var, %T.as.DefaultOrUnformed.impl.Op.call.loc4 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc5: %DefaultOrUnformed.type = facet_value constants.%f32.c73, (constants.%DefaultOrUnformed.impl_witness.be8) [concrete = constants.%DefaultOrUnformed.facet.92c] -// CHECK:STDOUT: %.loc5_18.1: %DefaultOrUnformed.type = converted constants.%f32.c73, %DefaultOrUnformed.facet.loc5 [concrete = constants.%DefaultOrUnformed.facet.92c] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc5: %DefaultOrUnformed.type = facet_value constants.%f32.c73, (constants.%DefaultOrUnformed.impl_witness.5f2) [concrete = constants.%DefaultOrUnformed.facet.2a2] +// CHECK:STDOUT: %.loc5_18.1: %DefaultOrUnformed.type = converted constants.%f32.c73, %DefaultOrUnformed.facet.loc5 [concrete = constants.%DefaultOrUnformed.facet.2a2] // CHECK:STDOUT: %as_type.loc5: type = facet_access_type %.loc5_18.1 [concrete = constants.%f32.c73] // CHECK:STDOUT: %.loc5_18.2: type = converted %.loc5_18.1, %as_type.loc5 [concrete = constants.%f32.c73] // CHECK:STDOUT: // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc5: init %f32.c73 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.2() // CHECK:STDOUT: assign file.%test_f32.var, %T.as.DefaultOrUnformed.impl.Op.call.loc5 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc6: %DefaultOrUnformed.type = facet_value constants.%f64.dc1, (constants.%DefaultOrUnformed.impl_witness.994) [concrete = constants.%DefaultOrUnformed.facet.a01] -// CHECK:STDOUT: %.loc6_18.1: %DefaultOrUnformed.type = converted constants.%f64.dc1, %DefaultOrUnformed.facet.loc6 [concrete = constants.%DefaultOrUnformed.facet.a01] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc6: %DefaultOrUnformed.type = facet_value constants.%f64.dc1, (constants.%DefaultOrUnformed.impl_witness.70d) [concrete = constants.%DefaultOrUnformed.facet.806] +// CHECK:STDOUT: %.loc6_18.1: %DefaultOrUnformed.type = converted constants.%f64.dc1, %DefaultOrUnformed.facet.loc6 [concrete = constants.%DefaultOrUnformed.facet.806] // CHECK:STDOUT: %as_type.loc6: type = facet_access_type %.loc6_18.1 [concrete = constants.%f64.dc1] // CHECK:STDOUT: %.loc6_18.2: type = converted %.loc6_18.1, %as_type.loc6 [concrete = constants.%f64.dc1] // CHECK:STDOUT: // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.call.loc6: init %f64.dc1 = call %T.as.DefaultOrUnformed.impl.Op.specific_fn.3() // CHECK:STDOUT: assign file.%test_f64.var, %T.as.DefaultOrUnformed.impl.Op.call.loc6 -// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%f128.e39, (constants.%DefaultOrUnformed.impl_witness.44c) [concrete = constants.%DefaultOrUnformed.facet.566] -// CHECK:STDOUT: %.loc7_20.1: %DefaultOrUnformed.type = converted constants.%f128.e39, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.566] +// CHECK:STDOUT: %DefaultOrUnformed.facet.loc7: %DefaultOrUnformed.type = facet_value constants.%f128.e39, (constants.%DefaultOrUnformed.impl_witness.0bf) [concrete = constants.%DefaultOrUnformed.facet.624] +// CHECK:STDOUT: %.loc7_20.1: %DefaultOrUnformed.type = converted constants.%f128.e39, %DefaultOrUnformed.facet.loc7 [concrete = constants.%DefaultOrUnformed.facet.624] // CHECK:STDOUT: %as_type.loc7: type = facet_access_type %.loc7_20.1 [concrete = constants.%f128.e39] // CHECK:STDOUT: %.loc7_20.2: type = converted %.loc7_20.1, %as_type.loc7 [concrete = constants.%f128.e39] // CHECK:STDOUT: @@ -617,8 +617,8 @@ var test_str: str = (); // CHECK:STDOUT: %ImplicitAs.type.e81: type = facet_type <@ImplicitAs, @ImplicitAs(%char)> [concrete] // CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness imports.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.e81 = facet_value Core.CharLiteral, (%ImplicitAs.impl_witness) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.0c6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%char, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1e6: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.0c6, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.a04: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%char, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.601: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.a04, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.type: type = fn_type @Core.CharLiteral.as.ImplicitAs.impl.Convert [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert: %Core.CharLiteral.as.ImplicitAs.impl.Convert.type = struct_value () [concrete] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %.b9b, %Core.CharLiteral.as.ImplicitAs.impl.Convert [concrete] @@ -631,7 +631,7 @@ var test_str: str = (); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { -// CHECK:STDOUT: %impl.elem0: %.1e6 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] +// CHECK:STDOUT: %impl.elem0: %.601 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method: = bound_method @__global_init.%.loc5, %impl.elem0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.call: init %char = call %bound_method(@__global_init.%.loc5) [concrete = constants.%int_99] // CHECK:STDOUT: %.loc5_23.1: %char = value_of_initializer %Core.CharLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_99] @@ -690,10 +690,10 @@ var test_str: str = (); // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.638: = impl_witness imports.%Copy.impl_witness_table.4d6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.638) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8b3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.524: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8b3, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %i32, %type.as.Copy.impl.Op [concrete] @@ -701,7 +701,7 @@ var test_str: str = (); // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.4d6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -717,7 +717,7 @@ var test_str: str = (); // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0: %.524 = impl_witness_access constants.%Copy.impl_witness.638, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %i32, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%i32) [concrete = constants.%i32] // CHECK:STDOUT: assign file.%test_type.var, %type.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/return/code_after_return_value.carbon b/toolchain/check/testdata/return/code_after_return_value.carbon index 2595a7285ab1..604f3144f0fe 100644 --- a/toolchain/check/testdata/return/code_after_return_value.carbon +++ b/toolchain/check/testdata/return/code_after_return_value.carbon @@ -47,12 +47,12 @@ fn F(unused b: bool) -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -73,7 +73,7 @@ fn F(unused b: bool) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -102,7 +102,7 @@ fn F(unused b: bool) -> i32 { // CHECK:STDOUT: fn @F(%b.param: bool) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_11.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_11.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.6e0] diff --git a/toolchain/check/testdata/return/fail_call_in_type.carbon b/toolchain/check/testdata/return/fail_call_in_type.carbon index 71a3a4ffec6d..2d94751094ac 100644 --- a/toolchain/check/testdata/return/fail_call_in_type.carbon +++ b/toolchain/check/testdata/return/fail_call_in_type.carbon @@ -35,10 +35,10 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.638: = impl_witness imports.%Copy.impl_witness_table.4d6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.638) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8b3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.524: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8b3, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %i32, %type.as.Copy.impl.Op [concrete] @@ -57,7 +57,7 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.4d6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -90,7 +90,7 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: fn @ReturnType() -> out %return.param: type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0: %.524 = impl_witness_access constants.%Copy.impl_witness.638, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %i32, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%i32) [concrete = constants.%i32] // CHECK:STDOUT: return %type.as.Copy.impl.Op.call 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 db4c3665fad7..23cf76dcd069 100644 --- a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon @@ -61,12 +61,12 @@ fn G() -> C { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -110,7 +110,7 @@ fn G() -> C { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -159,7 +159,7 @@ fn G() -> C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %v.var: ref %i32 = var_storage %v.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_12.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_12.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.6e0] @@ -190,7 +190,7 @@ fn G() -> C { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc29_38.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0.loc29_38.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc29_38.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc29_38.1: = bound_method %int_1, %impl.elem0.loc29_38.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc29_38.1: = specific_function %impl.elem0.loc29_38.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc29_38.2: = bound_method %int_1, %specific_fn.loc29_38.1 [concrete = constants.%bound_method.953] @@ -198,7 +198,7 @@ fn G() -> C { // CHECK:STDOUT: %.loc29_38.2: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc29_38.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc29_38.3: ref %i32 = class_element_access %return.param, element0 // CHECK:STDOUT: %.loc29_38.4: init %i32 to %.loc29_38.3 = in_place_init %.loc29_38.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc29_38.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc29_38.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc29_38.3: = bound_method %int_2, %impl.elem0.loc29_38.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc29_38.2: = specific_function %impl.elem0.loc29_38.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc29_38.4: = bound_method %int_2, %specific_fn.loc29_38.2 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon index 243cda6f5fc9..aaa18a5aa97e 100644 --- a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon @@ -69,12 +69,12 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -105,7 +105,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -144,7 +144,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: !if.then: // CHECK:STDOUT: %v.var: ref %i32 = var_storage %v.var_patt // CHECK:STDOUT: %int_0.loc17: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc17: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc17: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_14.1: = bound_method %int_0.loc17, %impl.elem0.loc17 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_14.2: = bound_method %int_0.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.6e0] @@ -159,7 +159,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %w.var: ref %i32 = var_storage %w.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc25: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc25: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc25_14.1: = bound_method %int_1, %impl.elem0.loc25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc25_14.2: = bound_method %int_1, %specific_fn.loc25 [concrete = constants.%bound_method.953] @@ -180,7 +180,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.else: // CHECK:STDOUT: %int_0.loc27: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc27: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc27: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc27_11.1: = bound_method %int_0.loc27, %impl.elem0.loc27 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc27: = specific_function %impl.elem0.loc27, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc27_11.2: = bound_method %int_0.loc27, %specific_fn.loc27 [concrete = constants.%bound_method.6e0] @@ -204,7 +204,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: !if.then.loc31: // CHECK:STDOUT: %v.var: ref %i32 = var_storage %v.var_patt // CHECK:STDOUT: %int_0.loc32: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc32: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc32: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc32_14.1: = bound_method %int_0.loc32, %impl.elem0.loc32 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc32: = specific_function %impl.elem0.loc32, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc32_14.2: = bound_method %int_0.loc32, %specific_fn.loc32 [concrete = constants.%bound_method.6e0] @@ -223,7 +223,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: !if.then.loc33: // CHECK:STDOUT: %w.var: ref %i32 = var_storage %w.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc41: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc41: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc41_16.1: = bound_method %int_1, %impl.elem0.loc41 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc41: = specific_function %impl.elem0.loc41, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc41_16.2: = bound_method %int_1, %specific_fn.loc41 [concrete = constants.%bound_method.953] @@ -247,7 +247,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.else.loc31: // CHECK:STDOUT: %int_0.loc44: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc44: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc44: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc44_11.1: = bound_method %int_0.loc44, %impl.elem0.loc44 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc44: = specific_function %impl.elem0.loc44, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc44_11.2: = bound_method %int_0.loc44, %specific_fn.loc44 [concrete = constants.%bound_method.6e0] diff --git a/toolchain/check/testdata/return/fail_returned_var_type.carbon b/toolchain/check/testdata/return/fail_returned_var_type.carbon index 008438ffa0fb..17d0f6ec241d 100644 --- a/toolchain/check/testdata/return/fail_returned_var_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_type.carbon @@ -53,12 +53,12 @@ fn Mismatch() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -106,7 +106,7 @@ fn Mismatch() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %v.var: ref %f64.dc1 = var_storage %v.var_patt // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 0e-1 [concrete = constants.%float.1f7] -// CHECK:STDOUT: %impl.elem0: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc23_12.1: = bound_method %float, %impl.elem0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_12.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/return/fail_var_in_type.carbon b/toolchain/check/testdata/return/fail_var_in_type.carbon index b2549cc28dbe..1beb9e73ef9d 100644 --- a/toolchain/check/testdata/return/fail_var_in_type.carbon +++ b/toolchain/check/testdata/return/fail_var_in_type.carbon @@ -30,10 +30,10 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.638: = impl_witness imports.%Copy.impl_witness_table.4d6 [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.638) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.8b3: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.524: type = fn_type_with_self_type %Copy.WithSelf.Op.type.8b3, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.impl_witness.c99: = impl_witness imports.%Copy.impl_witness_table.7b6 [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.c99) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.ac1: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.224: type = fn_type_with_self_type %Copy.WithSelf.Op.type.ac1, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op: %type.as.Copy.impl.Op.type = struct_value () [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.bound: = bound_method %i32, %type.as.Copy.impl.Op [concrete] @@ -52,7 +52,7 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.9c3: %type.as.Copy.impl.Op.type = import_ref Core//prelude/parts/copy, loc{{\d+_\d+}}, loaded [concrete = constants.%type.as.Copy.impl.Op] -// CHECK:STDOUT: %Copy.impl_witness_table.4d6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.7b6 = impl_witness_table (%Core.import_ref.9c3), @type.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -87,7 +87,7 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0: %.524 = impl_witness_access constants.%Copy.impl_witness.638, element0 [concrete = constants.%type.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.224 = impl_witness_access constants.%Copy.impl_witness.c99, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %i32, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%i32) [concrete = constants.%i32] // CHECK:STDOUT: assign file.%x.var, %type.as.Copy.impl.Op.call diff --git a/toolchain/check/testdata/return/import_convert_function.carbon b/toolchain/check/testdata/return/import_convert_function.carbon index e462d9c193b0..40585febd522 100644 --- a/toolchain/check/testdata/return/import_convert_function.carbon +++ b/toolchain/check/testdata/return/import_convert_function.carbon @@ -84,12 +84,12 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -98,7 +98,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %C.771: type = class_type @C, @C(%int_0.3c0) [concrete] // CHECK:STDOUT: %ImplicitAs.type.24d: type = facet_type <@ImplicitAs, @ImplicitAs(%D)> [concrete] // CHECK:STDOUT: %.8ed: = impl_self_witness %C.771, @ImplicitAs, @ImplicitAs(%D) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.4c1: = impl_witness @C.as.ImplicitAs.impl.0e1.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.3c3: = impl_witness @C.as.ImplicitAs.impl.0e1.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.84d: type = pattern_type %C.771 [concrete] // CHECK:STDOUT: %self.param_patt.98b: %pattern_type.84d = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.975: %pattern_type.84d = at_binding_pattern self, %self.param_patt.98b [concrete] @@ -110,7 +110,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %int_1.0c6: %i32 = int_value 1 [concrete] // CHECK:STDOUT: %C.83b: type = class_type @C, @C(%int_1.0c6) [concrete] // CHECK:STDOUT: %.525: = impl_self_witness %C.83b, @ImplicitAs, @ImplicitAs(%D) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c46: = impl_witness @C.as.ImplicitAs.impl.f6a.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.7b6: = impl_witness @C.as.ImplicitAs.impl.f6a.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.91a: type = pattern_type %C.83b [concrete] // CHECK:STDOUT: %self.param_patt.327: %pattern_type.91a = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.533: %pattern_type.91a = at_binding_pattern self, %self.param_patt.327 [concrete] @@ -122,7 +122,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %int_2.295: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %C.5ce: type = class_type @C, @C(%int_2.295) [concrete] // CHECK:STDOUT: %.dea: = impl_self_witness %C.5ce, @ImplicitAs, @ImplicitAs(%D) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.430: = impl_witness @C.as.ImplicitAs.impl.aab.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.b56: = impl_witness @C.as.ImplicitAs.impl.aab.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.7dd: type = pattern_type %C.5ce [concrete] // CHECK:STDOUT: %self.param_patt.e14: %pattern_type.7dd = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.426: %pattern_type.7dd = at_binding_pattern self, %self.param_patt.e14 [concrete] @@ -134,7 +134,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %int_3.410: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %C.b3e: type = class_type @C, @C(%int_3.410) [concrete] // CHECK:STDOUT: %.870: = impl_self_witness %C.b3e, @ImplicitAs, @ImplicitAs(%D) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.b6d: = impl_witness @C.as.ImplicitAs.impl.203.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.376: = impl_witness @C.as.ImplicitAs.impl.203.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.26a: type = pattern_type %C.b3e [concrete] // CHECK:STDOUT: %self.param_patt.0fc: %pattern_type.26a = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.450: %pattern_type.26a = at_binding_pattern self, %self.param_patt.0fc [concrete] @@ -146,7 +146,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %int_4.4eb: %i32 = int_value 4 [concrete] // CHECK:STDOUT: %C.8ee: type = class_type @C, @C(%int_4.4eb) [concrete] // CHECK:STDOUT: %.58e: = impl_self_witness %C.8ee, @ImplicitAs, @ImplicitAs(%D) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c85: = impl_witness @C.as.ImplicitAs.impl.371.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.2ed: = impl_witness @C.as.ImplicitAs.impl.371.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.387: type = pattern_type %C.8ee [concrete] // CHECK:STDOUT: %self.param_patt.826: %pattern_type.387 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.401: %pattern_type.387 = at_binding_pattern self, %self.param_patt.826 [concrete] @@ -158,7 +158,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %int_5.eef: %i32 = int_value 5 [concrete] // CHECK:STDOUT: %C.5c1: type = class_type @C, @C(%int_5.eef) [concrete] // CHECK:STDOUT: %.ad5: = impl_self_witness %C.5c1, @ImplicitAs, @ImplicitAs(%D) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.1af: = impl_witness @C.as.ImplicitAs.impl.c73.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.ee2: = impl_witness @C.as.ImplicitAs.impl.c73.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.05e: type = pattern_type %C.5c1 [concrete] // CHECK:STDOUT: %self.param_patt.f7b: %pattern_type.05e = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.283: %pattern_type.05e = at_binding_pattern self, %self.param_patt.f7b [concrete] @@ -170,7 +170,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %int_6.439: %i32 = int_value 6 [concrete] // CHECK:STDOUT: %C.57b: type = class_type @C, @C(%int_6.439) [concrete] // CHECK:STDOUT: %.caf: = impl_self_witness %C.57b, @ImplicitAs, @ImplicitAs(%D) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.c9c: = impl_witness @C.as.ImplicitAs.impl.2f3.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.731: = impl_witness @C.as.ImplicitAs.impl.2f3.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.4b0: type = pattern_type %C.57b [concrete] // CHECK:STDOUT: %self.param_patt.e33: %pattern_type.4b0 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.7b4: %pattern_type.4b0 = at_binding_pattern self, %self.param_patt.e33 [concrete] @@ -182,7 +182,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %int_7.690: %i32 = int_value 7 [concrete] // CHECK:STDOUT: %C.b0a: type = class_type @C, @C(%int_7.690) [concrete] // CHECK:STDOUT: %.468: = impl_self_witness %C.b0a, @ImplicitAs, @ImplicitAs(%D) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.642: = impl_witness @C.as.ImplicitAs.impl.28a.%ImplicitAs.impl_witness_table [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.695: = impl_witness @C.as.ImplicitAs.impl.28a.%ImplicitAs.impl_witness_table [concrete] // CHECK:STDOUT: %pattern_type.bc2: type = pattern_type %C.b0a [concrete] // CHECK:STDOUT: %self.param_patt.21a: %pattern_type.bc2 = value_param_pattern [concrete] // CHECK:STDOUT: %self.patt.94c: %pattern_type.bc2 = at_binding_pattern self, %self.param_patt.21a [concrete] @@ -200,7 +200,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -233,7 +233,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: impl_decl @C.as.ImplicitAs.impl.0e1 [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: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_9.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_9.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.6e0] @@ -250,7 +250,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: impl_decl @C.as.ImplicitAs.impl.f6a [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: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_9.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_9.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method.953] @@ -267,7 +267,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: impl_decl @C.as.ImplicitAs.impl.aab [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: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_9.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_9.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method.3cb] @@ -284,7 +284,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: impl_decl @C.as.ImplicitAs.impl.203 [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: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_9.1: = bound_method %int_3, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_9.2: = bound_method %int_3, %specific_fn [concrete = constants.%bound_method.763] @@ -301,7 +301,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: impl_decl @C.as.ImplicitAs.impl.371 [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: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_9.1: = bound_method %int_4, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_9.2: = bound_method %int_4, %specific_fn [concrete = constants.%bound_method.b7a] @@ -318,7 +318,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: impl_decl @C.as.ImplicitAs.impl.c73 [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: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_9.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_9.2: = bound_method %int_5, %specific_fn [concrete = constants.%bound_method.c9d] @@ -335,7 +335,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: impl_decl @C.as.ImplicitAs.impl.2f3 [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: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_9.1: = bound_method %int_6, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.13d] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_9.2: = bound_method %int_6, %specific_fn [concrete = constants.%bound_method.be9] @@ -352,7 +352,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: impl_decl @C.as.ImplicitAs.impl.28a [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: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_9.1: = bound_method %int_7, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.66b] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_9.2: = bound_method %int_7, %specific_fn [concrete = constants.%bound_method.7ff] @@ -384,7 +384,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%C.as.ImplicitAs.impl.Convert.decl), @C.as.ImplicitAs.impl.0e1 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.4c1] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.3c3] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .D = @@ -410,7 +410,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%C.as.ImplicitAs.impl.Convert.decl), @C.as.ImplicitAs.impl.f6a [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.c46] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.7b6] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .D = @@ -436,7 +436,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%C.as.ImplicitAs.impl.Convert.decl), @C.as.ImplicitAs.impl.aab [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.430] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.b56] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .D = @@ -462,7 +462,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%C.as.ImplicitAs.impl.Convert.decl), @C.as.ImplicitAs.impl.203 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.b6d] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.376] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .D = @@ -488,7 +488,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%C.as.ImplicitAs.impl.Convert.decl), @C.as.ImplicitAs.impl.371 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.c85] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.2ed] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .D = @@ -514,7 +514,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%C.as.ImplicitAs.impl.Convert.decl), @C.as.ImplicitAs.impl.c73 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.1af] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.ee2] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .D = @@ -540,7 +540,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%C.as.ImplicitAs.impl.Convert.decl), @C.as.ImplicitAs.impl.2f3 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.c9c] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.731] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .D = @@ -566,7 +566,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.impl_witness_table = impl_witness_table (%C.as.ImplicitAs.impl.Convert.decl), @C.as.ImplicitAs.impl.28a [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.642] +// CHECK:STDOUT: %ImplicitAs.impl_witness: = impl_witness %ImplicitAs.impl_witness_table [concrete = constants.%ImplicitAs.impl_witness.695] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .D = @@ -608,7 +608,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %int_0.loc6_31: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %int_0.loc6_39: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc6_40.1: %struct_type.n.m.819 = struct_literal (%int_0.loc6_31, %int_0.loc6_39) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0.loc6_40.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6_40.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_40.1: = bound_method %int_0.loc6_31, %impl.elem0.loc6_40.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc6_40.1: = specific_function %impl.elem0.loc6_40.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_40.2: = bound_method %int_0.loc6_31, %specific_fn.loc6_40.1 [concrete = constants.%bound_method.6e0] @@ -616,7 +616,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %.loc6_40.2: init %i32 = converted %int_0.loc6_31, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc6_40.1 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc6_40.3: ref %i32 = class_element_access %return.param, element0 // CHECK:STDOUT: %.loc6_40.4: init %i32 to %.loc6_40.3 = in_place_init %.loc6_40.2 [concrete = constants.%int_0.3c0] -// CHECK:STDOUT: %impl.elem0.loc6_40.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc6_40.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc6_40.3: = bound_method %int_0.loc6_39, %impl.elem0.loc6_40.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc6_40.2: = specific_function %impl.elem0.loc6_40.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_40.4: = bound_method %int_0.loc6_39, %specific_fn.loc6_40.2 [concrete = constants.%bound_method.6e0] @@ -789,12 +789,12 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -816,10 +816,10 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %C.57b: type = class_type @C, @C(%int_6.439) [concrete] // CHECK:STDOUT: %int_7.690: %i32 = int_value 7 [concrete] // CHECK:STDOUT: %C.b0a: type = class_type @C, @C(%int_7.690) [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.39f: = impl_witness imports.%ImplicitAs.impl_witness_table.f81 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.93a: %ImplicitAs.type.24d = facet_value %C.771, (%ImplicitAs.impl_witness.39f) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.c58: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.93a) [concrete] -// CHECK:STDOUT: %.f28: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.c58, %ImplicitAs.facet.93a [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.056: = impl_witness imports.%ImplicitAs.impl_witness_table.d8b [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.45c: %ImplicitAs.type.24d = facet_value %C.771, (%ImplicitAs.impl_witness.056) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.96f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.45c) [concrete] +// CHECK:STDOUT: %.908: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.96f, %ImplicitAs.facet.45c [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.1: type = fn_type @C.as.ImplicitAs.impl.Convert.1 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.3cefb0.1: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.1 = struct_value () [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.bound.d30: = bound_method %C.val.d9b, %C.as.ImplicitAs.impl.Convert.3cefb0.1 [concrete] @@ -832,10 +832,10 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %C.val.399: %C.83b = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.d9f: = impl_witness imports.%ImplicitAs.impl_witness_table.032 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.da3: %ImplicitAs.type.24d = facet_value %C.83b, (%ImplicitAs.impl_witness.d9f) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.0dc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.da3) [concrete] -// CHECK:STDOUT: %.a7f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.0dc, %ImplicitAs.facet.da3 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.09f: = impl_witness imports.%ImplicitAs.impl_witness_table.541 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.374: %ImplicitAs.type.24d = facet_value %C.83b, (%ImplicitAs.impl_witness.09f) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.d3e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.374) [concrete] +// CHECK:STDOUT: %.f99: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.d3e, %ImplicitAs.facet.374 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.2: type = fn_type @C.as.ImplicitAs.impl.Convert.2 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.3cefb0.2: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.2 = struct_value () [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.bound.b85: = bound_method %C.val.399, %C.as.ImplicitAs.impl.Convert.3cefb0.2 [concrete] @@ -847,10 +847,10 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.3cb: = bound_method %int_2.ecc, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %C.val.040: %C.5ce = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.409: = impl_witness imports.%ImplicitAs.impl_witness_table.93f [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.bb4: %ImplicitAs.type.24d = facet_value %C.5ce, (%ImplicitAs.impl_witness.409) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2a1: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.bb4) [concrete] -// CHECK:STDOUT: %.8f7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2a1, %ImplicitAs.facet.bb4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.c5d: = impl_witness imports.%ImplicitAs.impl_witness_table.658 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.e02: %ImplicitAs.type.24d = facet_value %C.5ce, (%ImplicitAs.impl_witness.c5d) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.5da: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.e02) [concrete] +// CHECK:STDOUT: %.e16: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.5da, %ImplicitAs.facet.e02 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.3: type = fn_type @C.as.ImplicitAs.impl.Convert.3 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.3cefb0.3: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.3 = struct_value () [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.bound.468: = bound_method %C.val.040, %C.as.ImplicitAs.impl.Convert.3cefb0.3 [concrete] @@ -862,10 +862,10 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.763: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %C.val.cf1: %C.b3e = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.69a: = impl_witness imports.%ImplicitAs.impl_witness_table.62c [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.7a4: %ImplicitAs.type.24d = facet_value %C.b3e, (%ImplicitAs.impl_witness.69a) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dfc: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.7a4) [concrete] -// CHECK:STDOUT: %.8eb: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dfc, %ImplicitAs.facet.7a4 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.292: = impl_witness imports.%ImplicitAs.impl_witness_table.e90 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.3c2: %ImplicitAs.type.24d = facet_value %C.b3e, (%ImplicitAs.impl_witness.292) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.ffe: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.3c2) [concrete] +// CHECK:STDOUT: %.7ab: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.ffe, %ImplicitAs.facet.3c2 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.4: type = fn_type @C.as.ImplicitAs.impl.Convert.4 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.3cefb0.4: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.4 = struct_value () [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.bound.891: = bound_method %C.val.cf1, %C.as.ImplicitAs.impl.Convert.3cefb0.4 [concrete] @@ -877,10 +877,10 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.b7a: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %C.val.19e: %C.8ee = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.af6: = impl_witness imports.%ImplicitAs.impl_witness_table.3ac [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.007: %ImplicitAs.type.24d = facet_value %C.8ee, (%ImplicitAs.impl_witness.af6) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.7d2: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.007) [concrete] -// CHECK:STDOUT: %.9db: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.7d2, %ImplicitAs.facet.007 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.bf9: = impl_witness imports.%ImplicitAs.impl_witness_table.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.b70: %ImplicitAs.type.24d = facet_value %C.8ee, (%ImplicitAs.impl_witness.bf9) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.210: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.b70) [concrete] +// CHECK:STDOUT: %.c3a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.210, %ImplicitAs.facet.b70 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.5: type = fn_type @C.as.ImplicitAs.impl.Convert.5 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.3cefb0.5: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.5 = struct_value () [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.bound.65e: = bound_method %C.val.19e, %C.as.ImplicitAs.impl.Convert.3cefb0.5 [concrete] @@ -892,10 +892,10 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.c9d: = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %C.val.6ca: %C.5c1 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.b0e: = impl_witness imports.%ImplicitAs.impl_witness_table.a96 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.930: %ImplicitAs.type.24d = facet_value %C.5c1, (%ImplicitAs.impl_witness.b0e) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.950: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.930) [concrete] -// CHECK:STDOUT: %.cf1: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.950, %ImplicitAs.facet.930 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.8a0: = impl_witness imports.%ImplicitAs.impl_witness_table.542 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.1ea: %ImplicitAs.type.24d = facet_value %C.5c1, (%ImplicitAs.impl_witness.8a0) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.42f: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.1ea) [concrete] +// CHECK:STDOUT: %.9d4: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.42f, %ImplicitAs.facet.1ea [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.6: type = fn_type @C.as.ImplicitAs.impl.Convert.6 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.3cefb0.6: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.6 = struct_value () [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.bound.c06: = bound_method %C.val.6ca, %C.as.ImplicitAs.impl.Convert.3cefb0.6 [concrete] @@ -907,10 +907,10 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.13d: = bound_method %int_6.462, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.be9: = bound_method %int_6.462, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %C.val.225: %C.57b = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.4cc: = impl_witness imports.%ImplicitAs.impl_witness_table.91e [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9e1: %ImplicitAs.type.24d = facet_value %C.57b, (%ImplicitAs.impl_witness.4cc) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.c1e: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.9e1) [concrete] -// CHECK:STDOUT: %.68f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.c1e, %ImplicitAs.facet.9e1 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d60: = impl_witness imports.%ImplicitAs.impl_witness_table.c37 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.306: %ImplicitAs.type.24d = facet_value %C.57b, (%ImplicitAs.impl_witness.d60) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.b79: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.306) [concrete] +// CHECK:STDOUT: %.2f9: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.b79, %ImplicitAs.facet.306 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.7: type = fn_type @C.as.ImplicitAs.impl.Convert.7 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.3cefb0.7: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.7 = struct_value () [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.bound.edd: = bound_method %C.val.225, %C.as.ImplicitAs.impl.Convert.3cefb0.7 [concrete] @@ -922,10 +922,10 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.66b: = bound_method %int_7.29f, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %bound_method.7ff: = bound_method %int_7.29f, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %C.val.79c: %C.b0a = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.82a: = impl_witness imports.%ImplicitAs.impl_witness_table.990 [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.b94: %ImplicitAs.type.24d = facet_value %C.b0a, (%ImplicitAs.impl_witness.82a) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.ff6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.b94) [concrete] -// CHECK:STDOUT: %.eb8: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.ff6, %ImplicitAs.facet.b94 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.504: = impl_witness imports.%ImplicitAs.impl_witness_table.77d [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.997: %ImplicitAs.type.24d = facet_value %C.b0a, (%ImplicitAs.impl_witness.504) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dca: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%D, %ImplicitAs.facet.997) [concrete] +// CHECK:STDOUT: %.f0d: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dca, %ImplicitAs.facet.997 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.8: type = fn_type @C.as.ImplicitAs.impl.Convert.8 [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.3cefb0.8: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.8 = struct_value () [concrete] // CHECK:STDOUT: %C.as.ImplicitAs.impl.Convert.bound.a06: = bound_method %C.val.79c, %C.as.ImplicitAs.impl.Convert.3cefb0.8 [concrete] @@ -963,48 +963,48 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %P.import_ref.d2a: %i32 = import_ref P//library, loc4_10, loaded [symbolic = @C.%N (constants.%N.37f)] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] -// CHECK:STDOUT: %P.import_ref.b19: = import_ref P//library, loc8_33, loaded [concrete = constants.%ImplicitAs.impl_witness.39f] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %P.import_ref.22d: = import_ref P//library, loc8_33, loaded [concrete = constants.%ImplicitAs.impl_witness.056] // CHECK:STDOUT: %P.import_ref.5cd: type = import_ref P//library, loc8_9, loaded [concrete = constants.%C.771] // CHECK:STDOUT: %P.import_ref.4efc12.1: type = import_ref P//library, loc8_31, loaded [concrete = constants.%ImplicitAs.type.24d] -// CHECK:STDOUT: %P.import_ref.7c1: = import_ref P//library, loc9_33, loaded [concrete = constants.%ImplicitAs.impl_witness.d9f] +// CHECK:STDOUT: %P.import_ref.75e: = import_ref P//library, loc9_33, loaded [concrete = constants.%ImplicitAs.impl_witness.09f] // CHECK:STDOUT: %P.import_ref.25e: type = import_ref P//library, loc9_9, loaded [concrete = constants.%C.83b] // CHECK:STDOUT: %P.import_ref.4efc12.2: type = import_ref P//library, loc9_31, loaded [concrete = constants.%ImplicitAs.type.24d] -// CHECK:STDOUT: %P.import_ref.ad3: = import_ref P//library, loc10_33, loaded [concrete = constants.%ImplicitAs.impl_witness.409] +// CHECK:STDOUT: %P.import_ref.267: = import_ref P//library, loc10_33, loaded [concrete = constants.%ImplicitAs.impl_witness.c5d] // CHECK:STDOUT: %P.import_ref.30e: type = import_ref P//library, loc10_9, loaded [concrete = constants.%C.5ce] // CHECK:STDOUT: %P.import_ref.4efc12.3: type = import_ref P//library, loc10_31, loaded [concrete = constants.%ImplicitAs.type.24d] -// CHECK:STDOUT: %P.import_ref.beb: = import_ref P//library, loc11_33, loaded [concrete = constants.%ImplicitAs.impl_witness.69a] +// CHECK:STDOUT: %P.import_ref.c04: = import_ref P//library, loc11_33, loaded [concrete = constants.%ImplicitAs.impl_witness.292] // CHECK:STDOUT: %P.import_ref.edf: type = import_ref P//library, loc11_9, loaded [concrete = constants.%C.b3e] // CHECK:STDOUT: %P.import_ref.4efc12.4: type = import_ref P//library, loc11_31, loaded [concrete = constants.%ImplicitAs.type.24d] -// CHECK:STDOUT: %P.import_ref.681: = import_ref P//library, loc12_33, loaded [concrete = constants.%ImplicitAs.impl_witness.af6] +// CHECK:STDOUT: %P.import_ref.37d: = import_ref P//library, loc12_33, loaded [concrete = constants.%ImplicitAs.impl_witness.bf9] // CHECK:STDOUT: %P.import_ref.e77: type = import_ref P//library, loc12_9, loaded [concrete = constants.%C.8ee] // CHECK:STDOUT: %P.import_ref.4efc12.5: type = import_ref P//library, loc12_31, loaded [concrete = constants.%ImplicitAs.type.24d] -// CHECK:STDOUT: %P.import_ref.cea: = import_ref P//library, loc13_33, loaded [concrete = constants.%ImplicitAs.impl_witness.b0e] +// CHECK:STDOUT: %P.import_ref.9f0: = import_ref P//library, loc13_33, loaded [concrete = constants.%ImplicitAs.impl_witness.8a0] // CHECK:STDOUT: %P.import_ref.c8c: type = import_ref P//library, loc13_9, loaded [concrete = constants.%C.5c1] // CHECK:STDOUT: %P.import_ref.4efc12.6: type = import_ref P//library, loc13_31, loaded [concrete = constants.%ImplicitAs.type.24d] -// CHECK:STDOUT: %P.import_ref.cdb: = import_ref P//library, loc14_33, loaded [concrete = constants.%ImplicitAs.impl_witness.4cc] +// CHECK:STDOUT: %P.import_ref.b45: = import_ref P//library, loc14_33, loaded [concrete = constants.%ImplicitAs.impl_witness.d60] // CHECK:STDOUT: %P.import_ref.847: type = import_ref P//library, loc14_9, loaded [concrete = constants.%C.57b] // CHECK:STDOUT: %P.import_ref.4efc12.7: type = import_ref P//library, loc14_31, loaded [concrete = constants.%ImplicitAs.type.24d] -// CHECK:STDOUT: %P.import_ref.2b7: = import_ref P//library, loc15_33, loaded [concrete = constants.%ImplicitAs.impl_witness.82a] +// CHECK:STDOUT: %P.import_ref.f7d: = import_ref P//library, loc15_33, loaded [concrete = constants.%ImplicitAs.impl_witness.504] // CHECK:STDOUT: %P.import_ref.584: type = import_ref P//library, loc15_9, loaded [concrete = constants.%C.b0a] // CHECK:STDOUT: %P.import_ref.4efc12.8: type = import_ref P//library, loc15_31, loaded [concrete = constants.%ImplicitAs.type.24d] // CHECK:STDOUT: %P.import_ref.b89e2b.1: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.1 = import_ref P//library, loc8_64, loaded [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.1] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.f81 = impl_witness_table (%P.import_ref.b89e2b.1), @C.as.ImplicitAs.impl.fa9 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.d8b = impl_witness_table (%P.import_ref.b89e2b.1), @C.as.ImplicitAs.impl.fa9 [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %P.import_ref.b89e2b.2: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.2 = import_ref P//library, loc9_64, loaded [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.2] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.032 = impl_witness_table (%P.import_ref.b89e2b.2), @C.as.ImplicitAs.impl.c89 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.541 = impl_witness_table (%P.import_ref.b89e2b.2), @C.as.ImplicitAs.impl.c89 [concrete] // CHECK:STDOUT: %P.import_ref.b89e2b.3: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.3 = import_ref P//library, loc10_64, loaded [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.3] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.93f = impl_witness_table (%P.import_ref.b89e2b.3), @C.as.ImplicitAs.impl.cc3 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.658 = impl_witness_table (%P.import_ref.b89e2b.3), @C.as.ImplicitAs.impl.cc3 [concrete] // CHECK:STDOUT: %P.import_ref.b89e2b.4: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.4 = import_ref P//library, loc11_64, loaded [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.4] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.62c = impl_witness_table (%P.import_ref.b89e2b.4), @C.as.ImplicitAs.impl.2a2 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.e90 = impl_witness_table (%P.import_ref.b89e2b.4), @C.as.ImplicitAs.impl.2a2 [concrete] // CHECK:STDOUT: %P.import_ref.b89e2b.5: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.5 = import_ref P//library, loc12_64, loaded [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.5] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.3ac = impl_witness_table (%P.import_ref.b89e2b.5), @C.as.ImplicitAs.impl.862 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.9f1 = impl_witness_table (%P.import_ref.b89e2b.5), @C.as.ImplicitAs.impl.862 [concrete] // CHECK:STDOUT: %P.import_ref.b89e2b.6: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.6 = import_ref P//library, loc13_64, loaded [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.6] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.a96 = impl_witness_table (%P.import_ref.b89e2b.6), @C.as.ImplicitAs.impl.6ea [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.542 = impl_witness_table (%P.import_ref.b89e2b.6), @C.as.ImplicitAs.impl.6ea [concrete] // CHECK:STDOUT: %P.import_ref.b89e2b.7: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.7 = import_ref P//library, loc14_64, loaded [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.7] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.91e = impl_witness_table (%P.import_ref.b89e2b.7), @C.as.ImplicitAs.impl.36b [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.c37 = impl_witness_table (%P.import_ref.b89e2b.7), @C.as.ImplicitAs.impl.36b [concrete] // CHECK:STDOUT: %P.import_ref.b89e2b.8: %C.as.ImplicitAs.impl.Convert.type.ae6f4c.8 = import_ref P//library, loc15_64, loaded [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.8] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.990 = impl_witness_table (%P.import_ref.b89e2b.8), @C.as.ImplicitAs.impl.550 [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.77d = impl_witness_table (%P.import_ref.b89e2b.8), @C.as.ImplicitAs.impl.550 [concrete] // CHECK:STDOUT: %P.Make: %Make.type = import_ref P//library, Make, loaded [concrete = constants.%Make] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1035,42 +1035,42 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.ImplicitAs.impl.fa9: imports.%P.import_ref.5cd as imports.%P.import_ref.4efc12.1 [from "library.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%P.import_ref.b19 +// CHECK:STDOUT: witness = imports.%P.import_ref.22d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.ImplicitAs.impl.c89: imports.%P.import_ref.25e as imports.%P.import_ref.4efc12.2 [from "library.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%P.import_ref.7c1 +// CHECK:STDOUT: witness = imports.%P.import_ref.75e // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.ImplicitAs.impl.cc3: imports.%P.import_ref.30e as imports.%P.import_ref.4efc12.3 [from "library.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%P.import_ref.ad3 +// CHECK:STDOUT: witness = imports.%P.import_ref.267 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.ImplicitAs.impl.2a2: imports.%P.import_ref.edf as imports.%P.import_ref.4efc12.4 [from "library.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%P.import_ref.beb +// CHECK:STDOUT: witness = imports.%P.import_ref.c04 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.ImplicitAs.impl.862: imports.%P.import_ref.e77 as imports.%P.import_ref.4efc12.5 [from "library.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%P.import_ref.681 +// CHECK:STDOUT: witness = imports.%P.import_ref.37d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.ImplicitAs.impl.6ea: imports.%P.import_ref.c8c as imports.%P.import_ref.4efc12.6 [from "library.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%P.import_ref.cea +// CHECK:STDOUT: witness = imports.%P.import_ref.9f0 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.ImplicitAs.impl.36b: imports.%P.import_ref.847 as imports.%P.import_ref.4efc12.7 [from "library.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%P.import_ref.cdb +// CHECK:STDOUT: witness = imports.%P.import_ref.b45 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: impl @C.as.ImplicitAs.impl.550: imports.%P.import_ref.584 as imports.%P.import_ref.4efc12.8 [from "library.carbon"] { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = imports.%P.import_ref.2b7 +// CHECK:STDOUT: witness = imports.%P.import_ref.f7d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @D [from "library.carbon"] { @@ -1106,7 +1106,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %P.ref.loc7: = name_ref P, imports.%P [concrete = imports.%P] // CHECK:STDOUT: %C.ref.loc7: %C.type = name_ref C, imports.%P.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc7_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_34.1: = bound_method %int_0, %impl.elem0.loc7_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_34.2: = bound_method %int_0, %specific_fn.loc7 [concrete = constants.%bound_method.6e0] @@ -1117,7 +1117,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %.loc7_24.2: ref %C.771 = temporary_storage // CHECK:STDOUT: %.loc7_24.3: init %C.771 to %.loc7_24.2 = class_init () [concrete = constants.%C.val.d9b] // CHECK:STDOUT: %.loc7_26.1: init %C.771 = converted %.loc7_24.1, %.loc7_24.3 [concrete = constants.%C.val.d9b] -// CHECK:STDOUT: %impl.elem0.loc7_35: %.f28 = impl_witness_access constants.%ImplicitAs.impl_witness.39f, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.1] +// CHECK:STDOUT: %impl.elem0.loc7_35: %.908 = impl_witness_access constants.%ImplicitAs.impl_witness.056, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.1] // CHECK:STDOUT: %bound_method.loc7_35: = bound_method %.loc7_26.1, %impl.elem0.loc7_35 [concrete = constants.%C.as.ImplicitAs.impl.Convert.bound.d30] // CHECK:STDOUT: %.loc6_26.1: ref %D = splice_block %return.param {} // CHECK:STDOUT: %.loc7_26.2: ref %C.771 = temporary %.loc7_24.2, %.loc7_26.1 [concrete = constants.%.de3] @@ -1136,7 +1136,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %P.ref.loc8: = name_ref P, imports.%P [concrete = imports.%P] // CHECK:STDOUT: %C.ref.loc8: %C.type = name_ref C, imports.%P.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc8_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc8_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc8_34.1: = bound_method %int_1, %impl.elem0.loc8_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_34.2: = bound_method %int_1, %specific_fn.loc8 [concrete = constants.%bound_method.953] @@ -1147,7 +1147,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %.loc8_24.2: ref %C.83b = temporary_storage // CHECK:STDOUT: %.loc8_24.3: init %C.83b to %.loc8_24.2 = class_init () [concrete = constants.%C.val.399] // CHECK:STDOUT: %.loc8_26.1: init %C.83b = converted %.loc8_24.1, %.loc8_24.3 [concrete = constants.%C.val.399] -// CHECK:STDOUT: %impl.elem0.loc8_35: %.a7f = impl_witness_access constants.%ImplicitAs.impl_witness.d9f, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.2] +// CHECK:STDOUT: %impl.elem0.loc8_35: %.f99 = impl_witness_access constants.%ImplicitAs.impl_witness.09f, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.2] // CHECK:STDOUT: %bound_method.loc8_35: = bound_method %.loc8_26.1, %impl.elem0.loc8_35 [concrete = constants.%C.as.ImplicitAs.impl.Convert.bound.b85] // CHECK:STDOUT: %.loc6_26.2: ref %D = splice_block %return.param {} // CHECK:STDOUT: %.loc8_26.2: ref %C.83b = temporary %.loc8_24.2, %.loc8_26.1 [concrete = constants.%.027] @@ -1166,7 +1166,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %P.ref.loc9: = name_ref P, imports.%P [concrete = imports.%P] // CHECK:STDOUT: %C.ref.loc9: %C.type = name_ref C, imports.%P.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %impl.elem0.loc9_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc9_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc9_34.1: = bound_method %int_2, %impl.elem0.loc9_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc9_34.2: = bound_method %int_2, %specific_fn.loc9 [concrete = constants.%bound_method.3cb] @@ -1177,7 +1177,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %.loc9_24.2: ref %C.5ce = temporary_storage // CHECK:STDOUT: %.loc9_24.3: init %C.5ce to %.loc9_24.2 = class_init () [concrete = constants.%C.val.040] // CHECK:STDOUT: %.loc9_26.1: init %C.5ce = converted %.loc9_24.1, %.loc9_24.3 [concrete = constants.%C.val.040] -// CHECK:STDOUT: %impl.elem0.loc9_35: %.8f7 = impl_witness_access constants.%ImplicitAs.impl_witness.409, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.3] +// CHECK:STDOUT: %impl.elem0.loc9_35: %.e16 = impl_witness_access constants.%ImplicitAs.impl_witness.c5d, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.3] // CHECK:STDOUT: %bound_method.loc9_35: = bound_method %.loc9_26.1, %impl.elem0.loc9_35 [concrete = constants.%C.as.ImplicitAs.impl.Convert.bound.468] // CHECK:STDOUT: %.loc6_26.3: ref %D = splice_block %return.param {} // CHECK:STDOUT: %.loc9_26.2: ref %C.5ce = temporary %.loc9_24.2, %.loc9_26.1 [concrete = constants.%.ed7] @@ -1196,7 +1196,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %P.ref.loc10: = name_ref P, imports.%P [concrete = imports.%P] // CHECK:STDOUT: %C.ref.loc10: %C.type = name_ref C, imports.%P.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %impl.elem0.loc10_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc10_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc10_34.1: = bound_method %int_3, %impl.elem0.loc10_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.485] // CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc10_34.2: = bound_method %int_3, %specific_fn.loc10 [concrete = constants.%bound_method.763] @@ -1207,7 +1207,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %.loc10_24.2: ref %C.b3e = temporary_storage // CHECK:STDOUT: %.loc10_24.3: init %C.b3e to %.loc10_24.2 = class_init () [concrete = constants.%C.val.cf1] // CHECK:STDOUT: %.loc10_26.1: init %C.b3e = converted %.loc10_24.1, %.loc10_24.3 [concrete = constants.%C.val.cf1] -// CHECK:STDOUT: %impl.elem0.loc10_35: %.8eb = impl_witness_access constants.%ImplicitAs.impl_witness.69a, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.4] +// CHECK:STDOUT: %impl.elem0.loc10_35: %.7ab = impl_witness_access constants.%ImplicitAs.impl_witness.292, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.4] // CHECK:STDOUT: %bound_method.loc10_35: = bound_method %.loc10_26.1, %impl.elem0.loc10_35 [concrete = constants.%C.as.ImplicitAs.impl.Convert.bound.891] // CHECK:STDOUT: %.loc6_26.4: ref %D = splice_block %return.param {} // CHECK:STDOUT: %.loc10_26.2: ref %C.b3e = temporary %.loc10_24.2, %.loc10_26.1 [concrete = constants.%.dc8] @@ -1226,7 +1226,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %P.ref.loc11: = name_ref P, imports.%P [concrete = imports.%P] // CHECK:STDOUT: %C.ref.loc11: %C.type = name_ref C, imports.%P.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %impl.elem0.loc11_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc11_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc11_34.1: = bound_method %int_4, %impl.elem0.loc11_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.aad] // CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_34.2: = bound_method %int_4, %specific_fn.loc11 [concrete = constants.%bound_method.b7a] @@ -1237,7 +1237,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %.loc11_24.2: ref %C.8ee = temporary_storage // CHECK:STDOUT: %.loc11_24.3: init %C.8ee to %.loc11_24.2 = class_init () [concrete = constants.%C.val.19e] // CHECK:STDOUT: %.loc11_26.1: init %C.8ee = converted %.loc11_24.1, %.loc11_24.3 [concrete = constants.%C.val.19e] -// CHECK:STDOUT: %impl.elem0.loc11_35: %.9db = impl_witness_access constants.%ImplicitAs.impl_witness.af6, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.5] +// CHECK:STDOUT: %impl.elem0.loc11_35: %.c3a = impl_witness_access constants.%ImplicitAs.impl_witness.bf9, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.5] // CHECK:STDOUT: %bound_method.loc11_35: = bound_method %.loc11_26.1, %impl.elem0.loc11_35 [concrete = constants.%C.as.ImplicitAs.impl.Convert.bound.65e] // CHECK:STDOUT: %.loc6_26.5: ref %D = splice_block %return.param {} // CHECK:STDOUT: %.loc11_26.2: ref %C.8ee = temporary %.loc11_24.2, %.loc11_26.1 [concrete = constants.%.054] @@ -1256,7 +1256,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %P.ref.loc12: = name_ref P, imports.%P [concrete = imports.%P] // CHECK:STDOUT: %C.ref.loc12: %C.type = name_ref C, imports.%P.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %impl.elem0.loc12_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc12_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc12_34.1: = bound_method %int_5, %impl.elem0.loc12_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.f6c] // CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_34.2: = bound_method %int_5, %specific_fn.loc12 [concrete = constants.%bound_method.c9d] @@ -1267,7 +1267,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %.loc12_24.2: ref %C.5c1 = temporary_storage // CHECK:STDOUT: %.loc12_24.3: init %C.5c1 to %.loc12_24.2 = class_init () [concrete = constants.%C.val.6ca] // CHECK:STDOUT: %.loc12_26.1: init %C.5c1 = converted %.loc12_24.1, %.loc12_24.3 [concrete = constants.%C.val.6ca] -// CHECK:STDOUT: %impl.elem0.loc12_35: %.cf1 = impl_witness_access constants.%ImplicitAs.impl_witness.b0e, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.6] +// CHECK:STDOUT: %impl.elem0.loc12_35: %.9d4 = impl_witness_access constants.%ImplicitAs.impl_witness.8a0, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.6] // CHECK:STDOUT: %bound_method.loc12_35: = bound_method %.loc12_26.1, %impl.elem0.loc12_35 [concrete = constants.%C.as.ImplicitAs.impl.Convert.bound.c06] // CHECK:STDOUT: %.loc6_26.6: ref %D = splice_block %return.param {} // CHECK:STDOUT: %.loc12_26.2: ref %C.5c1 = temporary %.loc12_24.2, %.loc12_26.1 [concrete = constants.%.6f6] @@ -1286,7 +1286,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %P.ref.loc13: = name_ref P, imports.%P [concrete = imports.%P] // CHECK:STDOUT: %C.ref.loc13: %C.type = name_ref C, imports.%P.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_6: Core.IntLiteral = int_value 6 [concrete = constants.%int_6.462] -// CHECK:STDOUT: %impl.elem0.loc13_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_34.1: = bound_method %int_6, %impl.elem0.loc13_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.13d] // CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_34.2: = bound_method %int_6, %specific_fn.loc13 [concrete = constants.%bound_method.be9] @@ -1297,7 +1297,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %.loc13_24.2: ref %C.57b = temporary_storage // CHECK:STDOUT: %.loc13_24.3: init %C.57b to %.loc13_24.2 = class_init () [concrete = constants.%C.val.225] // CHECK:STDOUT: %.loc13_26.1: init %C.57b = converted %.loc13_24.1, %.loc13_24.3 [concrete = constants.%C.val.225] -// CHECK:STDOUT: %impl.elem0.loc13_35: %.68f = impl_witness_access constants.%ImplicitAs.impl_witness.4cc, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.7] +// CHECK:STDOUT: %impl.elem0.loc13_35: %.2f9 = impl_witness_access constants.%ImplicitAs.impl_witness.d60, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.7] // CHECK:STDOUT: %bound_method.loc13_35: = bound_method %.loc13_26.1, %impl.elem0.loc13_35 [concrete = constants.%C.as.ImplicitAs.impl.Convert.bound.edd] // CHECK:STDOUT: %.loc6_26.7: ref %D = splice_block %return.param {} // CHECK:STDOUT: %.loc13_26.2: ref %C.57b = temporary %.loc13_24.2, %.loc13_26.1 [concrete = constants.%.fa8] @@ -1316,7 +1316,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %P.ref.loc14: = name_ref P, imports.%P [concrete = imports.%P] // CHECK:STDOUT: %C.ref.loc14: %C.type = name_ref C, imports.%P.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_7: Core.IntLiteral = int_value 7 [concrete = constants.%int_7.29f] -// CHECK:STDOUT: %impl.elem0.loc14_34: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc14_34: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc14_34.1: = bound_method %int_7, %impl.elem0.loc14_34 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.66b] // CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14_34, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_34.2: = bound_method %int_7, %specific_fn.loc14 [concrete = constants.%bound_method.7ff] @@ -1327,7 +1327,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %.loc14_24.2: ref %C.b0a = temporary_storage // CHECK:STDOUT: %.loc14_24.3: init %C.b0a to %.loc14_24.2 = class_init () [concrete = constants.%C.val.79c] // CHECK:STDOUT: %.loc14_26.1: init %C.b0a = converted %.loc14_24.1, %.loc14_24.3 [concrete = constants.%C.val.79c] -// CHECK:STDOUT: %impl.elem0.loc14_35: %.eb8 = impl_witness_access constants.%ImplicitAs.impl_witness.82a, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.8] +// CHECK:STDOUT: %impl.elem0.loc14_35: %.f0d = impl_witness_access constants.%ImplicitAs.impl_witness.504, element0 [concrete = constants.%C.as.ImplicitAs.impl.Convert.3cefb0.8] // CHECK:STDOUT: %bound_method.loc14_35: = bound_method %.loc14_26.1, %impl.elem0.loc14_35 [concrete = constants.%C.as.ImplicitAs.impl.Convert.bound.a06] // CHECK:STDOUT: %.loc6_26.8: ref %D = splice_block %return.param {} // CHECK:STDOUT: %.loc14_26.2: ref %C.b0a = temporary %.loc14_24.2, %.loc14_26.1 [concrete = constants.%.a0a] diff --git a/toolchain/check/testdata/return/returned_var.carbon b/toolchain/check/testdata/return/returned_var.carbon index 0624a78927f0..957667476bc0 100644 --- a/toolchain/check/testdata/return/returned_var.carbon +++ b/toolchain/check/testdata/return/returned_var.carbon @@ -59,12 +59,12 @@ fn G() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %.795f: Core.Form = init_form %i32 [concrete] // CHECK:STDOUT: %return.param_patt.a9a: %pattern_type.6b6 = out_param_pattern [concrete] @@ -100,7 +100,7 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -150,7 +150,7 @@ fn G() -> i32 { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc21_43.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0.loc21_43.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc21_43.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc21_43.1: = bound_method %int_1, %impl.elem0.loc21_43.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc21_43.1: = specific_function %impl.elem0.loc21_43.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_43.2: = bound_method %int_1, %specific_fn.loc21_43.1 [concrete = constants.%bound_method.953] @@ -158,7 +158,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc21_43.2: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21_43.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc21_43.3: ref %i32 = class_element_access %return.param, element0 // CHECK:STDOUT: %.loc21_43.4: init %i32 to %.loc21_43.3 = in_place_init %.loc21_43.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc21_43.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc21_43.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc21_43.3: = bound_method %int_2, %impl.elem0.loc21_43.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc21_43.2: = specific_function %impl.elem0.loc21_43.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_43.4: = bound_method %int_2, %specific_fn.loc21_43.2 [concrete = constants.%bound_method.3cb] @@ -183,7 +183,7 @@ fn G() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %result.var: ref %i32 = var_storage %result.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc26_12.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_12.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.6e0] diff --git a/toolchain/check/testdata/return/returned_var_scope.carbon b/toolchain/check/testdata/return/returned_var_scope.carbon index 2736de647204..2f00b21b2c79 100644 --- a/toolchain/check/testdata/return/returned_var_scope.carbon +++ b/toolchain/check/testdata/return/returned_var_scope.carbon @@ -56,12 +56,12 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.6e0: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -94,7 +94,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: %Core.Bool: type = import_ref Core//prelude/parts/bool, Bool, loaded [concrete = bool] // CHECK:STDOUT: } @@ -139,7 +139,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: !if.then.loc16: // CHECK:STDOUT: %v.var: ref %i32 = var_storage %v.var_patt // CHECK:STDOUT: %int_0.loc17: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc17: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc17: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_14.1: = bound_method %int_0.loc17, %impl.elem0.loc17 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_14.2: = bound_method %int_0.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.6e0] @@ -163,7 +163,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: !if.then.loc19: // CHECK:STDOUT: %w.var: ref %i32 = var_storage %w.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc20: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc20: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc20_14.1: = bound_method %int_1, %impl.elem0.loc20 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_14.2: = bound_method %int_1, %specific_fn.loc20 [concrete = constants.%bound_method.953] @@ -182,7 +182,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.else.loc19: // CHECK:STDOUT: %int_0.loc22: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc22: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc22: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc22_11.1: = bound_method %int_0.loc22, %impl.elem0.loc22 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem0.loc22, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_11.2: = bound_method %int_0.loc22, %specific_fn.loc22 [concrete = constants.%bound_method.6e0] @@ -206,7 +206,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: !if.then: // CHECK:STDOUT: %v.var: ref %i32 = var_storage %v.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0.loc27: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc27: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc27_14.1: = bound_method %int_0, %impl.elem0.loc27 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7b4] // CHECK:STDOUT: %specific_fn.loc27: = specific_function %impl.elem0.loc27, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc27_14.2: = bound_method %int_0, %specific_fn.loc27 [concrete = constants.%bound_method.6e0] @@ -227,7 +227,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: !if.else: // CHECK:STDOUT: %w.var: ref %i32 = var_storage %w.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %impl.elem0.loc30: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc30: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc30_12.1: = bound_method %int_1, %impl.elem0.loc30 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc30: = specific_function %impl.elem0.loc30, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc30_12.2: = bound_method %int_1, %specific_fn.loc30 [concrete = constants.%bound_method.953] diff --git a/toolchain/check/testdata/return/struct.carbon b/toolchain/check/testdata/return/struct.carbon index b80e7c4735d6..087be9386e74 100644 --- a/toolchain/check/testdata/return/struct.carbon +++ b/toolchain/check/testdata/return/struct.carbon @@ -39,12 +39,12 @@ fn Main() -> {.a: i32} { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_3.1ba, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -62,7 +62,7 @@ fn Main() -> {.a: i32} { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -87,7 +87,7 @@ fn Main() -> {.a: i32} { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc16_17.1: %struct_type.a.a6c = struct_literal (%int_3) [concrete = constants.%struct.001] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_17.1: = bound_method %int_3, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_17.2: = bound_method %int_3, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/return/tuple.carbon b/toolchain/check/testdata/return/tuple.carbon index f8ea0f6d1dad..ccc9d14439aa 100644 --- a/toolchain/check/testdata/return/tuple.carbon +++ b/toolchain/check/testdata/return/tuple.carbon @@ -43,12 +43,12 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7c5: = bound_method %int_15.447, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.571: = bound_method %int_15.447, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -69,7 +69,7 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -97,7 +97,7 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: %int_15: Core.IntLiteral = int_value 15 [concrete = constants.%int_15.447] // CHECK:STDOUT: %int_35: Core.IntLiteral = int_value 35 [concrete = constants.%int_35.c79] // CHECK:STDOUT: %.loc17_17.1: %tuple.type.f94 = tuple_literal (%int_15, %int_35) [concrete = constants.%tuple.1b5] -// CHECK:STDOUT: %impl.elem0.loc17_17.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc17_17.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_17.1: = bound_method %int_15, %impl.elem0.loc17_17.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.7c5] // CHECK:STDOUT: %specific_fn.loc17_17.1: = specific_function %impl.elem0.loc17_17.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_17.2: = bound_method %int_15, %specific_fn.loc17_17.1 [concrete = constants.%bound_method.571] @@ -105,7 +105,7 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: %.loc17_17.2: init %i32 = converted %int_15, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17_17.1 [concrete = constants.%int_15.922] // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %return.param, element0 // CHECK:STDOUT: %.loc17_17.3: init %i32 to %tuple.elem0 = in_place_init %.loc17_17.2 [concrete = constants.%int_15.922] -// CHECK:STDOUT: %impl.elem0.loc17_17.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc17_17.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc17_17.3: = bound_method %int_35, %impl.elem0.loc17_17.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.3e5] // CHECK:STDOUT: %specific_fn.loc17_17.2: = specific_function %impl.elem0.loc17_17.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_17.4: = bound_method %int_35, %specific_fn.loc17_17.2 [concrete = constants.%bound_method.7d7] diff --git a/toolchain/check/testdata/return/value.carbon b/toolchain/check/testdata/return/value.carbon index 3469c1499c6c..17cb65abc6e2 100644 --- a/toolchain/check/testdata/return/value.carbon +++ b/toolchain/check/testdata/return/value.carbon @@ -36,12 +36,12 @@ fn Main() -> i32 { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -58,7 +58,7 @@ fn Main() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -81,7 +81,7 @@ fn Main() -> i32 { // CHECK:STDOUT: fn @Main() -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_11.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_11.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon index aa389fcfe184..5fa1c7ee6562 100644 --- a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon +++ b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon @@ -53,12 +53,12 @@ var y: {.b: i32} = x; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -72,12 +72,12 @@ var y: {.b: i32} = x; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %x.patt: %pattern_type.506 = ref_binding_pattern x [concrete] // CHECK:STDOUT: %x.var_patt: %pattern_type.506 = var_pattern %x.patt [concrete] @@ -100,10 +100,10 @@ var y: {.b: i32} = x; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -162,7 +162,7 @@ var y: {.b: i32} = x; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc15_28.1: %struct_type.a.a6c = struct_literal (%int_1.loc15) [concrete = constants.%struct.48c] -// CHECK:STDOUT: %impl.elem0.loc15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_28.1: = bound_method %int_1.loc15, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_28.2: = bound_method %int_1.loc15, %specific_fn.loc15 [concrete = constants.%bound_method] @@ -174,7 +174,7 @@ var y: {.b: i32} = x; // CHECK:STDOUT: %a.ref: ref %struct_type.a.a92 = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %.loc20_29.1: ref %i32 = struct_access %a.ref, element0 [concrete = constants.%.46b] // CHECK:STDOUT: %.loc20_29.2: %i32 = acquire_value %.loc20_29.1 -// CHECK:STDOUT: %impl.elem0.loc20: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc20: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc20_29.1: = bound_method %.loc20_29.2, %impl.elem0.loc20 // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc20_29.2: = bound_method %.loc20_29.2, %specific_fn.loc20 diff --git a/toolchain/check/testdata/struct/fail_member_access_type.carbon b/toolchain/check/testdata/struct/fail_member_access_type.carbon index d0262b2bcc11..67f9dfd64634 100644 --- a/toolchain/check/testdata/struct/fail_member_access_type.carbon +++ b/toolchain/check/testdata/struct/fail_member_access_type.carbon @@ -39,12 +39,12 @@ var y: i32 = x.b; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.a4e, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %float.a4e, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -104,7 +104,7 @@ var y: i32 = x.b; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 40e-1 [concrete = constants.%float.a4e] // CHECK:STDOUT: %.loc15_29.1: %struct_type.a.b4b = struct_literal (%float) [concrete = constants.%struct.f91] -// CHECK:STDOUT: %impl.elem0: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc15_29.1: = bound_method %float, %impl.elem0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_29.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/struct/fail_non_member_access.carbon b/toolchain/check/testdata/struct/fail_non_member_access.carbon index 47d189488e42..99641970364c 100644 --- a/toolchain/check/testdata/struct/fail_non_member_access.carbon +++ b/toolchain/check/testdata/struct/fail_non_member_access.carbon @@ -39,12 +39,12 @@ var y: i32 = x.b; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -65,7 +65,7 @@ var y: i32 = x.b; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -98,7 +98,7 @@ var y: i32 = x.b; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %.loc15_27.1: %struct_type.a.a6c = struct_literal (%int_4) [concrete = constants.%struct.2cb] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_27.1: = bound_method %int_4, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_27.2: = bound_method %int_4, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/struct/fail_too_few_values.carbon b/toolchain/check/testdata/struct/fail_too_few_values.carbon index 9f40f4876e51..69f1d5c9ba73 100644 --- a/toolchain/check/testdata/struct/fail_too_few_values.carbon +++ b/toolchain/check/testdata/struct/fail_too_few_values.carbon @@ -39,12 +39,12 @@ var x: {.a: i32, .b: i32} = {.a = 1}; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -61,7 +61,7 @@ var x: {.a: i32, .b: i32} = {.a = 1}; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -87,7 +87,7 @@ var x: {.a: i32, .b: i32} = {.a = 1}; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc19_36.1: %struct_type.a = struct_literal (%int_1) [concrete = constants.%struct] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc19_36.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc19_36.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/struct/import.carbon b/toolchain/check/testdata/struct/import.carbon index 84e5c965d90c..3c73417afad7 100644 --- a/toolchain/check/testdata/struct/import.carbon +++ b/toolchain/check/testdata/struct/import.carbon @@ -98,12 +98,12 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %tuple.type.85c: type = tuple_type (type) [concrete] // CHECK:STDOUT: %tuple.19c: %tuple.type.85c = tuple_value (%i32) [concrete] @@ -132,12 +132,12 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %struct_type.a.b.cfd: type = struct_type {.a: Core.IntLiteral, .b: Core.IntLiteral} [concrete] // CHECK:STDOUT: %struct.4aa: %struct_type.a.b.cfd = struct_value (%int_1.5b8, %int_2.ecc) [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.778: = impl_witness imports.%ImplicitAs.impl_witness_table.1f3, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.778) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.d74: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2eb, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -160,10 +160,10 @@ fn F() -> {.x: i32} { // 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.717: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Implicit//default, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1f3 = impl_witness_table (%Implicit.import_ref.717), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Implicit.import_ref.717), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %a_ref.var: ref %struct_type.a = var_storage constants.%a_ref.var_patt [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %b_ref.var: ref %struct_type.a.d.01c = var_storage constants.%b_ref.var_patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -199,14 +199,14 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc7_25.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) [concrete = constants.%struct.4aa] -// CHECK:STDOUT: %impl.elem0.loc7_25.1: %.d74 = impl_witness_access constants.%ImplicitAs.impl_witness.778, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7_25.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_25.1: = bound_method %int_1, %impl.elem0.loc7_25.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc7_25.1: = specific_function %impl.elem0.loc7_25.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_25.2: = bound_method %int_1, %specific_fn.loc7_25.1 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc7_25.1: init %i32 = call %bound_method.loc7_25.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc7_25.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc7_25.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc7_25.3: %i32 = converted %int_1, %.loc7_25.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc7_25.2: %.d74 = impl_witness_access constants.%ImplicitAs.impl_witness.778, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7_25.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_25.3: = bound_method %int_2, %impl.elem0.loc7_25.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc7_25.2: = specific_function %impl.elem0.loc7_25.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_25.4: = bound_method %int_2, %specific_fn.loc7_25.2 [concrete = constants.%bound_method.3cb] @@ -229,7 +229,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %a_ref.ref: ref %struct_type.a = name_ref a_ref, imports.%Implicit.a_ref [concrete = imports.%a_ref.var] // CHECK:STDOUT: %.loc5_20.1: ref %i32 = struct_access %a_ref.ref, element0 [concrete = constants.%.359] // CHECK:STDOUT: %.loc5_20.2: %i32 = acquire_value %.loc5_20.1 -// CHECK:STDOUT: %impl.elem0.loc5: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc5: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc5_20.1: = bound_method %.loc5_20.2, %impl.elem0.loc5 // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc5_20.2: = bound_method %.loc5_20.2, %specific_fn.loc5 @@ -241,7 +241,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %.loc6_47.1: ref %struct_type.b.c = struct_access %b_ref.ref, element0 [concrete = constants.%.c0a] // CHECK:STDOUT: %.loc6_47.2: ref %i32 = struct_access %.loc6_47.1, element0 [concrete = constants.%.024] // CHECK:STDOUT: %.loc6_47.3: %i32 = acquire_value %.loc6_47.2 -// CHECK:STDOUT: %impl.elem0.loc6_47.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_47.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_47.1: = bound_method %.loc6_47.3, %impl.elem0.loc6_47.1 // CHECK:STDOUT: %specific_fn.loc6_47.1: = specific_function %impl.elem0.loc6_47.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_47.2: = bound_method %.loc6_47.3, %specific_fn.loc6_47.1 @@ -252,7 +252,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %.loc6_47.7: ref %tuple.type.a8a = struct_access %.loc6_47.1, element1 [concrete = constants.%.136] // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %.loc6_47.7, element0 [concrete = constants.%tuple.elem0.939] // CHECK:STDOUT: %.loc6_47.8: %i32 = acquire_value %tuple.elem0 -// CHECK:STDOUT: %impl.elem0.loc6_47.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_47.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_47.3: = bound_method %.loc6_47.8, %impl.elem0.loc6_47.2 // CHECK:STDOUT: %specific_fn.loc6_47.2: = specific_function %impl.elem0.loc6_47.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_47.4: = bound_method %.loc6_47.8, %specific_fn.loc6_47.2 @@ -265,7 +265,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %.loc6_47.14: init %struct_type.b.c = converted %.loc6_47.1, %.loc6_47.13 // CHECK:STDOUT: %.loc6_47.15: ref %i32 = struct_access %b_ref.ref, element1 [concrete = constants.%.f61] // CHECK:STDOUT: %.loc6_47.16: %i32 = acquire_value %.loc6_47.15 -// CHECK:STDOUT: %impl.elem0.loc6_47.3: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_47.3: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_47.5: = bound_method %.loc6_47.16, %impl.elem0.loc6_47.3 // CHECK:STDOUT: %specific_fn.loc6_47.3: = specific_function %impl.elem0.loc6_47.3, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_47.6: = bound_method %.loc6_47.16, %specific_fn.loc6_47.3 @@ -300,12 +300,12 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1, %Int.as.Copy.impl.Op.4f6 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -320,7 +320,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %Main.import_ref.a1f: %struct_type.x = import_ref Main//symbolic_decl, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: %struct_type.x = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: %struct_type.x { @@ -334,7 +334,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.a6f [concrete = constants.%assoc0.d9a] // CHECK:STDOUT: %impl.elem0.loc7_18.1: %struct_type.x = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%struct] // CHECK:STDOUT: %.loc7_18.2: %i32 = struct_access %impl.elem0.loc7_18.1, element0 [concrete = constants.%int_1] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc7_18.1: = bound_method %.loc7_18.2, %impl.elem0.loc7_18.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc7_18.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_18.2: = bound_method %.loc7_18.2, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/struct/literal_member_access.carbon b/toolchain/check/testdata/struct/literal_member_access.carbon index de0f85b8d2fb..a1174fa759a5 100644 --- a/toolchain/check/testdata/struct/literal_member_access.carbon +++ b/toolchain/check/testdata/struct/literal_member_access.carbon @@ -47,12 +47,12 @@ fn F() -> i32 { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] // CHECK:STDOUT: %Destroy.Op.type.1d8f74.3: type = fn_type @Destroy.Op.loc18_26.3 [concrete] @@ -70,7 +70,7 @@ fn F() -> i32 { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/parts/destroy, Destroy, loaded [concrete = constants.%Destroy.type] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -127,7 +127,7 @@ fn F() -> i32 { // CHECK:STDOUT: %.loc18_35.3: %struct_type.a.b.c.a1d = converted %.loc18_35.1, %struct.loc18_35 // CHECK:STDOUT: %.loc18_36: %struct_type.x.y.z = struct_access %.loc18_35.3, element1 // CHECK:STDOUT: %.loc18_38: %i32 = struct_access %.loc18_36, element1 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc18_38.1: = bound_method %.loc18_38, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc18_38.2: = bound_method %.loc18_38, %specific_fn diff --git a/toolchain/check/testdata/struct/member_access.carbon b/toolchain/check/testdata/struct/member_access.carbon index 2b0b10d3a786..9b1797b61046 100644 --- a/toolchain/check/testdata/struct/member_access.carbon +++ b/toolchain/check/testdata/struct/member_access.carbon @@ -43,12 +43,12 @@ var z: i32 = y; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.43c: = impl_witness imports.%ImplicitAs.impl_witness_table.393, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.d4c: = impl_witness imports.%ImplicitAs.impl_witness_table.1e0, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0: type = fn_type @Core.FloatLiteral.as.ImplicitAs.impl.Convert, @Core.FloatLiteral.as.ImplicitAs.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.ef0 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.7d2: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.43c) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.6c5: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet.7d2) [concrete] -// CHECK:STDOUT: %.2d7: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.6c5, %ImplicitAs.facet.7d2 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.c20: %ImplicitAs.type.91e = facet_value Core.FloatLiteral, (%ImplicitAs.impl_witness.d4c) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.991: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%f64.dc1, %ImplicitAs.facet.c20) [concrete] +// CHECK:STDOUT: %.194: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.991, %ImplicitAs.facet.c20 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(%int_64) [concrete] // CHECK:STDOUT: %bound_method.819: = bound_method %float.1f7, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -57,12 +57,12 @@ var z: i32 = y; // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.9f1: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.9f1) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet.9f1 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.48f: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet.48f) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet.48f [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %pattern_type.6b6: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] @@ -74,12 +74,12 @@ var z: i32 = y; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %z.patt: %pattern_type.6b6 = ref_binding_pattern z [concrete] // CHECK:STDOUT: %z.var_patt: %pattern_type.6b6 = var_pattern %z.patt [concrete] @@ -98,12 +98,12 @@ var z: i32 = y; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.c4c7: @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type (%Core.FloatLiteral.as.ImplicitAs.impl.Convert.type.063) = import_ref Core//prelude/parts/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.ImplicitAs.impl.%Core.FloatLiteral.as.ImplicitAs.impl.Convert (constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.d4f)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.393 = impl_witness_table (%Core.import_ref.c4c7), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1e0 = impl_witness_table (%Core.import_ref.c4c7), @Core.FloatLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -146,7 +146,7 @@ var z: i32 = y; // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 0e-1 [concrete = constants.%float.1f7] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc15_46.1: %struct_type.a.b.0cc = struct_literal (%float, %int_1) [concrete = constants.%struct.877] -// CHECK:STDOUT: %impl.elem0.loc15_46.1: %.2d7 = impl_witness_access constants.%ImplicitAs.impl_witness.43c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] +// CHECK:STDOUT: %impl.elem0.loc15_46.1: %.194 = impl_witness_access constants.%ImplicitAs.impl_witness.d4c, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.cf0] // CHECK:STDOUT: %bound_method.loc15_46.1: = bound_method %float, %impl.elem0.loc15_46.1 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc15_46.1: = specific_function %impl.elem0.loc15_46.1, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_46.2: = bound_method %float, %specific_fn.loc15_46.1 [concrete = constants.%bound_method.819] @@ -154,7 +154,7 @@ var z: i32 = y; // CHECK:STDOUT: %.loc15_46.2: init %f64.dc1 = converted %float, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%float.895] // CHECK:STDOUT: %.loc15_46.3: ref %f64.dc1 = struct_access file.%x.var, element0 [concrete = constants.%.1cd] // CHECK:STDOUT: %.loc15_46.4: init %f64.dc1 to %.loc15_46.3 = in_place_init %.loc15_46.2 [concrete = constants.%float.895] -// CHECK:STDOUT: %impl.elem0.loc15_46.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_46.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_46.3: = bound_method %int_1, %impl.elem0.loc15_46.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc15_46.2: = specific_function %impl.elem0.loc15_46.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_46.4: = bound_method %int_1, %specific_fn.loc15_46.2 [concrete = constants.%bound_method.953] @@ -168,7 +168,7 @@ var z: i32 = y; // CHECK:STDOUT: %x.ref: ref %struct_type.a.b.09c = name_ref x, file.%x [concrete = file.%x.var] // CHECK:STDOUT: %.loc16_15.1: ref %i32 = struct_access %x.ref, element1 [concrete = constants.%.423] // CHECK:STDOUT: %.loc16_15.2: %i32 = acquire_value %.loc16_15.1 -// CHECK:STDOUT: %impl.elem0.loc16: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc16: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_15.1: = bound_method %.loc16_15.2, %impl.elem0.loc16 // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_15.2: = bound_method %.loc16_15.2, %specific_fn.loc16 @@ -176,7 +176,7 @@ var z: i32 = y; // CHECK:STDOUT: assign file.%y.var, %Int.as.Copy.impl.Op.call.loc16 // CHECK:STDOUT: %y.ref: ref %i32 = name_ref y, file.%y [concrete = file.%y.var] // CHECK:STDOUT: %.loc17: %i32 = acquire_value %y.ref -// CHECK:STDOUT: %impl.elem0.loc17: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc17: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc17_14.1: = bound_method %.loc17, %impl.elem0.loc17 // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc17_14.2: = bound_method %.loc17, %specific_fn.loc17 diff --git a/toolchain/check/testdata/struct/one_entry.carbon b/toolchain/check/testdata/struct/one_entry.carbon index f0c95e213353..7347ffb6e680 100644 --- a/toolchain/check/testdata/struct/one_entry.carbon +++ b/toolchain/check/testdata/struct/one_entry.carbon @@ -37,12 +37,12 @@ var y: {.a: i32} = x; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_4.0c1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -53,12 +53,12 @@ var y: {.a: i32} = x; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -73,10 +73,10 @@ var y: {.a: i32} = x; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -112,7 +112,7 @@ var y: {.a: i32} = x; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %.loc15_27.1: %struct_type.a.a6c = struct_literal (%int_4) [concrete = constants.%struct.2cb] -// CHECK:STDOUT: %impl.elem0.loc15: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_27.1: = bound_method %int_4, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_27.2: = bound_method %int_4, %specific_fn.loc15 [concrete = constants.%bound_method] @@ -124,7 +124,7 @@ var y: {.a: i32} = x; // CHECK:STDOUT: %x.ref: ref %struct_type.a.a92 = name_ref x, file.%x [concrete = file.%x.var] // CHECK:STDOUT: %.loc16_20.1: ref %i32 = struct_access %x.ref, element0 [concrete = constants.%.fb9] // CHECK:STDOUT: %.loc16_20.2: %i32 = acquire_value %.loc16_20.1 -// CHECK:STDOUT: %impl.elem0.loc16: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc16: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_20.1: = bound_method %.loc16_20.2, %impl.elem0.loc16 // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_20.2: = bound_method %.loc16_20.2, %specific_fn.loc16 diff --git a/toolchain/check/testdata/struct/partially_const.carbon b/toolchain/check/testdata/struct/partially_const.carbon index e84fb8aa0058..762b8eb7a464 100644 --- a/toolchain/check/testdata/struct/partially_const.carbon +++ b/toolchain/check/testdata/struct/partially_const.carbon @@ -42,12 +42,12 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -55,12 +55,12 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -75,10 +75,10 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -112,7 +112,7 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n // CHECK:STDOUT: %int_0.loc16_32: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc16_33.1: %struct_type.a.b.c.203 = struct_literal (%int_0.loc16_16, %n.ref, %int_0.loc16_32) -// CHECK:STDOUT: %impl.elem0.loc16_33.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16_33.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_33.1: = bound_method %int_0.loc16_16, %impl.elem0.loc16_33.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc16_33.1: = specific_function %impl.elem0.loc16_33.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_33.2: = bound_method %int_0.loc16_16, %specific_fn.loc16_33.1 [concrete = constants.%bound_method] @@ -120,14 +120,14 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: %.loc16_33.2: init %i32 = converted %int_0.loc16_16, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc16_33.1 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc16_33.3: ref %i32 = struct_access %return.param, element0 // CHECK:STDOUT: %.loc16_33.4: init %i32 to %.loc16_33.3 = in_place_init %.loc16_33.2 [concrete = constants.%int_0.3c0] -// CHECK:STDOUT: %impl.elem0.loc16_24: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc16_24: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_24.1: = bound_method %n.ref, %impl.elem0.loc16_24 // CHECK:STDOUT: %specific_fn.loc16_24: = specific_function %impl.elem0.loc16_24, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_24.2: = bound_method %n.ref, %specific_fn.loc16_24 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call: init %i32 = call %bound_method.loc16_24.2(%n.ref) // CHECK:STDOUT: %.loc16_33.5: ref %i32 = struct_access %return.param, element1 // CHECK:STDOUT: %.loc16_33.6: init %i32 to %.loc16_33.5 = in_place_init %Int.as.Copy.impl.Op.call -// CHECK:STDOUT: %impl.elem0.loc16_33.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc16_33.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc16_33.3: = bound_method %int_0.loc16_32, %impl.elem0.loc16_33.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc16_33.2: = specific_function %impl.elem0.loc16_33.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_33.4: = bound_method %int_0.loc16_32, %specific_fn.loc16_33.2 [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/struct/reorder_fields.carbon b/toolchain/check/testdata/struct/reorder_fields.carbon index d86a961442c8..e3bf441b0cca 100644 --- a/toolchain/check/testdata/struct/reorder_fields.carbon +++ b/toolchain/check/testdata/struct/reorder_fields.carbon @@ -59,21 +59,21 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.987: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.987) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet.987 [concrete] +// CHECK:STDOUT: %Copy.facet.1e1: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.1e1) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet.1e1 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.ff3: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Float.as.Copy.impl.Op.d93: %Float.as.Copy.impl.Op.type.ff3 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.873: = impl_witness imports.%Copy.impl_witness_table.4e8, @Float.as.Copy.impl(%int_64) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.0d6: = impl_witness imports.%Copy.impl_witness_table.8dd, @Float.as.Copy.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.type.7aa: type = fn_type @Float.as.Copy.impl.Op, @Float.as.Copy.impl(%int_64) [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.9c2: %Float.as.Copy.impl.Op.type.7aa = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet.608: %Copy.type = facet_value %f64.dc1, (%Copy.impl_witness.873) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.2ca: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.608) [concrete] -// CHECK:STDOUT: %.557: type = fn_type_with_self_type %Copy.WithSelf.Op.type.2ca, %Copy.facet.608 [concrete] +// CHECK:STDOUT: %Copy.facet.98c: %Copy.type = facet_value %f64.dc1, (%Copy.impl_witness.0d6) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.aa5: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet.98c) [concrete] +// CHECK:STDOUT: %.625: type = fn_type_with_self_type %Copy.WithSelf.Op.type.aa5, %Copy.facet.98c [concrete] // CHECK:STDOUT: %Float.as.Copy.impl.Op.specific_fn: = specific_function %Float.as.Copy.impl.Op.9c2, @Float.as.Copy.impl.Op(%int_64) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -89,9 +89,9 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %Core.Float: %Float.type = import_ref Core//prelude/parts/float, Float, loaded [concrete = constants.%Float.generic] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.e69: @Float.as.Copy.impl.%Float.as.Copy.impl.Op.type (%Float.as.Copy.impl.Op.type.ff3) = import_ref Core//prelude/parts/float, loc{{\d+_\d+}}, loaded [symbolic = @Float.as.Copy.impl.%Float.as.Copy.impl.Op (constants.%Float.as.Copy.impl.Op.d93)] -// CHECK:STDOUT: %Copy.impl_witness_table.4e8 = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8dd = impl_witness_table (%Core.import_ref.e69), @Float.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -175,7 +175,7 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: } // CHECK:STDOUT: %y.ref: %struct_type.b.a = name_ref y, %y // CHECK:STDOUT: %.loc21_10.1: %i32 = struct_access %y.ref, element1 -// CHECK:STDOUT: %impl.elem0.loc21_10.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc21_10.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc21_10.1: = bound_method %.loc21_10.1, %impl.elem0.loc21_10.1 // CHECK:STDOUT: %specific_fn.loc21_10.1: = specific_function %impl.elem0.loc21_10.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc21_10.2: = bound_method %.loc21_10.1, %specific_fn.loc21_10.1 @@ -183,7 +183,7 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %.loc21_10.2: ref %i32 = struct_access %return.param, element1 // CHECK:STDOUT: %.loc21_10.3: init %i32 to %.loc21_10.2 = in_place_init %Int.as.Copy.impl.Op.call // CHECK:STDOUT: %.loc21_10.4: %f64.dc1 = struct_access %y.ref, element0 -// CHECK:STDOUT: %impl.elem0.loc21_10.2: %.557 = impl_witness_access constants.%Copy.impl_witness.873, element0 [concrete = constants.%Float.as.Copy.impl.Op.9c2] +// CHECK:STDOUT: %impl.elem0.loc21_10.2: %.625 = impl_witness_access constants.%Copy.impl_witness.0d6, element0 [concrete = constants.%Float.as.Copy.impl.Op.9c2] // CHECK:STDOUT: %bound_method.loc21_10.3: = bound_method %.loc21_10.4, %impl.elem0.loc21_10.2 // CHECK:STDOUT: %specific_fn.loc21_10.2: = specific_function %impl.elem0.loc21_10.2, @Float.as.Copy.impl.Op(constants.%int_64) [concrete = constants.%Float.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc21_10.4: = bound_method %.loc21_10.4, %specific_fn.loc21_10.2 diff --git a/toolchain/check/testdata/struct/tuple_as_element.carbon b/toolchain/check/testdata/struct/tuple_as_element.carbon index 0a4bbb8186ca..cb0dd2a65d43 100644 --- a/toolchain/check/testdata/struct/tuple_as_element.carbon +++ b/toolchain/check/testdata/struct/tuple_as_element.carbon @@ -43,12 +43,12 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -66,12 +66,12 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %.9fb: ref %tuple.type.a8a = struct_access file.%y.var, element1 [concrete] // CHECK:STDOUT: } @@ -87,10 +87,10 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -134,7 +134,7 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc15_49.1: %tuple.type.985 = tuple_literal (%int_2) [concrete = constants.%tuple.e7e] // CHECK:STDOUT: %.loc15_50.1: %struct_type.a.b.057 = struct_literal (%int_1, %.loc15_49.1) [concrete = constants.%struct.60a] -// CHECK:STDOUT: %impl.elem0.loc15_50: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_50: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_50.1: = bound_method %int_1, %impl.elem0.loc15_50 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc15_50: = specific_function %impl.elem0.loc15_50, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_50.2: = bound_method %int_1, %specific_fn.loc15_50 [concrete = constants.%bound_method.953] @@ -142,7 +142,7 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %.loc15_50.2: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc15_50 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc15_50.3: ref %i32 = struct_access file.%x.var, element0 [concrete = constants.%.fa0] // CHECK:STDOUT: %.loc15_50.4: init %i32 to %.loc15_50.3 = in_place_init %.loc15_50.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc15_49: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_49: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_49.1: = bound_method %int_2, %impl.elem0.loc15_49 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc15_49: = specific_function %impl.elem0.loc15_49, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_49.2: = bound_method %int_2, %specific_fn.loc15_49 [concrete = constants.%bound_method.3cb] @@ -158,7 +158,7 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %x.ref: ref %struct_type.a.b.388 = name_ref x, file.%x [concrete = file.%x.var] // CHECK:STDOUT: %.loc16_32.1: ref %i32 = struct_access %x.ref, element0 [concrete = constants.%.fa0] // CHECK:STDOUT: %.loc16_32.2: %i32 = acquire_value %.loc16_32.1 -// CHECK:STDOUT: %impl.elem0.loc16_32.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc16_32.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_32.1: = bound_method %.loc16_32.2, %impl.elem0.loc16_32.1 // CHECK:STDOUT: %specific_fn.loc16_32.1: = specific_function %impl.elem0.loc16_32.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_32.2: = bound_method %.loc16_32.2, %specific_fn.loc16_32.1 @@ -168,7 +168,7 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %.loc16_32.5: ref %tuple.type.a8a = struct_access %x.ref, element1 [concrete = constants.%.f08] // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %.loc16_32.5, element0 [concrete = constants.%tuple.elem0.153] // CHECK:STDOUT: %.loc16_32.6: %i32 = acquire_value %tuple.elem0 -// CHECK:STDOUT: %impl.elem0.loc16_32.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc16_32.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc16_32.3: = bound_method %.loc16_32.6, %impl.elem0.loc16_32.2 // CHECK:STDOUT: %specific_fn.loc16_32.2: = specific_function %impl.elem0.loc16_32.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc16_32.4: = bound_method %.loc16_32.6, %specific_fn.loc16_32.2 diff --git a/toolchain/check/testdata/struct/two_entries.carbon b/toolchain/check/testdata/struct/two_entries.carbon index 7a35d968e465..61266c22acf3 100644 --- a/toolchain/check/testdata/struct/two_entries.carbon +++ b/toolchain/check/testdata/struct/two_entries.carbon @@ -39,12 +39,12 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -64,12 +64,12 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %.5b7: ref %i32 = struct_access file.%y.var, element1 [concrete] // CHECK:STDOUT: } @@ -85,10 +85,10 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/parts/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.0ff = import_ref Core//prelude/parts/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.Copy: type = import_ref Core//prelude/parts/copy, Copy, loaded [concrete = constants.%Copy.type] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -100,14 +100,14 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: .y = %y // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core -// CHECK:STDOUT: %impl.elem0.loc15_44.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_44.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_44.1: = bound_method @__global_init.%int_1.loc15, %impl.elem0.loc15_44.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc15_44.1: = specific_function %impl.elem0.loc15_44.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_44.2: = bound_method @__global_init.%int_1.loc15, %specific_fn.loc15_44.1 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc15_44.1: init %i32 = call %bound_method.loc15_44.2(@__global_init.%int_1.loc15) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc15_44.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc15_44.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc15_44.2: %i32 = converted @__global_init.%int_1.loc15, %.loc15_44.1 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc15_44.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc15_44.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc15_44.3: = bound_method @__global_init.%int_2.loc15, %impl.elem0.loc15_44.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc15_44.2: = specific_function %impl.elem0.loc15_44.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc15_44.4: = bound_method @__global_init.%int_2.loc15, %specific_fn.loc15_44.2 [concrete = constants.%bound_method.3cb] @@ -167,7 +167,7 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc18: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc18_44.1: %struct_type.a.b.cfd = struct_literal (%int_1.loc18, %int_2.loc18) [concrete = constants.%struct.4aa] -// CHECK:STDOUT: %impl.elem0.loc18_44.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_44.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_44.1: = bound_method %int_1.loc18, %impl.elem0.loc18_44.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc18_44.1: = specific_function %impl.elem0.loc18_44.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_44.2: = bound_method %int_1.loc18, %specific_fn.loc18_44.1 [concrete = constants.%bound_method.953] @@ -175,7 +175,7 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %.loc18_44.2: init %i32 = converted %int_1.loc18, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18_44.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc18_44.3: ref %i32 = struct_access file.%x.var, element0 [concrete = constants.%.58a] // CHECK:STDOUT: %.loc18_44.4: init %i32 to %.loc18_44.3 = in_place_init %.loc18_44.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc18_44.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc18_44.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc18_44.3: = bound_method %int_2.loc18, %impl.elem0.loc18_44.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc18_44.2: = specific_function %impl.elem0.loc18_44.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_44.4: = bound_method %int_2.loc18, %specific_fn.loc18_44.2 [concrete = constants.%bound_method.3cb] @@ -189,7 +189,7 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %x.ref: ref %struct_type.a.b.b4c = name_ref x, file.%x [concrete = file.%x.var] // CHECK:STDOUT: %.loc19_29.1: ref %i32 = struct_access %x.ref, element0 [concrete = constants.%.58a] // CHECK:STDOUT: %.loc19_29.2: %i32 = acquire_value %.loc19_29.1 -// CHECK:STDOUT: %impl.elem0.loc19_29.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc19_29.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc19_29.1: = bound_method %.loc19_29.2, %impl.elem0.loc19_29.1 // CHECK:STDOUT: %specific_fn.loc19_29.1: = specific_function %impl.elem0.loc19_29.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc19_29.2: = bound_method %.loc19_29.2, %specific_fn.loc19_29.1 @@ -198,7 +198,7 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %.loc19_29.4: init %i32 to %.loc19_29.3 = in_place_init %Int.as.Copy.impl.Op.call.loc19_29.1 // CHECK:STDOUT: %.loc19_29.5: ref %i32 = struct_access %x.ref, element1 [concrete = constants.%.af3] // CHECK:STDOUT: %.loc19_29.6: %i32 = acquire_value %.loc19_29.5 -// CHECK:STDOUT: %impl.elem0.loc19_29.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc19_29.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc19_29.3: = bound_method %.loc19_29.6, %impl.elem0.loc19_29.2 // CHECK:STDOUT: %specific_fn.loc19_29.2: = specific_function %impl.elem0.loc19_29.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc19_29.4: = bound_method %.loc19_29.6, %specific_fn.loc19_29.2 diff --git a/toolchain/check/testdata/tuple/element_access.carbon b/toolchain/check/testdata/tuple/element_access.carbon index b0123e241c2a..f8bf680c9e49 100644 --- a/toolchain/check/testdata/tuple/element_access.carbon +++ b/toolchain/check/testdata/tuple/element_access.carbon @@ -213,12 +213,12 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %c.patt: %pattern_type.6b6 = ref_binding_pattern c [concrete] // CHECK:STDOUT: %c.var_patt: %pattern_type.6b6 = var_pattern %c.patt [concrete] @@ -227,7 +227,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -247,7 +247,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %tuple.elem0.loc6: ref %i32 = tuple_access %b.ref, element0 [concrete = constants.%tuple.elem0.332] // CHECK:STDOUT: %.loc6: %i32 = acquire_value %tuple.elem0.loc6 -// CHECK:STDOUT: %impl.elem0.loc6: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_15.1: = bound_method %.loc6, %impl.elem0.loc6 // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_15.2: = bound_method %.loc6, %specific_fn.loc6 @@ -281,12 +281,12 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] // CHECK:STDOUT: %c.patt: %pattern_type.cb1 = ref_binding_pattern c [concrete] @@ -295,22 +295,22 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %As.type.155: type = facet_type <@As, @As(%i32)> [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.c5d: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.6ee: %Core.IntLiteral.as.As.impl.Convert.type.c5d = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.03e: = impl_witness imports.%As.impl_witness_table.1c5, @Core.IntLiteral.as.As.impl(%int_32) [concrete] +// CHECK:STDOUT: %As.impl_witness.e7f: = impl_witness imports.%As.impl_witness_table.d22, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.e79: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.8a4: %Core.IntLiteral.as.As.impl.Convert.type.e79 = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.03e) [concrete] -// CHECK:STDOUT: %As.WithSelf.Convert.type.8ea: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] -// CHECK:STDOUT: %.fbc: type = fn_type_with_self_type %As.WithSelf.Convert.type.8ea, %As.facet [concrete] +// CHECK:STDOUT: %As.facet: %As.type.155 = facet_value Core.IntLiteral, (%As.impl_witness.e7f) [concrete] +// CHECK:STDOUT: %As.WithSelf.Convert.type.d02: type = fn_type @As.WithSelf.Convert, @As.WithSelf(%i32, %As.facet) [concrete] +// CHECK:STDOUT: %.453: type = fn_type_with_self_type %As.WithSelf.Convert.type.d02, %As.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound.0e7: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.8a4 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.8a4, @Core.IntLiteral.as.As.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.0fb: = bound_method %int_0.5c6, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %int_0.3c0: %i32 = int_value 0 [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.416: = impl_witness imports.%ImplicitAs.impl_witness_table.b8b, @Int.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.590: = impl_witness imports.%ImplicitAs.impl_witness_table.204, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.type.683: type = fn_type @Int.as.ImplicitAs.impl.Convert, @Int.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.69e: %Int.as.ImplicitAs.impl.Convert.type.683 = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet.657: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.416) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.dc6: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.657) [concrete] -// CHECK:STDOUT: %.b08: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.dc6, %ImplicitAs.facet.657 [concrete] +// CHECK:STDOUT: %ImplicitAs.facet.8de: %ImplicitAs.type.7cb = facet_value %i32, (%ImplicitAs.impl_witness.590) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.177: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(Core.IntLiteral, %ImplicitAs.facet.8de) [concrete] +// CHECK:STDOUT: %.e3f: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.177, %ImplicitAs.facet.8de [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.bound.319: = bound_method %int_0.3c0, %Int.as.ImplicitAs.impl.Convert.69e [concrete] // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Int.as.ImplicitAs.impl.Convert.69e, @Int.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.df0: = bound_method %int_0.3c0, %Int.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -327,11 +327,11 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.32e: @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert.type (%Int.as.ImplicitAs.impl.Convert.type.48d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.ImplicitAs.impl.%Int.as.ImplicitAs.impl.Convert (constants.%Int.as.ImplicitAs.impl.Convert.0f9)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b8b = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.204 = impl_witness_table (%Core.import_ref.32e), @Int.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %Core.import_ref.64b: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.c5d) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.6ee)] -// CHECK:STDOUT: %As.impl_witness_table.1c5 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.d22 = impl_witness_table (%Core.import_ref.64b), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -372,7 +372,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %.loc5_29: Core.IntLiteral = struct_access %.loc5_28.2, element0 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %tuple.elem1.loc5: ref %i32 = tuple_access %a.ref.loc5, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc5_15: %i32 = acquire_value %tuple.elem1.loc5 -// CHECK:STDOUT: %impl.elem0.loc5: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc5: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc5_15.1: = bound_method %.loc5_15, %impl.elem0.loc5 // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc5_15.2: = bound_method %.loc5_15, %specific_fn.loc5 @@ -381,14 +381,14 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %a.ref.loc6: ref %tuple.type.e56 = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0.loc6_18.1: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0.loc6_18.1: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc6_18.1: = bound_method %int_0, %impl.elem0.loc6_18.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.0e7] // CHECK:STDOUT: %specific_fn.loc6_18.1: = specific_function %impl.elem0.loc6_18.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_18.2: = bound_method %int_0, %specific_fn.loc6_18.1 [concrete = constants.%bound_method.0fb] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc6: init %i32 = call %bound_method.loc6_18.2(%int_0) [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc6_18.1: %i32 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc6 [concrete = constants.%int_0.3c0] // CHECK:STDOUT: %.loc6_18.2: %i32 = converted %int_0, %.loc6_18.1 [concrete = constants.%int_0.3c0] -// CHECK:STDOUT: %impl.elem0.loc6_18.2: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0.loc6_18.2: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc6_18.3: = bound_method %.loc6_18.2, %impl.elem0.loc6_18.2 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound.319] // CHECK:STDOUT: %specific_fn.loc6_18.2: = specific_function %impl.elem0.loc6_18.2, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc6_18.4: = bound_method %.loc6_18.2, %specific_fn.loc6_18.2 [concrete = constants.%bound_method.df0] @@ -402,7 +402,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %a.ref.loc7: ref %tuple.type.e56 = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_1.loc7: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] -// CHECK:STDOUT: %impl.elem0.loc7_29: %.fbc = impl_witness_access constants.%As.impl_witness.03e, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] +// CHECK:STDOUT: %impl.elem0.loc7_29: %.453 = impl_witness_access constants.%As.impl_witness.e7f, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.8a4] // CHECK:STDOUT: %bound_method.loc7_29.1: = bound_method %int_1.loc7, %impl.elem0.loc7_29 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.3a0] // CHECK:STDOUT: %specific_fn.loc7_29: = specific_function %impl.elem0.loc7_29, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_29.2: = bound_method %int_1.loc7, %specific_fn.loc7_29 [concrete = constants.%bound_method.18b] @@ -413,7 +413,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %struct.loc7: %struct_type.index.eeb = struct_value (%.loc7_29.2) [concrete = constants.%struct.1e7] // CHECK:STDOUT: %.loc7_35.2: %struct_type.index.eeb = converted %.loc7_35.1, %struct.loc7 [concrete = constants.%struct.1e7] // CHECK:STDOUT: %.loc7_36.1: %i32 = struct_access %.loc7_35.2, element0 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc7_36: %.b08 = impl_witness_access constants.%ImplicitAs.impl_witness.416, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] +// CHECK:STDOUT: %impl.elem0.loc7_36: %.e3f = impl_witness_access constants.%ImplicitAs.impl_witness.590, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.69e] // CHECK:STDOUT: %bound_method.loc7_36.1: = bound_method %.loc7_36.1, %impl.elem0.loc7_36 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound.276] // CHECK:STDOUT: %specific_fn.loc7_36: = specific_function %impl.elem0.loc7_36, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_36.2: = bound_method %.loc7_36.1, %specific_fn.loc7_36 [concrete = constants.%bound_method.f53] @@ -422,7 +422,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %.loc7_36.3: Core.IntLiteral = converted %.loc7_36.1, %.loc7_36.2 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %tuple.elem1.loc7: ref %i32 = tuple_access %a.ref.loc7, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc7_15: %i32 = acquire_value %tuple.elem1.loc7 -// CHECK:STDOUT: %impl.elem0.loc7_15: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc7_15: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc7_15.1: = bound_method %.loc7_15, %impl.elem0.loc7_15 // CHECK:STDOUT: %specific_fn.loc7_15: = specific_function %impl.elem0.loc7_15, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_15.2: = bound_method %.loc7_15, %specific_fn.loc7_15 @@ -444,18 +444,18 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @Run() -> out %return.param: %i32 { @@ -466,7 +466,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %.loc7_12.1: %tuple.type.a8a = value_of_initializer %F.call // CHECK:STDOUT: %.loc7_12.2: %tuple.type.a8a = converted %F.call, %.loc7_12.1 // CHECK:STDOUT: %tuple.elem0: %i32 = tuple_access %.loc7_12.2, element0 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc7_13.1: = bound_method %tuple.elem0, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_13.2: = bound_method %tuple.elem0, %specific_fn diff --git a/toolchain/check/testdata/tuple/import.carbon b/toolchain/check/testdata/tuple/import.carbon index e72219f9a49e..e3298258ccf7 100644 --- a/toolchain/check/testdata/tuple/import.carbon +++ b/toolchain/check/testdata/tuple/import.carbon @@ -102,12 +102,12 @@ fn F() -> (i32,) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %tuple.type.8c7: type = tuple_type (%tuple.type.85c, type) [concrete] // CHECK:STDOUT: %tuple.8ca: %tuple.type.8c7 = tuple_value (%tuple.19c, %i32) [concrete] @@ -143,12 +143,12 @@ fn F() -> (i32,) { // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] // CHECK:STDOUT: %tuple.ad8: %tuple.type.f94 = tuple_value (%int_1.5b8, %int_2.ecc) [concrete] // CHECK:STDOUT: %ImplicitAs.type.914: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] -// CHECK:STDOUT: %ImplicitAs.impl_witness.778: = impl_witness imports.%ImplicitAs.impl_witness_table.1f3, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.778) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.2eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.d74: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.2eb, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -171,10 +171,10 @@ fn F() -> (i32,) { // 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.717: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Implicit//default, inst{{[0-9A-F]+}} [indirect], loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1f3 = impl_witness_table (%Implicit.import_ref.717), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Implicit.import_ref.717), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: %a_ref.var: ref %tuple.type.a8a = var_storage constants.%a_ref.var_patt [concrete] // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: %b_ref.var: ref %tuple.type.e23 = var_storage constants.%b_ref.var_patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -216,14 +216,14 @@ fn F() -> (i32,) { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc7_15.1: %tuple.type.f94 = tuple_literal (%int_1, %int_2) [concrete = constants.%tuple.ad8] -// CHECK:STDOUT: %impl.elem0.loc7_15.1: %.d74 = impl_witness_access constants.%ImplicitAs.impl_witness.778, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7_15.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_15.1: = bound_method %int_1, %impl.elem0.loc7_15.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc7_15.1: = specific_function %impl.elem0.loc7_15.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_15.2: = bound_method %int_1, %specific_fn.loc7_15.1 [concrete = constants.%bound_method.953] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc7_15.1: init %i32 = call %bound_method.loc7_15.2(%int_1) [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc7_15.2: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc7_15.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %.loc7_15.3: %i32 = converted %int_1, %.loc7_15.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc7_15.2: %.d74 = impl_witness_access constants.%ImplicitAs.impl_witness.778, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc7_15.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc7_15.3: = bound_method %int_2, %impl.elem0.loc7_15.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc7_15.2: = specific_function %impl.elem0.loc7_15.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_15.4: = bound_method %int_2, %specific_fn.loc7_15.2 [concrete = constants.%bound_method.3cb] @@ -246,7 +246,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: %a_ref.ref: ref %tuple.type.a8a = name_ref a_ref, imports.%Implicit.a_ref [concrete = imports.%a_ref.var] // CHECK:STDOUT: %tuple.elem0.loc5: ref %i32 = tuple_access %a_ref.ref, element0 [concrete = constants.%tuple.elem0.4b5] // CHECK:STDOUT: %.loc5_17.1: %i32 = acquire_value %tuple.elem0.loc5 -// CHECK:STDOUT: %impl.elem0.loc5: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc5: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc5_17.1: = bound_method %.loc5_17.1, %impl.elem0.loc5 // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc5_17.2: = bound_method %.loc5_17.1, %specific_fn.loc5 @@ -259,7 +259,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: %tuple.elem0.loc6_38.2: ref %tuple.type.a8a = tuple_access %tuple.elem0.loc6_38.1, element0 [concrete = constants.%tuple.elem0.d1c] // CHECK:STDOUT: %tuple.elem0.loc6_38.3: ref %i32 = tuple_access %tuple.elem0.loc6_38.2, element0 [concrete = constants.%tuple.elem0.ee8] // CHECK:STDOUT: %.loc6_38.1: %i32 = acquire_value %tuple.elem0.loc6_38.3 -// CHECK:STDOUT: %impl.elem0.loc6_38.1: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_38.1: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_38.1: = bound_method %.loc6_38.1, %impl.elem0.loc6_38.1 // CHECK:STDOUT: %specific_fn.loc6_38.1: = specific_function %impl.elem0.loc6_38.1, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_38.2: = bound_method %.loc6_38.1, %specific_fn.loc6_38.1 @@ -271,7 +271,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: %.loc6_38.4: init %tuple.type.a8a to %tuple.elem0.loc6_38.5 = in_place_init %.loc6_38.3 // CHECK:STDOUT: %tuple.elem1.loc6_38.1: ref %i32 = tuple_access %tuple.elem0.loc6_38.1, element1 [concrete = constants.%tuple.elem1.7f0] // CHECK:STDOUT: %.loc6_38.5: %i32 = acquire_value %tuple.elem1.loc6_38.1 -// CHECK:STDOUT: %impl.elem0.loc6_38.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_38.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_38.3: = bound_method %.loc6_38.5, %impl.elem0.loc6_38.2 // CHECK:STDOUT: %specific_fn.loc6_38.2: = specific_function %impl.elem0.loc6_38.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_38.4: = bound_method %.loc6_38.5, %specific_fn.loc6_38.2 @@ -283,7 +283,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: %tuple.elem1.loc6_38.3: ref %tuple.type.e55 = tuple_access %b_ref.ref, element1 [concrete = constants.%tuple.elem1.3ba] // CHECK:STDOUT: %tuple.elem0.loc6_38.6: ref %i32 = tuple_access %tuple.elem1.loc6_38.3, element0 [concrete = constants.%tuple.elem0.179] // CHECK:STDOUT: %.loc6_38.9: %i32 = acquire_value %tuple.elem0.loc6_38.6 -// CHECK:STDOUT: %impl.elem0.loc6_38.3: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_38.3: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_38.5: = bound_method %.loc6_38.9, %impl.elem0.loc6_38.3 // CHECK:STDOUT: %specific_fn.loc6_38.3: = specific_function %impl.elem0.loc6_38.3, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_38.6: = bound_method %.loc6_38.9, %specific_fn.loc6_38.3 @@ -293,7 +293,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: %.loc6_38.10: init %i32 to %tuple.elem0.loc6_38.7 = in_place_init %Int.as.Copy.impl.Op.call.loc6_38.3 // CHECK:STDOUT: %tuple.elem1.loc6_38.5: ref %i32 = tuple_access %tuple.elem1.loc6_38.3, element1 [concrete = constants.%tuple.elem1.fa9] // CHECK:STDOUT: %.loc6_38.11: %i32 = acquire_value %tuple.elem1.loc6_38.5 -// CHECK:STDOUT: %impl.elem0.loc6_38.4: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc6_38.4: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc6_38.7: = bound_method %.loc6_38.11, %impl.elem0.loc6_38.4 // CHECK:STDOUT: %specific_fn.loc6_38.4: = specific_function %impl.elem0.loc6_38.4, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc6_38.8: = bound_method %.loc6_38.11, %specific_fn.loc6_38.4 @@ -330,12 +330,12 @@ fn F() -> (i32,) { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.bound: = bound_method %int_1, %Int.as.Copy.impl.Op.4f6 [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_1, %Int.as.Copy.impl.Op.specific_fn [concrete] @@ -350,7 +350,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: %Main.import_ref.823: %tuple.type.a8a = import_ref Main//symbolic_decl, loc5_12, loaded [concrete = %value] // CHECK:STDOUT: %value: %tuple.type.a8a = assoc_const_decl @value [concrete] {} // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> out %return.param: %tuple.type.a8a { @@ -364,7 +364,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: %value.ref: %I.assoc_type = name_ref value, imports.%Main.import_ref.5c2 [concrete = constants.%assoc0.95e] // CHECK:STDOUT: %impl.elem0.loc7_18.1: %tuple.type.a8a = impl_witness_access constants.%I.impl_witness, element0 [concrete = constants.%tuple.a1e] // CHECK:STDOUT: %tuple.elem0: %i32 = tuple_access %impl.elem0.loc7_18.1, element0 [concrete = constants.%int_1] -// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0.loc7_18.2: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc7_18.1: = bound_method %tuple.elem0, %impl.elem0.loc7_18.2 [concrete = constants.%Int.as.Copy.impl.Op.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc7_18.2, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc7_18.2: = bound_method %tuple.elem0, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon index 4c9bf426bd96..1357988052a3 100644 --- a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon +++ b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon @@ -70,18 +70,18 @@ fn H() { // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.ac8: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%N) [symbolic] // CHECK:STDOUT: %Int.as.Copy.impl.Op.5e0: %Int.as.Copy.impl.Op.type.ac8 = struct_value () [symbolic] -// CHECK:STDOUT: %Copy.impl_witness.0e0: = impl_witness imports.%Copy.impl_witness_table.367, @Int.as.Copy.impl(%int_32) [concrete] +// CHECK:STDOUT: %Copy.impl_witness.b51: = impl_witness imports.%Copy.impl_witness_table.8d2, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.type.3f6: type = fn_type @Int.as.Copy.impl.Op, @Int.as.Copy.impl(%int_32) [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.4f6: %Int.as.Copy.impl.Op.type.3f6 = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.0e0) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.d09: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] -// CHECK:STDOUT: %.7a6: type = fn_type_with_self_type %Copy.WithSelf.Op.type.d09, %Copy.facet [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %i32, (%Copy.impl_witness.b51) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.381: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %.737: type = fn_type_with_self_type %Copy.WithSelf.Op.type.381, %Copy.facet [concrete] // CHECK:STDOUT: %Int.as.Copy.impl.Op.specific_fn: = specific_function %Int.as.Copy.impl.Op.4f6, @Int.as.Copy.impl.Op(%int_32) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.cd6: @Int.as.Copy.impl.%Int.as.Copy.impl.Op.type (%Int.as.Copy.impl.Op.type.ac8) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Int.as.Copy.impl.%Int.as.Copy.impl.Op (constants.%Int.as.Copy.impl.Op.5e0)] -// CHECK:STDOUT: %Copy.impl_witness_table.367 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] +// CHECK:STDOUT: %Copy.impl_witness_table.8d2 = impl_witness_table (%Core.import_ref.cd6), @Int.as.Copy.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @G() -> out %return.param: %tuple.type.e55 { @@ -136,7 +136,7 @@ fn H() { // CHECK:STDOUT: %.loc15_12.2: ref %tuple.type.e55 = temporary %.loc15_12.1, %G.call // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %.loc15_12.2, element0 // CHECK:STDOUT: %.loc15_13: %i32 = acquire_value %tuple.elem0 -// CHECK:STDOUT: %impl.elem0: %.7a6 = impl_witness_access constants.%Copy.impl_witness.0e0, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] +// CHECK:STDOUT: %impl.elem0: %.737 = impl_witness_access constants.%Copy.impl_witness.b51, element0 [concrete = constants.%Int.as.Copy.impl.Op.4f6] // CHECK:STDOUT: %bound_method.loc15_13.1: = bound_method %.loc15_13, %impl.elem0 // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] // CHECK:STDOUT: %bound_method.loc15_13.2: = bound_method %.loc15_13, %specific_fn @@ -179,12 +179,12 @@ fn H() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method.953: = bound_method %int_1.5b8, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -198,7 +198,7 @@ fn H() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @G() { @@ -264,7 +264,7 @@ fn H() { // CHECK:STDOUT: %F.call: init %tuple.type.555 to %tuple.elem1 = call %F.ref() // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc13_57.1: %tuple.type.c47 = tuple_literal (%int_1, %F.call, %int_2) -// CHECK:STDOUT: %impl.elem0.loc13_57.1: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13_57.1: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_57.1: = bound_method %int_1, %impl.elem0.loc13_57.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.094] // CHECK:STDOUT: %specific_fn.loc13_57.1: = specific_function %impl.elem0.loc13_57.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_57.2: = bound_method %int_1, %specific_fn.loc13_57.1 [concrete = constants.%bound_method.953] @@ -272,7 +272,7 @@ fn H() { // CHECK:STDOUT: %.loc13_57.2: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc13_57.1 [concrete = constants.%int_1.0c6] // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %v.var, element0 // CHECK:STDOUT: %.loc13_57.3: init %i32 to %tuple.elem0 = in_place_init %.loc13_57.2 [concrete = constants.%int_1.0c6] -// CHECK:STDOUT: %impl.elem0.loc13_57.2: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0.loc13_57.2: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc13_57.3: = bound_method %int_2, %impl.elem0.loc13_57.2 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.9f3] // CHECK:STDOUT: %specific_fn.loc13_57.2: = specific_function %impl.elem0.loc13_57.2, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_57.4: = bound_method %int_2, %specific_fn.loc13_57.2 [concrete = constants.%bound_method.3cb] diff --git a/toolchain/check/testdata/var/export_name.carbon b/toolchain/check/testdata/var/export_name.carbon index c64b9b3999a4..1e3d6708aa60 100644 --- a/toolchain/check/testdata/var/export_name.carbon +++ b/toolchain/check/testdata/var/export_name.carbon @@ -54,10 +54,10 @@ var w: () = v; // CHECK:STDOUT: %T.67d: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.150: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%T.67d) [symbolic] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.53a: %T.as.DefaultOrUnformed.impl.Op.type.150 = struct_value () [symbolic] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.de8: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.374, @T.as.DefaultOrUnformed.impl(%empty_tuple.type) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness.92d: = impl_witness imports.%DefaultOrUnformed.impl_witness_table.856, @T.as.DefaultOrUnformed.impl(%empty_tuple.type) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.type.e3f: type = fn_type @T.as.DefaultOrUnformed.impl.Op, @T.as.DefaultOrUnformed.impl(%empty_tuple.type) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.70a: %T.as.DefaultOrUnformed.impl.Op.type.e3f = struct_value () [concrete] -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %empty_tuple.type, (%DefaultOrUnformed.impl_witness.de8) [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value %empty_tuple.type, (%DefaultOrUnformed.impl_witness.92d) [concrete] // CHECK:STDOUT: %T.as.DefaultOrUnformed.impl.Op.specific_fn: = specific_function %T.as.DefaultOrUnformed.impl.Op.70a, @T.as.DefaultOrUnformed.impl.Op(%empty_tuple.type) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -69,7 +69,7 @@ var w: () = v; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.DefaultOrUnformed: type = import_ref Core//prelude/parts/default, DefaultOrUnformed, loaded [concrete = constants.%DefaultOrUnformed.type] // CHECK:STDOUT: %Core.import_ref.cc8: @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op.type (%T.as.DefaultOrUnformed.impl.Op.type.150) = import_ref Core//prelude/parts/default, loc{{\d+_\d+}}, loaded [symbolic = @T.as.DefaultOrUnformed.impl.%T.as.DefaultOrUnformed.impl.Op (constants.%T.as.DefaultOrUnformed.impl.Op.53a)] -// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.374 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] +// CHECK:STDOUT: %DefaultOrUnformed.impl_witness_table.856 = impl_witness_table (%Core.import_ref.cc8), @T.as.DefaultOrUnformed.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -92,7 +92,7 @@ var w: () = v; // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%empty_tuple.type, (constants.%DefaultOrUnformed.impl_witness.de8) [concrete = constants.%DefaultOrUnformed.facet] +// CHECK:STDOUT: %DefaultOrUnformed.facet: %DefaultOrUnformed.type = facet_value constants.%empty_tuple.type, (constants.%DefaultOrUnformed.impl_witness.92d) [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %.loc4_10.1: %DefaultOrUnformed.type = converted constants.%empty_tuple.type, %DefaultOrUnformed.facet [concrete = constants.%DefaultOrUnformed.facet] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc4_10.1 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %.loc4_10.2: type = converted %.loc4_10.1, %as_type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/lifetime.carbon b/toolchain/check/testdata/var/lifetime.carbon index cb49df55bc98..5cb0b6e0a550 100644 --- a/toolchain/check/testdata/var/lifetime.carbon +++ b/toolchain/check/testdata/var/lifetime.carbon @@ -42,11 +42,11 @@ fn F() { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %A.Clone: %A.Clone.type = struct_value () [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] -// CHECK:STDOUT: %Copy.impl_witness.7c4: = impl_witness @A.as.Copy.impl.%Copy.impl_witness_table [concrete] +// CHECK:STDOUT: %Copy.impl_witness.a05: = impl_witness @A.as.Copy.impl.%Copy.impl_witness_table [concrete] // CHECK:STDOUT: %A.as.Copy.impl.Op.type: type = fn_type @A.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %A.as.Copy.impl.Op: %A.as.Copy.impl.Op.type = struct_value () [concrete] -// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %A, (%Copy.impl_witness.7c4) [concrete] -// CHECK:STDOUT: %Copy.WithSelf.Op.type.573: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] +// CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value %A, (%Copy.impl_witness.a05) [concrete] +// CHECK:STDOUT: %Copy.WithSelf.Op.type.143: type = fn_type @Copy.WithSelf.Op, @Copy.WithSelf(%Copy.facet) [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] @@ -58,7 +58,7 @@ fn F() { // CHECK:STDOUT: %tuple.cc9: %tuple.type.777 = tuple_value (%A.val, %A.val) [concrete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %.367: ref %A = temporary invalid, %A.val [concrete] -// CHECK:STDOUT: %.b68: type = fn_type_with_self_type %Copy.WithSelf.Op.type.573, %Copy.facet [concrete] +// CHECK:STDOUT: %.345: type = fn_type_with_self_type %Copy.WithSelf.Op.type.143, %Copy.facet [concrete] // CHECK:STDOUT: %A.as.Copy.impl.Op.bound: = bound_method %A.val, %A.as.Copy.impl.Op [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.9ef = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.9ef = var_pattern %b.patt [concrete] @@ -89,7 +89,7 @@ fn F() { // CHECK:STDOUT: %tuple: %tuple.type.777 = tuple_value (%.loc15_25.3, %.loc15_34.3) [concrete = constants.%tuple.cc9] // CHECK:STDOUT: %.loc15_38.2: %tuple.type.777 = converted %.loc15_38.1, %tuple [concrete = constants.%tuple.cc9] // CHECK:STDOUT: %tuple.elem1: %A = tuple_access %.loc15_38.2, element1 [concrete = constants.%A.val] -// CHECK:STDOUT: %impl.elem0: %.b68 = impl_witness_access constants.%Copy.impl_witness.7c4, element0 [concrete = constants.%A.as.Copy.impl.Op] +// CHECK:STDOUT: %impl.elem0: %.345 = impl_witness_access constants.%Copy.impl_witness.a05, element0 [concrete = constants.%A.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %tuple.elem1, %impl.elem0 [concrete = constants.%A.as.Copy.impl.Op.bound] // CHECK:STDOUT: %.loc15_3: ref %A = splice_block %a.var {} // CHECK:STDOUT: %A.as.Copy.impl.Op.call: init %A to %.loc15_3 = call %bound_method(%tuple.elem1) diff --git a/toolchain/check/testdata/var/var_pattern.carbon b/toolchain/check/testdata/var/var_pattern.carbon index b469f94d44ac..81640c4eabee 100644 --- a/toolchain/check/testdata/var/var_pattern.carbon +++ b/toolchain/check/testdata/var/var_pattern.carbon @@ -1018,12 +1018,12 @@ fn Call() { // CHECK:STDOUT: %To: Core.IntLiteral = symbolic_binding To, 0 [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%To) [symbolic] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.845: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74 = struct_value () [symbolic] -// CHECK:STDOUT: %ImplicitAs.impl_witness.a23: = impl_witness imports.%ImplicitAs.impl_witness_table.b3c, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness.a2a: = impl_witness imports.%ImplicitAs.impl_witness_table.1aa, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba: type = fn_type @Core.IntLiteral.as.ImplicitAs.impl.Convert, @Core.IntLiteral.as.ImplicitAs.impl(%int_32) [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39: %Core.IntLiteral.as.ImplicitAs.impl.Convert.type.2ba = struct_value () [concrete] -// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a23) [concrete] -// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.740: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] -// CHECK:STDOUT: %.1c5: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.740, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.914 = facet_value Core.IntLiteral, (%ImplicitAs.impl_witness.a2a) [concrete] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.8eb: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs.WithSelf(%i32, %ImplicitAs.facet) [concrete] +// CHECK:STDOUT: %.b7a: type = fn_type_with_self_type %ImplicitAs.WithSelf.Convert.type.8eb, %ImplicitAs.facet [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39 [concrete] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.ImplicitAs.impl.Convert.e39, @Core.IntLiteral.as.ImplicitAs.impl.Convert(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_123.fff, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete] @@ -1034,7 +1034,7 @@ fn Call() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core.import_ref.edf: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.e74) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.845)] -// CHECK:STDOUT: %ImplicitAs.impl_witness_table.b3c = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.1aa = impl_witness_table (%Core.import_ref.edf), @Core.IntLiteral.as.ImplicitAs.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1054,7 +1054,7 @@ fn Call() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %TakeVar.ref: %TakeVar.type = name_ref TakeVar, file.%TakeVar.decl [concrete = constants.%TakeVar] // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123.fff] -// CHECK:STDOUT: %impl.elem0: %.1c5 = impl_witness_access constants.%ImplicitAs.impl_witness.a23, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] +// CHECK:STDOUT: %impl.elem0: %.b7a = impl_witness_access constants.%ImplicitAs.impl_witness.a2a, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.e39] // CHECK:STDOUT: %bound_method.loc5_12.1: = bound_method %int_123, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc5_12.2: = bound_method %int_123, %specific_fn [concrete = constants.%bound_method] diff --git a/toolchain/driver/testdata/compile/optimize/optimize_debug.carbon b/toolchain/driver/testdata/compile/optimize/optimize_debug.carbon index 3c467188c201..1073a12e54df 100644 --- a/toolchain/driver/testdata/compile/optimize/optimize_debug.carbon +++ b/toolchain/driver/testdata/compile/optimize/optimize_debug.carbon @@ -118,7 +118,7 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: !22 = !DILocation(line: 15, column: 9, scope: !16) // CHECK:STDOUT: !23 = !DILocation(line: 16, column: 5, scope: !16) // CHECK:STDOUT: !24 = !DILocation(line: 331, column: 3, scope: !25, inlinedAt: !32) -// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce", scope: null, file: !26, line: 331, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !29) +// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895", scope: null, file: !26, line: 331, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !29) // CHECK:STDOUT: !26 = !DIFile(filename: "{{.*}}/prelude/types/int.carbon", directory: "") // CHECK:STDOUT: !27 = !DISubroutineType(types: !28) // CHECK:STDOUT: !28 = !{null, !7, !7} diff --git a/toolchain/driver/testdata/compile/optimize/optimize_default.carbon b/toolchain/driver/testdata/compile/optimize/optimize_default.carbon index bd812c111d4e..c6183dae48f9 100644 --- a/toolchain/driver/testdata/compile/optimize/optimize_default.carbon +++ b/toolchain/driver/testdata/compile/optimize/optimize_default.carbon @@ -118,7 +118,7 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: !22 = !DILocation(line: 15, column: 9, scope: !16) // CHECK:STDOUT: !23 = !DILocation(line: 16, column: 5, scope: !16) // CHECK:STDOUT: !24 = !DILocation(line: 331, column: 3, scope: !25, inlinedAt: !32) -// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce", scope: null, file: !26, line: 331, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !29) +// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895", scope: null, file: !26, line: 331, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !29) // CHECK:STDOUT: !26 = !DIFile(filename: "{{.*}}/prelude/types/int.carbon", directory: "") // CHECK:STDOUT: !27 = !DISubroutineType(types: !28) // CHECK:STDOUT: !28 = !{null, !7, !7} diff --git a/toolchain/driver/testdata/compile/optimize/optimize_none.carbon b/toolchain/driver/testdata/compile/optimize/optimize_none.carbon index 087d9ad26085..41a844ae7f14 100644 --- a/toolchain/driver/testdata/compile/optimize/optimize_none.carbon +++ b/toolchain/driver/testdata/compile/optimize/optimize_none.carbon @@ -92,13 +92,13 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: noinline nounwind optnone // CHECK:STDOUT: define linkonce_odr void @"_COp.Int.9452f4c51951679b.Core:Inc.Core.be1e879c1ad406d8"(ptr %self) #0 !dbg !34 { -// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 1), !dbg !38 +// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 1), !dbg !38 // CHECK:STDOUT: ret void, !dbg !39 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: noinline nounwind optnone -// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 %other) #0 !dbg !40 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %other), !dbg !46 +// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 %other) #0 !dbg !40 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %other), !dbg !46 // CHECK:STDOUT: %2 = load i32, ptr %self, align 4, !dbg !47 // CHECK:STDOUT: %3 = add i32 %2, %1, !dbg !47 // CHECK:STDOUT: store i32 %3, ptr %self, align 4, !dbg !47 @@ -106,7 +106,7 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: noinline nounwind optnone -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %self) #0 !dbg !48 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %self) #0 !dbg !48 { // CHECK:STDOUT: %1 = call i32 @"_CAsInt.Int.9452f4c51951679b.Core:AnyInt.Core.be1e879c1ad406d8"(i32 %self), !dbg !53 // CHECK:STDOUT: ret i32 %1, !dbg !54 // CHECK:STDOUT: } @@ -162,7 +162,7 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: !37 = !DILocalVariable(arg: 1, scope: !34, type: !7) // CHECK:STDOUT: !38 = !DILocation(line: 398, column: 5, scope: !34) // CHECK:STDOUT: !39 = !DILocation(line: 396, column: 3, scope: !34) -// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce", scope: null, file: !35, line: 331, type: !41, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !43) +// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895", scope: null, file: !35, line: 331, type: !41, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !43) // CHECK:STDOUT: !41 = !DISubroutineType(types: !42) // CHECK:STDOUT: !42 = !{null, !7, !7} // CHECK:STDOUT: !43 = !{!44, !45} @@ -170,7 +170,7 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: !45 = !DILocalVariable(arg: 2, scope: !40, type: !7) // CHECK:STDOUT: !46 = !DILocation(line: 0, scope: !40) // CHECK:STDOUT: !47 = !DILocation(line: 331, column: 3, scope: !40) -// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056", scope: null, file: !35, line: 64, type: !49, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !51) +// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044", scope: null, file: !35, line: 64, type: !49, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !51) // CHECK:STDOUT: !49 = !DISubroutineType(types: !50) // CHECK:STDOUT: !50 = !{!7, !7} // CHECK:STDOUT: !51 = !{!52} diff --git a/toolchain/driver/testdata/compile/optimize/optimize_size.carbon b/toolchain/driver/testdata/compile/optimize/optimize_size.carbon index 2763c20b6276..f4826f4d1be6 100644 --- a/toolchain/driver/testdata/compile/optimize/optimize_size.carbon +++ b/toolchain/driver/testdata/compile/optimize/optimize_size.carbon @@ -91,13 +91,13 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: minsize nounwind optsize // CHECK:STDOUT: define linkonce_odr void @"_COp.Int.9452f4c51951679b.Core:Inc.Core.be1e879c1ad406d8"(ptr %self) #0 !dbg !34 { -// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 1), !dbg !38 +// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 1), !dbg !38 // CHECK:STDOUT: ret void, !dbg !39 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline minsize nounwind optsize -// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 %other) #2 !dbg !40 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %other), !dbg !46 +// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 %other) #2 !dbg !40 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %other), !dbg !46 // CHECK:STDOUT: %2 = load i32, ptr %self, align 4, !dbg !47 // CHECK:STDOUT: %3 = add i32 %2, %1, !dbg !47 // CHECK:STDOUT: store i32 %3, ptr %self, align 4, !dbg !47 @@ -105,7 +105,7 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: minsize nounwind optsize -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %self) #0 !dbg !48 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %self) #0 !dbg !48 { // CHECK:STDOUT: %1 = call i32 @"_CAsInt.Int.9452f4c51951679b.Core:AnyInt.Core.be1e879c1ad406d8"(i32 %self), !dbg !53 // CHECK:STDOUT: ret i32 %1, !dbg !54 // CHECK:STDOUT: } @@ -162,7 +162,7 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: !37 = !DILocalVariable(arg: 1, scope: !34, type: !7) // CHECK:STDOUT: !38 = !DILocation(line: 398, column: 5, scope: !34) // CHECK:STDOUT: !39 = !DILocation(line: 396, column: 3, scope: !34) -// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce", scope: null, file: !35, line: 331, type: !41, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !43) +// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895", scope: null, file: !35, line: 331, type: !41, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !43) // CHECK:STDOUT: !41 = !DISubroutineType(types: !42) // CHECK:STDOUT: !42 = !{null, !7, !7} // CHECK:STDOUT: !43 = !{!44, !45} @@ -170,7 +170,7 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: !45 = !DILocalVariable(arg: 2, scope: !40, type: !7) // CHECK:STDOUT: !46 = !DILocation(line: 0, scope: !40) // CHECK:STDOUT: !47 = !DILocation(line: 331, column: 3, scope: !40) -// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056", scope: null, file: !35, line: 64, type: !49, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !51) +// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044", scope: null, file: !35, line: 64, type: !49, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !51) // CHECK:STDOUT: !49 = !DISubroutineType(types: !50) // CHECK:STDOUT: !50 = !{!7, !7} // CHECK:STDOUT: !51 = !{!52} diff --git a/toolchain/driver/testdata/compile/optimize/optimize_speed.carbon b/toolchain/driver/testdata/compile/optimize/optimize_speed.carbon index ff698df0176e..6f5f5a7843ef 100644 --- a/toolchain/driver/testdata/compile/optimize/optimize_speed.carbon +++ b/toolchain/driver/testdata/compile/optimize/optimize_speed.carbon @@ -133,7 +133,7 @@ fn VectorizedWithOptSpeed(a: array(i32, 65536)*) { // CHECK:STDOUT: !21 = !DILocalVariable(arg: 1, scope: !16, type: !19) // CHECK:STDOUT: !22 = !DILocation(line: 15, column: 9, scope: !16) // CHECK:STDOUT: !23 = !DILocation(line: 331, column: 3, scope: !24, inlinedAt: !31) -// CHECK:STDOUT: !24 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce", scope: null, file: !25, line: 331, type: !26, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !28) +// CHECK:STDOUT: !24 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895", scope: null, file: !25, line: 331, type: !26, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !28) // CHECK:STDOUT: !25 = !DIFile(filename: "{{.*}}/prelude/types/int.carbon", directory: "") // CHECK:STDOUT: !26 = !DISubroutineType(types: !27) // CHECK:STDOUT: !27 = !{null, !7, !7} diff --git a/toolchain/lower/testdata/array/iterate.carbon b/toolchain/lower/testdata/array/iterate.carbon index b282a2310670..db44b6d0b19f 100644 --- a/toolchain/lower/testdata/array/iterate.carbon +++ b/toolchain/lower/testdata/array/iterate.carbon @@ -41,25 +41,25 @@ fn F() { // CHECK:STDOUT: %.loc16_43.13.array.index = getelementptr inbounds [6 x i32], ptr %.loc16_43.3.temp, i32 0, i64 3, !dbg !7 // CHECK:STDOUT: %.loc16_43.16.array.index = getelementptr inbounds [6 x i32], ptr %.loc16_43.3.temp, i32 0, i64 4, !dbg !7 // CHECK:STDOUT: %.loc16_43.19.array.index = getelementptr inbounds [6 x i32], ptr %.loc16_43.3.temp, i32 0, i64 5, !dbg !7 -// CHECK:STDOUT: %array_type.as.Iterate.impl.NewCursor.call = call i32 @"_CNewCursor.e163a239f9fa927c:Iterate.Core.620427d555024fe2"(ptr @array.loc16_43.24), !dbg !8 +// CHECK:STDOUT: %array_type.as.Iterate.impl.NewCursor.call = call i32 @"_CNewCursor.e163a239f9fa927c:Iterate.Core.9c4042a9412793cf"(ptr @array.loc16_43.24), !dbg !8 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var), !dbg !8 // CHECK:STDOUT: store i32 %array_type.as.Iterate.impl.NewCursor.call, ptr %var, align 4, !dbg !8 // CHECK:STDOUT: br label %for.next, !dbg !8 // CHECK:STDOUT: // CHECK:STDOUT: for.next: ; preds = %for.body, %entry // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc17_19.5.temp), !dbg !8 -// CHECK:STDOUT: call void @"_CNext.e163a239f9fa927c:Iterate.Core.620427d555024fe2"(ptr %.loc17_19.5.temp, ptr @array.loc16_43.24, ptr %var), !dbg !8 -// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.7ea8ccea62d5ae41(ptr %.loc17_19.5.temp), !dbg !8 +// CHECK:STDOUT: call void @"_CNext.e163a239f9fa927c:Iterate.Core.9c4042a9412793cf"(ptr %.loc17_19.5.temp, ptr @array.loc16_43.24, ptr %var), !dbg !8 +// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.a5214d4ceffb522b(ptr %.loc17_19.5.temp), !dbg !8 // CHECK:STDOUT: br i1 %Optional.HasValue.call, label %for.body, label %for.done, !dbg !8 // CHECK:STDOUT: // CHECK:STDOUT: for.body: ; preds = %for.next -// CHECK:STDOUT: %Optional.Get.call = call i32 @_CGet.Optional.Core.7ea8ccea62d5ae41(ptr %.loc17_19.5.temp), !dbg !8 +// CHECK:STDOUT: %Optional.Get.call = call i32 @_CGet.Optional.Core.a5214d4ceffb522b(ptr %.loc17_19.5.temp), !dbg !8 // CHECK:STDOUT: call void @_CG.Main(i32 %Optional.Get.call), !dbg !9 -// CHECK:STDOUT: call void @"_COp.a39313e11b8e6cfc:core.Destroy.Core"(ptr %.loc17_19.5.temp), !dbg !8 +// CHECK:STDOUT: call void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %.loc17_19.5.temp), !dbg !8 // CHECK:STDOUT: br label %for.next, !dbg !10 // CHECK:STDOUT: // CHECK:STDOUT: for.done: ; preds = %for.next -// CHECK:STDOUT: call void @"_COp.a39313e11b8e6cfc:core.Destroy.Core"(ptr %.loc17_19.5.temp), !dbg !8 +// CHECK:STDOUT: call void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %.loc17_19.5.temp), !dbg !8 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %var), !dbg !8 // CHECK:STDOUT: call void @"_COp.3a5df7cec745952b:core.Destroy.Core"(ptr @array), !dbg !7 // CHECK:STDOUT: ret void, !dbg !11 @@ -92,13 +92,13 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.f49c06ba556be406:core.Destroy.Core"(ptr %self) #0 !dbg !34 { +// CHECK:STDOUT: define weak_odr void @"_COp.355bf6abcc7faf5a:core.Destroy.Core"(ptr %self) #0 !dbg !34 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !37 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.a39313e11b8e6cfc:core.Destroy.Core"(ptr %self) #0 !dbg !38 { +// CHECK:STDOUT: define weak_odr void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %self) #0 !dbg !38 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !41 // CHECK:STDOUT: } @@ -113,12 +113,12 @@ fn F() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CNewCursor.e163a239f9fa927c:Iterate.Core.620427d555024fe2"(ptr %self) #0 !dbg !46 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CNewCursor.e163a239f9fa927c:Iterate.Core.9c4042a9412793cf"(ptr %self) #0 !dbg !46 { // CHECK:STDOUT: ret i32 0, !dbg !52 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CNext.e163a239f9fa927c:Iterate.Core.620427d555024fe2"(ptr sret(<{ i32, i1 }>) %return, ptr %self, ptr %cursor) #0 !dbg !53 { +// CHECK:STDOUT: define linkonce_odr void @"_CNext.e163a239f9fa927c:Iterate.Core.9c4042a9412793cf"(ptr sret(<{ i32, i1 }>) %return, ptr %self, ptr %cursor) #0 !dbg !53 { // CHECK:STDOUT: %1 = load i32, ptr %cursor, align 4, !dbg !59 // CHECK:STDOUT: %2 = icmp slt i32 %1, 6, !dbg !59 // CHECK:STDOUT: br i1 %2, label %3, label %7, !dbg !60 @@ -129,46 +129,46 @@ fn F() { // CHECK:STDOUT: %5 = sub i32 %4, 1, !dbg !62 // CHECK:STDOUT: %array.index = getelementptr inbounds [6 x i32], ptr %self, i32 0, i32 %5, !dbg !63 // CHECK:STDOUT: %6 = load i32, ptr %array.index, align 4, !dbg !63 -// CHECK:STDOUT: call void @_CSome.Optional.Core.7ea8ccea62d5ae41(ptr %return, i32 %6), !dbg !64 +// CHECK:STDOUT: call void @_CSome.Optional.Core.a5214d4ceffb522b(ptr %return, i32 %6), !dbg !64 // CHECK:STDOUT: ret void, !dbg !65 // CHECK:STDOUT: // CHECK:STDOUT: 7: ; preds = %0 -// CHECK:STDOUT: call void @_CNone.Optional.Core.7ea8ccea62d5ae41(ptr %return), !dbg !66 +// CHECK:STDOUT: call void @_CNone.Optional.Core.a5214d4ceffb522b(ptr %return), !dbg !66 // CHECK:STDOUT: ret void, !dbg !67 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.7ea8ccea62d5ae41(ptr %self) #0 !dbg !68 { -// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416"(ptr %self), !dbg !74 +// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.a5214d4ceffb522b(ptr %self) #0 !dbg !68 { +// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %self), !dbg !74 // CHECK:STDOUT: ret i1 %1, !dbg !75 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CGet.Optional.Core.7ea8ccea62d5ae41(ptr %self) #0 !dbg !76 { -// CHECK:STDOUT: %1 = call i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416"(ptr %self), !dbg !79 +// CHECK:STDOUT: define linkonce_odr i32 @_CGet.Optional.Core.a5214d4ceffb522b(ptr %self) #0 !dbg !76 { +// CHECK:STDOUT: %1 = call i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %self), !dbg !79 // CHECK:STDOUT: ret i32 %1, !dbg !80 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @"_COp.Int.9452f4c51951679b.Core:Inc.Core.be1e879c1ad406d8"(ptr %self) #0 !dbg !81 { -// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 1), !dbg !85 +// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 1), !dbg !85 // CHECK:STDOUT: ret void, !dbg !86 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.7ea8ccea62d5ae41(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !87 { -// CHECK:STDOUT: call void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416"(ptr %return, i32 %value), !dbg !92 +// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.a5214d4ceffb522b(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !87 { +// CHECK:STDOUT: call void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %return, i32 %value), !dbg !92 // CHECK:STDOUT: ret void, !dbg !93 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.7ea8ccea62d5ae41(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !94 { -// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416"(ptr %return), !dbg !97 +// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.a5214d4ceffb522b(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !94 { +// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %return), !dbg !97 // CHECK:STDOUT: ret void, !dbg !98 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416"(ptr %value) #0 !dbg !99 { +// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %value) #0 !dbg !99 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %value, i32 0, i32 1, !dbg !102 // CHECK:STDOUT: %1 = load i8, ptr %has_value, align 1, !dbg !102 // CHECK:STDOUT: %2 = trunc i8 %1 to i1, !dbg !102 @@ -176,15 +176,15 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416"(ptr %value) #0 !dbg !104 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %value) #0 !dbg !104 { // CHECK:STDOUT: %value1 = getelementptr inbounds nuw <{ i32, i1 }>, ptr %value, i32 0, i32 0, !dbg !107 // CHECK:STDOUT: %1 = load i32, ptr %value1, align 4, !dbg !107 // CHECK:STDOUT: ret i32 %1, !dbg !108 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 %other) #2 !dbg !109 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %other), !dbg !115 +// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 %other) #2 !dbg !109 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %other), !dbg !115 // CHECK:STDOUT: %2 = load i32, ptr %self, align 4, !dbg !116 // CHECK:STDOUT: %3 = add i32 %2, %1, !dbg !116 // CHECK:STDOUT: store i32 %3, ptr %self, align 4, !dbg !116 @@ -192,7 +192,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !117 { +// CHECK:STDOUT: define linkonce_odr void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !117 { // CHECK:STDOUT: %value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 0, !dbg !120 // CHECK:STDOUT: store i32 %self, ptr %value, align 4, !dbg !120 // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 1, !dbg !121 @@ -201,14 +201,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416"(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !123 { +// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !123 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 1, !dbg !124 // CHECK:STDOUT: store i8 0, ptr %has_value, align 1, !dbg !124 // CHECK:STDOUT: ret void, !dbg !125 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %self) #0 !dbg !126 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %self) #0 !dbg !126 { // CHECK:STDOUT: %1 = call i32 @"_CAsInt.Int.9452f4c51951679b.Core:AnyInt.Core.be1e879c1ad406d8"(i32 %self), !dbg !131 // CHECK:STDOUT: ret i32 %1, !dbg !132 // CHECK:STDOUT: } @@ -219,7 +219,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @"_COp.a39313e11b8e6cfc:core.Destroy.Core", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_COp.943733ce9fead8c4:core.Destroy.Core", { 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 2, 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -263,11 +263,11 @@ fn F() { // CHECK:STDOUT: !31 = !{!32} // CHECK:STDOUT: !32 = !DILocalVariable(arg: 1, scope: !30, type: !22) // CHECK:STDOUT: !33 = !DILocation(line: 17, column: 7, scope: !30) -// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f49c06ba556be406:core.Destroy.Core", scope: null, file: !1, line: 17, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !35) +// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "Op", linkageName: "_COp.355bf6abcc7faf5a:core.Destroy.Core", scope: null, file: !1, line: 17, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !35) // CHECK:STDOUT: !35 = !{!36} // CHECK:STDOUT: !36 = !DILocalVariable(arg: 1, scope: !34, type: !22) // CHECK:STDOUT: !37 = !DILocation(line: 17, column: 7, scope: !34) -// CHECK:STDOUT: !38 = distinct !DISubprogram(name: "Op", linkageName: "_COp.a39313e11b8e6cfc:core.Destroy.Core", scope: null, file: !1, line: 17, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !39) +// CHECK:STDOUT: !38 = distinct !DISubprogram(name: "Op", linkageName: "_COp.943733ce9fead8c4:core.Destroy.Core", scope: null, file: !1, line: 17, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !39) // CHECK:STDOUT: !39 = !{!40} // CHECK:STDOUT: !40 = !DILocalVariable(arg: 1, scope: !38, type: !22) // CHECK:STDOUT: !41 = !DILocation(line: 17, column: 7, scope: !38) @@ -275,14 +275,14 @@ fn F() { // CHECK:STDOUT: !43 = !{!44} // CHECK:STDOUT: !44 = !DILocalVariable(arg: 1, scope: !42, type: !22) // CHECK:STDOUT: !45 = !DILocation(line: 16, column: 26, scope: !42) -// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "NewCursor", linkageName: "_CNewCursor.e163a239f9fa927c:Iterate.Core.620427d555024fe2", scope: null, file: !47, line: 23, type: !48, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !50) +// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "NewCursor", linkageName: "_CNewCursor.e163a239f9fa927c:Iterate.Core.9c4042a9412793cf", scope: null, file: !47, line: 23, type: !48, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !50) // CHECK:STDOUT: !47 = !DIFile(filename: "{{.*}}/prelude/iterate.carbon", directory: "") // CHECK:STDOUT: !48 = !DISubroutineType(types: !49) // CHECK:STDOUT: !49 = !{!15, !22} // CHECK:STDOUT: !50 = !{!51} // CHECK:STDOUT: !51 = !DILocalVariable(arg: 1, scope: !46, type: !22) // CHECK:STDOUT: !52 = !DILocation(line: 23, column: 38, scope: !46) -// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "Next", linkageName: "_CNext.e163a239f9fa927c:Iterate.Core.620427d555024fe2", scope: null, file: !47, line: 24, type: !54, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !56) +// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "Next", linkageName: "_CNext.e163a239f9fa927c:Iterate.Core.9c4042a9412793cf", scope: null, file: !47, line: 24, type: !54, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !56) // CHECK:STDOUT: !54 = !DISubroutineType(types: !55) // CHECK:STDOUT: !55 = !{!22, !22, !22} // CHECK:STDOUT: !56 = !{!57, !58} @@ -297,7 +297,7 @@ fn F() { // CHECK:STDOUT: !65 = !DILocation(line: 27, column: 7, scope: !53) // CHECK:STDOUT: !66 = !DILocation(line: 29, column: 14, scope: !53) // CHECK:STDOUT: !67 = !DILocation(line: 29, column: 7, scope: !53) -// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.7ea8ccea62d5ae41", scope: null, file: !69, line: 36, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) +// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.a5214d4ceffb522b", scope: null, file: !69, line: 36, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) // CHECK:STDOUT: !69 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !70 = !DISubroutineType(types: !71) // CHECK:STDOUT: !71 = !{!22, !22} @@ -305,7 +305,7 @@ fn F() { // CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !68, type: !22) // CHECK:STDOUT: !74 = !DILocation(line: 37, column: 12, scope: !68) // CHECK:STDOUT: !75 = !DILocation(line: 37, column: 5, scope: !68) -// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.7ea8ccea62d5ae41", scope: null, file: !69, line: 39, type: !48, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !77) +// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.a5214d4ceffb522b", scope: null, file: !69, line: 39, type: !48, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !77) // CHECK:STDOUT: !77 = !{!78} // CHECK:STDOUT: !78 = !DILocalVariable(arg: 1, scope: !76, type: !22) // CHECK:STDOUT: !79 = !DILocation(line: 40, column: 12, scope: !76) @@ -316,29 +316,29 @@ fn F() { // CHECK:STDOUT: !84 = !DILocalVariable(arg: 1, scope: !81, type: !15) // CHECK:STDOUT: !85 = !DILocation(line: 398, column: 5, scope: !81) // CHECK:STDOUT: !86 = !DILocation(line: 396, column: 3, scope: !81) -// CHECK:STDOUT: !87 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.7ea8ccea62d5ae41", scope: null, file: !69, line: 33, type: !88, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !90) +// CHECK:STDOUT: !87 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.a5214d4ceffb522b", scope: null, file: !69, line: 33, type: !88, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !90) // CHECK:STDOUT: !88 = !DISubroutineType(types: !89) // CHECK:STDOUT: !89 = !{!22, !15} // CHECK:STDOUT: !90 = !{!91} // CHECK:STDOUT: !91 = !DILocalVariable(arg: 1, scope: !87, type: !15) // CHECK:STDOUT: !92 = !DILocation(line: 34, column: 12, scope: !87) // CHECK:STDOUT: !93 = !DILocation(line: 34, column: 5, scope: !87) -// CHECK:STDOUT: !94 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.7ea8ccea62d5ae41", scope: null, file: !69, line: 30, type: !95, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !94 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.a5214d4ceffb522b", scope: null, file: !69, line: 30, type: !95, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !95 = !DISubroutineType(types: !96) // CHECK:STDOUT: !96 = !{!22} // CHECK:STDOUT: !97 = !DILocation(line: 31, column: 12, scope: !94) // CHECK:STDOUT: !98 = !DILocation(line: 31, column: 5, scope: !94) -// CHECK:STDOUT: !99 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416", scope: null, file: !69, line: 141, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !100) +// CHECK:STDOUT: !99 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !69, line: 141, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !100) // CHECK:STDOUT: !100 = !{!101} // CHECK:STDOUT: !101 = !DILocalVariable(arg: 1, scope: !99, type: !22) // CHECK:STDOUT: !102 = !DILocation(line: 142, column: 12, scope: !99) // CHECK:STDOUT: !103 = !DILocation(line: 142, column: 5, scope: !99) -// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416", scope: null, file: !69, line: 144, type: !48, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !105) +// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !69, line: 144, type: !48, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !105) // CHECK:STDOUT: !105 = !{!106} // CHECK:STDOUT: !106 = !DILocalVariable(arg: 1, scope: !104, type: !22) // CHECK:STDOUT: !107 = !DILocation(line: 145, column: 12, scope: !104) // CHECK:STDOUT: !108 = !DILocation(line: 145, column: 5, scope: !104) -// CHECK:STDOUT: !109 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce", scope: null, file: !82, line: 331, type: !110, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !112) +// CHECK:STDOUT: !109 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895", scope: null, file: !82, line: 331, type: !110, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !112) // CHECK:STDOUT: !110 = !DISubroutineType(types: !111) // CHECK:STDOUT: !111 = !{null, !15, !15} // CHECK:STDOUT: !112 = !{!113, !114} @@ -346,16 +346,16 @@ fn F() { // CHECK:STDOUT: !114 = !DILocalVariable(arg: 2, scope: !109, type: !15) // CHECK:STDOUT: !115 = !DILocation(line: 0, scope: !109) // CHECK:STDOUT: !116 = !DILocation(line: 331, column: 3, scope: !109) -// CHECK:STDOUT: !117 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416", scope: null, file: !69, line: 131, type: !88, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !118) +// CHECK:STDOUT: !117 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !69, line: 131, type: !88, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !118) // CHECK:STDOUT: !118 = !{!119} // CHECK:STDOUT: !119 = !DILocalVariable(arg: 1, scope: !117, type: !15) // CHECK:STDOUT: !120 = !DILocation(line: 137, column: 5, scope: !117) // CHECK:STDOUT: !121 = !DILocation(line: 138, column: 5, scope: !117) // CHECK:STDOUT: !122 = !DILocation(line: 139, column: 5, scope: !117) -// CHECK:STDOUT: !123 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.58016a73bff04416", scope: null, file: !69, line: 125, type: !95, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !123 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !69, line: 125, type: !95, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !124 = !DILocation(line: 128, column: 5, scope: !123) // CHECK:STDOUT: !125 = !DILocation(line: 129, column: 5, scope: !123) -// CHECK:STDOUT: !126 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056", scope: null, file: !82, line: 64, type: !127, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !129) +// CHECK:STDOUT: !126 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044", scope: null, file: !82, line: 64, type: !127, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !129) // CHECK:STDOUT: !127 = !DISubroutineType(types: !128) // CHECK:STDOUT: !128 = !{!15, !15} // CHECK:STDOUT: !129 = !{!130} diff --git a/toolchain/lower/testdata/class/generic.carbon b/toolchain/lower/testdata/class/generic.carbon index 104bd11abbc5..7fc0d3f5069a 100644 --- a/toolchain/lower/testdata/class/generic.carbon +++ b/toolchain/lower/testdata/class/generic.carbon @@ -170,26 +170,26 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CInts.Main(ptr sret({ i32, i32 }) %return) #0 !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CMake.Main.5bd8d5767580997a(ptr %return, i32 1, i32 2), !dbg !8 +// CHECK:STDOUT: call void @_CMake.Main.4d6ceefeb7f772f4(ptr %return, i32 1, i32 2), !dbg !8 // CHECK:STDOUT: ret void, !dbg !9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CEmpty.Main(ptr sret({ {}, {} }) %return) #0 !dbg !10 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CMake.Main.b5489de296f1d78c(ptr %return), !dbg !11 +// CHECK:STDOUT: call void @_CMake.Main.22bf4b2f6c4322a2(ptr %return), !dbg !11 // CHECK:STDOUT: ret void, !dbg !12 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CTuples.Main(ptr sret({ { i32, i32 }, { i32, i32 } }) %return) #0 !dbg !13 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CMake.Main.b40acb5dac24e7cb(ptr %return, ptr @tuple.102.loc22_28.6, ptr @tuple.102.loc22_28.6), !dbg !14 +// CHECK:STDOUT: call void @_CMake.Main.878c3517da47a752(ptr %return, ptr @tuple.102.loc22_28.6, ptr @tuple.102.loc22_28.6), !dbg !14 // CHECK:STDOUT: ret void, !dbg !15 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CMake.Main.5bd8d5767580997a(ptr sret({ i32, i32 }) %return, i32 %x, i32 %y) #0 !dbg !16 { +// CHECK:STDOUT: define linkonce_odr void @_CMake.Main.4d6ceefeb7f772f4(ptr sret({ i32, i32 }) %return, i32 %x, i32 %y) #0 !dbg !16 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc10_25.2.x = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 0, !dbg !23 // CHECK:STDOUT: store i32 %x, ptr %.loc10_25.2.x, align 4, !dbg !23 @@ -199,7 +199,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CMake.Main.b5489de296f1d78c(ptr sret({ {}, {} }) %return) #0 !dbg !25 { +// CHECK:STDOUT: define linkonce_odr void @_CMake.Main.22bf4b2f6c4322a2(ptr sret({ {}, {} }) %return) #0 !dbg !25 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc10_25.2.x = getelementptr inbounds nuw { {}, {} }, ptr %return, i32 0, i32 0, !dbg !26 // CHECK:STDOUT: %.loc10_25.4.y = getelementptr inbounds nuw { {}, {} }, ptr %return, i32 0, i32 1, !dbg !26 @@ -207,17 +207,17 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CMake.Main.b40acb5dac24e7cb(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %x, ptr %y) #0 !dbg !28 { +// CHECK:STDOUT: define linkonce_odr void @_CMake.Main.878c3517da47a752(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %x, ptr %y) #0 !dbg !28 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc10_25.2.x = getelementptr inbounds nuw { { i32, i32 }, { i32, i32 } }, ptr %return, i32 0, i32 0, !dbg !34 -// CHECK:STDOUT: call void @"_COp.4e4edddc7580c79b:Copy.Core.58bedf1100cb91a8"(ptr %.loc10_25.2.x, ptr %x), !dbg !35 +// CHECK:STDOUT: call void @"_COp.4e4edddc7580c79b:Copy.Core.8608f3c6f62d80cb"(ptr %.loc10_25.2.x, ptr %x), !dbg !35 // CHECK:STDOUT: %.loc10_25.4.y = getelementptr inbounds nuw { { i32, i32 }, { i32, i32 } }, ptr %return, i32 0, i32 1, !dbg !34 -// CHECK:STDOUT: call void @"_COp.4e4edddc7580c79b:Copy.Core.58bedf1100cb91a8"(ptr %.loc10_25.4.y, ptr %y), !dbg !36 +// CHECK:STDOUT: call void @"_COp.4e4edddc7580c79b:Copy.Core.8608f3c6f62d80cb"(ptr %.loc10_25.4.y, ptr %y), !dbg !36 // CHECK:STDOUT: ret void, !dbg !37 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_COp.4e4edddc7580c79b:Copy.Core.58bedf1100cb91a8"(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !38 { +// CHECK:STDOUT: define linkonce_odr void @"_COp.4e4edddc7580c79b:Copy.Core.8608f3c6f62d80cb"(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !38 { // CHECK:STDOUT: %tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 0, !dbg !44 // CHECK:STDOUT: %tuple.elem.load = load i32, ptr %tuple.elem, align 4, !dbg !44 // CHECK:STDOUT: %tuple.elem1 = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 0, !dbg !45 @@ -230,7 +230,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @"_COp.4e4edddc7580c79b:Copy.Core.58bedf1100cb91a8", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_COp.4e4edddc7580c79b:Copy.Core.8608f3c6f62d80cb", { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: @@ -253,7 +253,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: !13 = distinct !DISubprogram(name: "Tuples", linkageName: "_CTuples.Main", scope: null, file: !1, line: 21, type: !5, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !14 = !DILocation(line: 23, column: 10, scope: !13) // CHECK:STDOUT: !15 = !DILocation(line: 23, column: 3, scope: !13) -// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "Make", linkageName: "_CMake.Main.5bd8d5767580997a", scope: null, file: !1, line: 9, type: !17, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !20) +// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "Make", linkageName: "_CMake.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 9, type: !17, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !20) // CHECK:STDOUT: !17 = !DISubroutineType(types: !18) // CHECK:STDOUT: !18 = !{!7, !19, !19} // CHECK:STDOUT: !19 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed) @@ -262,10 +262,10 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: !22 = !DILocalVariable(arg: 2, scope: !16, type: !19) // CHECK:STDOUT: !23 = !DILocation(line: 10, column: 10, scope: !16) // CHECK:STDOUT: !24 = !DILocation(line: 10, column: 3, scope: !16) -// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Make", linkageName: "_CMake.Main.b5489de296f1d78c", scope: null, file: !1, line: 9, type: !5, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Make", linkageName: "_CMake.Main.22bf4b2f6c4322a2", scope: null, file: !1, line: 9, type: !5, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !26 = !DILocation(line: 10, column: 10, scope: !25) // CHECK:STDOUT: !27 = !DILocation(line: 10, column: 3, scope: !25) -// CHECK:STDOUT: !28 = distinct !DISubprogram(name: "Make", linkageName: "_CMake.Main.b40acb5dac24e7cb", scope: null, file: !1, line: 9, type: !29, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !31) +// CHECK:STDOUT: !28 = distinct !DISubprogram(name: "Make", linkageName: "_CMake.Main.878c3517da47a752", scope: null, file: !1, line: 9, type: !29, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !31) // CHECK:STDOUT: !29 = !DISubroutineType(types: !30) // CHECK:STDOUT: !30 = !{!7, !7, !7} // CHECK:STDOUT: !31 = !{!32, !33} @@ -275,7 +275,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: !35 = !DILocation(line: 10, column: 16, scope: !28) // CHECK:STDOUT: !36 = !DILocation(line: 10, column: 24, scope: !28) // CHECK:STDOUT: !37 = !DILocation(line: 10, column: 3, scope: !28) -// CHECK:STDOUT: !38 = distinct !DISubprogram(name: "Op", linkageName: "_COp.4e4edddc7580c79b:Copy.Core.58bedf1100cb91a8", scope: null, file: !39, line: 52, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) +// CHECK:STDOUT: !38 = distinct !DISubprogram(name: "Op", linkageName: "_COp.4e4edddc7580c79b:Copy.Core.8608f3c6f62d80cb", scope: null, file: !39, line: 52, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) // CHECK:STDOUT: !39 = !DIFile(filename: "min_prelude/parts/copy.carbon", directory: "") // CHECK:STDOUT: !40 = !DISubroutineType(types: !41) // CHECK:STDOUT: !41 = !{!7, !7} @@ -290,9 +290,9 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: ; ModuleID = 'access.carbon' // CHECK:STDOUT: source_filename = "access.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @C.val.590.loc16_3 = internal constant { i1, i32 } { i1 true, i32 0 } -// CHECK:STDOUT: @C.val.5a4.loc26_3 = internal constant { i1, {} } { i1 true, {} zeroinitializer } -// CHECK:STDOUT: @C.val.b69.loc31_3 = internal constant { i1, { i32, i32, i32 } } { i1 true, { i32, i32, i32 } { i32 1, i32 2, i32 3 } } +// CHECK:STDOUT: @C.val.29b.loc16_3 = internal constant { i1, i32 } { i1 true, i32 0 } +// CHECK:STDOUT: @C.val.0ea.loc26_3 = internal constant { i1, {} } { i1 true, {} zeroinitializer } +// CHECK:STDOUT: @C.val.727.loc31_3 = internal constant { i1, { i32, i32, i32 } } { i1 true, { i32, i32, i32 } { i32 1, i32 2, i32 3 } } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i1 @_CAccessBool.Main() #0 !dbg !4 { @@ -301,9 +301,9 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !8 // CHECK:STDOUT: %.loc16_37.2.v = getelementptr inbounds nuw { i1, i32 }, ptr %c.var, i32 0, i32 0, !dbg !9 // CHECK:STDOUT: %.loc16_37.5.w = getelementptr inbounds nuw { i1, i32 }, ptr %c.var, i32 0, i32 1, !dbg !9 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %c.var, ptr align 4 @C.val.590.loc16_3, i64 8, i1 false), !dbg !8 -// CHECK:STDOUT: %C.GetBool.call = call i1 @_CGetBool.C.Main.5bd8d5767580997a(ptr %c.var), !dbg !10 -// CHECK:STDOUT: call void @"_COp.3aba0d07ef538256:core.Destroy.Core"(ptr %c.var), !dbg !8 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %c.var, ptr align 4 @C.val.29b.loc16_3, i64 8, i1 false), !dbg !8 +// CHECK:STDOUT: %C.GetBool.call = call i1 @_CGetBool.C.Main.4d6ceefeb7f772f4(ptr %c.var), !dbg !10 +// CHECK:STDOUT: call void @"_COp.98a7e6ce3f9b0f1c:core.Destroy.Core"(ptr %c.var), !dbg !8 // CHECK:STDOUT: ret i1 %C.GetBool.call, !dbg !11 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -320,7 +320,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.3aba0d07ef538256:core.Destroy.Core"(ptr %self) #0 !dbg !25 { +// CHECK:STDOUT: define weak_odr void @"_COp.98a7e6ce3f9b0f1c:core.Destroy.Core"(ptr %self) #0 !dbg !25 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !28 // CHECK:STDOUT: } @@ -332,9 +332,9 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !32 // CHECK:STDOUT: %.loc21_37.2.v = getelementptr inbounds nuw { i1, i32 }, ptr %c.var, i32 0, i32 0, !dbg !33 // CHECK:STDOUT: %.loc21_37.5.w = getelementptr inbounds nuw { i1, i32 }, ptr %c.var, i32 0, i32 1, !dbg !33 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %c.var, ptr align 4 @C.val.590.loc16_3, i64 8, i1 false), !dbg !32 -// CHECK:STDOUT: %C.GetT.call = call i32 @_CGetT.C.Main.5bd8d5767580997a(ptr %c.var), !dbg !34 -// CHECK:STDOUT: call void @"_COp.3aba0d07ef538256:core.Destroy.Core"(ptr %c.var), !dbg !32 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %c.var, ptr align 4 @C.val.29b.loc16_3, i64 8, i1 false), !dbg !32 +// CHECK:STDOUT: %C.GetT.call = call i32 @_CGetT.C.Main.4d6ceefeb7f772f4(ptr %c.var), !dbg !34 +// CHECK:STDOUT: call void @"_COp.98a7e6ce3f9b0f1c:core.Destroy.Core"(ptr %c.var), !dbg !32 // CHECK:STDOUT: ret i32 %C.GetT.call, !dbg !35 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -345,9 +345,9 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !39 // CHECK:STDOUT: %.loc26_37.2.v = getelementptr inbounds nuw { i1, {} }, ptr %c.var, i32 0, i32 0, !dbg !40 // CHECK:STDOUT: %.loc26_37.4.w = getelementptr inbounds nuw { i1, {} }, ptr %c.var, i32 0, i32 1, !dbg !40 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.5a4.loc26_3, i64 1, i1 false), !dbg !39 -// CHECK:STDOUT: call void @_CGetT.C.Main.b5489de296f1d78c(ptr %c.var), !dbg !41 -// CHECK:STDOUT: call void @"_COp.072140aa01ab1557:core.Destroy.Core"(ptr %c.var), !dbg !39 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.0ea.loc26_3, i64 1, i1 false), !dbg !39 +// CHECK:STDOUT: call void @_CGetT.C.Main.22bf4b2f6c4322a2(ptr %c.var), !dbg !41 +// CHECK:STDOUT: call void @"_COp.39243943bf228e70:core.Destroy.Core"(ptr %c.var), !dbg !39 // CHECK:STDOUT: ret void, !dbg !42 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -358,7 +358,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.072140aa01ab1557:core.Destroy.Core"(ptr %self) #0 !dbg !47 { +// CHECK:STDOUT: define weak_odr void @"_COp.39243943bf228e70:core.Destroy.Core"(ptr %self) #0 !dbg !47 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !50 // CHECK:STDOUT: } @@ -373,9 +373,9 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: %tuple.elem0.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %.loc31_57.4.w, i32 0, i32 0, !dbg !54 // CHECK:STDOUT: %tuple.elem1.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %.loc31_57.4.w, i32 0, i32 1, !dbg !54 // CHECK:STDOUT: %tuple.elem2.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %.loc31_57.4.w, i32 0, i32 2, !dbg !54 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %c.var, ptr align 4 @C.val.b69.loc31_3, i64 16, i1 false), !dbg !52 -// CHECK:STDOUT: call void @_CGetT.C.Main.5821f27978434434(ptr %return, ptr %c.var), !dbg !55 -// CHECK:STDOUT: call void @"_COp.15acfaef2fd61051:core.Destroy.Core"(ptr %c.var), !dbg !52 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %c.var, ptr align 4 @C.val.727.loc31_3, i64 16, i1 false), !dbg !52 +// CHECK:STDOUT: call void @_CGetT.C.Main.03220e6718a91584(ptr %return, ptr %c.var), !dbg !55 +// CHECK:STDOUT: call void @"_COp.72b5935d4371121e:core.Destroy.Core"(ptr %c.var), !dbg !52 // CHECK:STDOUT: ret void, !dbg !56 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -392,7 +392,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.15acfaef2fd61051:core.Destroy.Core"(ptr %self) #0 !dbg !65 { +// CHECK:STDOUT: define weak_odr void @"_COp.72b5935d4371121e:core.Destroy.Core"(ptr %self) #0 !dbg !65 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !68 // CHECK:STDOUT: } @@ -404,7 +404,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @_CGetBool.C.Main.5bd8d5767580997a(ptr %self) #0 !dbg !69 { +// CHECK:STDOUT: define linkonce_odr i1 @_CGetBool.C.Main.4d6ceefeb7f772f4(ptr %self) #0 !dbg !69 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc6_16.1.v = getelementptr inbounds nuw { i1, i32 }, ptr %self, i32 0, i32 0, !dbg !74 // CHECK:STDOUT: %.loc6_16.2 = load i8, ptr %.loc6_16.1.v, align 1, !dbg !74 @@ -413,7 +413,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CGetT.C.Main.5bd8d5767580997a(ptr %self) #0 !dbg !76 { +// CHECK:STDOUT: define linkonce_odr i32 @_CGetT.C.Main.4d6ceefeb7f772f4(ptr %self) #0 !dbg !76 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc9_16.1.w = getelementptr inbounds nuw { i1, i32 }, ptr %self, i32 0, i32 1, !dbg !81 // CHECK:STDOUT: %.loc9_16.2 = load i32, ptr %.loc9_16.1.w, align 4, !dbg !81 @@ -421,22 +421,22 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CGetT.C.Main.b5489de296f1d78c(ptr %self) #0 !dbg !83 { +// CHECK:STDOUT: define linkonce_odr void @_CGetT.C.Main.22bf4b2f6c4322a2(ptr %self) #0 !dbg !83 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc9_16.1.w = getelementptr inbounds nuw { i1, {} }, ptr %self, i32 0, i32 1, !dbg !86 // CHECK:STDOUT: ret void, !dbg !87 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CGetT.C.Main.5821f27978434434(ptr sret({ i32, i32, i32 }) %return, ptr %self) #0 !dbg !88 { +// CHECK:STDOUT: define linkonce_odr void @_CGetT.C.Main.03220e6718a91584(ptr sret({ i32, i32, i32 }) %return, ptr %self) #0 !dbg !88 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc9_16.1.w = getelementptr inbounds nuw { i1, { i32, i32, i32 } }, ptr %self, i32 0, i32 1, !dbg !91 -// CHECK:STDOUT: call void @"_COp.6753b13effab4291:Copy.Core.f23c1a2465d2ad7f"(ptr %return, ptr %.loc9_16.1.w), !dbg !91 +// CHECK:STDOUT: call void @"_COp.6753b13effab4291:Copy.Core.c9f31a0e20c75302"(ptr %return, ptr %.loc9_16.1.w), !dbg !91 // CHECK:STDOUT: ret void, !dbg !92 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_COp.6753b13effab4291:Copy.Core.f23c1a2465d2ad7f"(ptr sret({ i32, i32, i32 }) %return, ptr %self) #0 !dbg !93 { +// CHECK:STDOUT: define linkonce_odr void @"_COp.6753b13effab4291:Copy.Core.c9f31a0e20c75302"(ptr sret({ i32, i32, i32 }) %return, ptr %self) #0 !dbg !93 { // CHECK:STDOUT: %tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %self, i32 0, i32 0, !dbg !97 // CHECK:STDOUT: %tuple.elem.load = load i32, ptr %tuple.elem, align 4, !dbg !97 // CHECK:STDOUT: %tuple.elem1 = getelementptr inbounds nuw { i32, i32, i32 }, ptr %return, i32 0, i32 0, !dbg !98 @@ -487,7 +487,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: !22 = !{!23} // CHECK:STDOUT: !23 = !DILocalVariable(arg: 1, scope: !19, type: !7) // CHECK:STDOUT: !24 = !DILocation(line: 16, column: 3, scope: !19) -// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Op", linkageName: "_COp.3aba0d07ef538256:core.Destroy.Core", scope: null, file: !1, line: 16, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !26) +// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Op", linkageName: "_COp.98a7e6ce3f9b0f1c:core.Destroy.Core", scope: null, file: !1, line: 16, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !26) // CHECK:STDOUT: !26 = !{!27} // CHECK:STDOUT: !27 = !DILocalVariable(arg: 1, scope: !25, type: !7) // CHECK:STDOUT: !28 = !DILocation(line: 16, column: 3, scope: !25) @@ -509,7 +509,7 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: !44 = !{!45} // CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !43, type: !7) // CHECK:STDOUT: !46 = !DILocation(line: 26, column: 3, scope: !43) -// CHECK:STDOUT: !47 = distinct !DISubprogram(name: "Op", linkageName: "_COp.072140aa01ab1557:core.Destroy.Core", scope: null, file: !1, line: 26, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !48) +// CHECK:STDOUT: !47 = distinct !DISubprogram(name: "Op", linkageName: "_COp.39243943bf228e70:core.Destroy.Core", scope: null, file: !1, line: 26, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !48) // CHECK:STDOUT: !48 = !{!49} // CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !47, type: !7) // CHECK:STDOUT: !50 = !DILocation(line: 26, column: 3, scope: !47) @@ -527,35 +527,35 @@ fn AccessTuple() -> (i32, i32, i32) { // CHECK:STDOUT: !62 = !{!63} // CHECK:STDOUT: !63 = !DILocalVariable(arg: 1, scope: !61, type: !7) // CHECK:STDOUT: !64 = !DILocation(line: 31, column: 3, scope: !61) -// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "Op", linkageName: "_COp.15acfaef2fd61051:core.Destroy.Core", scope: null, file: !1, line: 31, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !66) +// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "Op", linkageName: "_COp.72b5935d4371121e:core.Destroy.Core", scope: null, file: !1, line: 31, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !66) // CHECK:STDOUT: !66 = !{!67} // CHECK:STDOUT: !67 = !DILocalVariable(arg: 1, scope: !65, type: !7) // CHECK:STDOUT: !68 = !DILocation(line: 31, column: 3, scope: !65) -// CHECK:STDOUT: !69 = distinct !DISubprogram(name: "GetBool", linkageName: "_CGetBool.C.Main.5bd8d5767580997a", scope: null, file: !1, line: 5, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) +// CHECK:STDOUT: !69 = distinct !DISubprogram(name: "GetBool", linkageName: "_CGetBool.C.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 5, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) // CHECK:STDOUT: !70 = !DISubroutineType(types: !71) // CHECK:STDOUT: !71 = !{!7, !7} // CHECK:STDOUT: !72 = !{!73} // CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !69, type: !7) // CHECK:STDOUT: !74 = !DILocation(line: 6, column: 12, scope: !69) // CHECK:STDOUT: !75 = !DILocation(line: 6, column: 5, scope: !69) -// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "GetT", linkageName: "_CGetT.C.Main.5bd8d5767580997a", scope: null, file: !1, line: 8, type: !77, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !79) +// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "GetT", linkageName: "_CGetT.C.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 8, type: !77, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !79) // CHECK:STDOUT: !77 = !DISubroutineType(types: !78) // CHECK:STDOUT: !78 = !{!15, !7} // CHECK:STDOUT: !79 = !{!80} // CHECK:STDOUT: !80 = !DILocalVariable(arg: 1, scope: !76, type: !7) // CHECK:STDOUT: !81 = !DILocation(line: 9, column: 12, scope: !76) // CHECK:STDOUT: !82 = !DILocation(line: 9, column: 5, scope: !76) -// CHECK:STDOUT: !83 = distinct !DISubprogram(name: "GetT", linkageName: "_CGetT.C.Main.b5489de296f1d78c", scope: null, file: !1, line: 8, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !84) +// CHECK:STDOUT: !83 = distinct !DISubprogram(name: "GetT", linkageName: "_CGetT.C.Main.22bf4b2f6c4322a2", scope: null, file: !1, line: 8, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !84) // CHECK:STDOUT: !84 = !{!85} // CHECK:STDOUT: !85 = !DILocalVariable(arg: 1, scope: !83, type: !7) // CHECK:STDOUT: !86 = !DILocation(line: 9, column: 12, scope: !83) // CHECK:STDOUT: !87 = !DILocation(line: 9, column: 5, scope: !83) -// CHECK:STDOUT: !88 = distinct !DISubprogram(name: "GetT", linkageName: "_CGetT.C.Main.5821f27978434434", scope: null, file: !1, line: 8, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !89) +// CHECK:STDOUT: !88 = distinct !DISubprogram(name: "GetT", linkageName: "_CGetT.C.Main.03220e6718a91584", scope: null, file: !1, line: 8, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !89) // CHECK:STDOUT: !89 = !{!90} // CHECK:STDOUT: !90 = !DILocalVariable(arg: 1, scope: !88, type: !7) // CHECK:STDOUT: !91 = !DILocation(line: 9, column: 12, scope: !88) // CHECK:STDOUT: !92 = !DILocation(line: 9, column: 5, scope: !88) -// CHECK:STDOUT: !93 = distinct !DISubprogram(name: "Op", linkageName: "_COp.6753b13effab4291:Copy.Core.f23c1a2465d2ad7f", scope: null, file: !94, line: 58, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !95) +// CHECK:STDOUT: !93 = distinct !DISubprogram(name: "Op", linkageName: "_COp.6753b13effab4291:Copy.Core.c9f31a0e20c75302", scope: null, file: !94, line: 58, type: !70, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !95) // CHECK:STDOUT: !94 = !DIFile(filename: "min_prelude/parts/copy.carbon", directory: "") // CHECK:STDOUT: !95 = !{!96} // CHECK:STDOUT: !96 = !DILocalVariable(arg: 1, scope: !93, type: !7) diff --git a/toolchain/lower/testdata/for/bindings.carbon b/toolchain/lower/testdata/for/bindings.carbon index 22eede691512..3cf3ab48f59a 100644 --- a/toolchain/lower/testdata/for/bindings.carbon +++ b/toolchain/lower/testdata/for/bindings.carbon @@ -50,19 +50,19 @@ fn For() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %r.var), !dbg !7 // CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %r.var, ptr align 1 @EmptyRange.val.loc27_3, i64 0, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !8 -// CHECK:STDOUT: call void @"_CNewCursor.EmptyRange.a081b942542726db.Main:Iterate.Core.c9f733d9bf35d2e5"(ptr %r.var), !dbg !9 +// CHECK:STDOUT: call void @"_CNewCursor.EmptyRange.a081b942542726db.Main:Iterate.Core.6ce0b798b8ba1b7f"(ptr %r.var), !dbg !9 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var), !dbg !9 // CHECK:STDOUT: br label %for.next, !dbg !9 // CHECK:STDOUT: // CHECK:STDOUT: for.next: ; preds = %for.body, %entry // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc29_33.1.temp), !dbg !9 -// CHECK:STDOUT: call void @"_CNext.EmptyRange.a081b942542726db.Main:Iterate.Core.c9f733d9bf35d2e5"(ptr %.loc29_33.1.temp, ptr %r.var, ptr %var), !dbg !9 -// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.330e85922fe01745(ptr %.loc29_33.1.temp), !dbg !9 +// CHECK:STDOUT: call void @"_CNext.EmptyRange.a081b942542726db.Main:Iterate.Core.6ce0b798b8ba1b7f"(ptr %.loc29_33.1.temp, ptr %r.var, ptr %var), !dbg !9 +// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.f24ed4cfd4dc70ce(ptr %.loc29_33.1.temp), !dbg !9 // CHECK:STDOUT: br i1 %Optional.HasValue.call, label %for.body, label %for.done, !dbg !9 // CHECK:STDOUT: // CHECK:STDOUT: for.body: ; preds = %for.next // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc29_33.8.temp), !dbg !9 -// CHECK:STDOUT: call void @_CGet.Optional.Core.330e85922fe01745(ptr %.loc29_33.8.temp, ptr %.loc29_33.1.temp), !dbg !9 +// CHECK:STDOUT: call void @_CGet.Optional.Core.f24ed4cfd4dc70ce(ptr %.loc29_33.8.temp, ptr %.loc29_33.1.temp), !dbg !9 // CHECK:STDOUT: %tuple.elem0.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %.loc29_33.8.temp, i32 0, i32 0, !dbg !9 // CHECK:STDOUT: %tuple.elem1.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %.loc29_33.8.temp, i32 0, i32 1, !dbg !9 // CHECK:STDOUT: %.loc29_33.11 = load i32, ptr %tuple.elem0.tuple.elem, align 4, !dbg !9 @@ -70,14 +70,14 @@ fn For() { // CHECK:STDOUT: store i32 %.loc29_33.12, ptr %n.var, align 4, !dbg !8 // CHECK:STDOUT: call void @_CF.Main(i32 %.loc29_33.11, ptr %n.var), !dbg !10 // CHECK:STDOUT: call void @"_COp.eff30dc40f4a53d2:core.Destroy.Core"(ptr %.loc29_33.8.temp), !dbg !9 -// CHECK:STDOUT: call void @"_COp.e58e92bf55e658ec:core.Destroy.Core"(ptr %.loc29_33.1.temp), !dbg !9 +// CHECK:STDOUT: call void @"_COp.fab52b88c171c91d:core.Destroy.Core"(ptr %.loc29_33.1.temp), !dbg !9 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %n.var), !dbg !8 // CHECK:STDOUT: br label %for.next, !dbg !11 // CHECK:STDOUT: // CHECK:STDOUT: for.done: ; preds = %for.next -// CHECK:STDOUT: call void @"_COp.e58e92bf55e658ec:core.Destroy.Core"(ptr %.loc29_33.1.temp), !dbg !9 +// CHECK:STDOUT: call void @"_COp.fab52b88c171c91d:core.Destroy.Core"(ptr %.loc29_33.1.temp), !dbg !9 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %n.var), !dbg !8 -// CHECK:STDOUT: call void @"_COp.88c97397fb274b67:core.Destroy.Core"(ptr %r.var), !dbg !7 +// CHECK:STDOUT: call void @"_COp.c8b32dcbb6724c1d:core.Destroy.Core"(ptr %r.var), !dbg !7 // CHECK:STDOUT: ret void, !dbg !12 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -114,19 +114,19 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.854750c92287bb79:core.Destroy.Core"(ptr %self) #0 !dbg !39 { +// CHECK:STDOUT: define weak_odr void @"_COp.b6cf36768f866396:core.Destroy.Core"(ptr %self) #0 !dbg !39 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !42 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.e58e92bf55e658ec:core.Destroy.Core"(ptr %self) #0 !dbg !43 { +// CHECK:STDOUT: define weak_odr void @"_COp.fab52b88c171c91d:core.Destroy.Core"(ptr %self) #0 !dbg !43 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !46 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.88c97397fb274b67:core.Destroy.Core"(ptr %self) #0 !dbg !47 { +// CHECK:STDOUT: define weak_odr void @"_COp.c8b32dcbb6724c1d:core.Destroy.Core"(ptr %self) #0 !dbg !47 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !50 // CHECK:STDOUT: } @@ -138,38 +138,38 @@ fn For() { // CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CNewCursor.EmptyRange.a081b942542726db.Main:Iterate.Core.c9f733d9bf35d2e5"(ptr %self) #0 !dbg !51 { +// CHECK:STDOUT: define linkonce_odr void @"_CNewCursor.EmptyRange.a081b942542726db.Main:Iterate.Core.6ce0b798b8ba1b7f"(ptr %self) #0 !dbg !51 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !54 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CNext.EmptyRange.a081b942542726db.Main:Iterate.Core.c9f733d9bf35d2e5"(ptr sret(<{ { i32, i32 }, i1 }>) %return, ptr %self, ptr %_) #0 !dbg !55 { +// CHECK:STDOUT: define linkonce_odr void @"_CNext.EmptyRange.a081b942542726db.Main:Iterate.Core.6ce0b798b8ba1b7f"(ptr sret(<{ { i32, i32 }, i1 }>) %return, ptr %self, ptr %_) #0 !dbg !55 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CNone.Optional.Core.330e85922fe01745(ptr %return), !dbg !61 +// CHECK:STDOUT: call void @_CNone.Optional.Core.f24ed4cfd4dc70ce(ptr %return), !dbg !61 // CHECK:STDOUT: ret void, !dbg !62 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.330e85922fe01745(ptr %self) #0 !dbg !63 { -// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.c9f733d9bf35d2e5"(ptr %self), !dbg !69 +// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.f24ed4cfd4dc70ce(ptr %self) #0 !dbg !63 { +// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.6ce0b798b8ba1b7f"(ptr %self), !dbg !69 // CHECK:STDOUT: ret i1 %1, !dbg !70 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CGet.Optional.Core.330e85922fe01745(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !71 { -// CHECK:STDOUT: call void @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.c9f733d9bf35d2e5"(ptr %return, ptr %self), !dbg !74 +// CHECK:STDOUT: define linkonce_odr void @_CGet.Optional.Core.f24ed4cfd4dc70ce(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !71 { +// CHECK:STDOUT: call void @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.6ce0b798b8ba1b7f"(ptr %return, ptr %self), !dbg !74 // CHECK:STDOUT: ret void, !dbg !75 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.330e85922fe01745(ptr sret(<{ { i32, i32 }, i1 }>) %return) #0 !dbg !76 { -// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.c9f733d9bf35d2e5"(ptr %return), !dbg !79 +// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.f24ed4cfd4dc70ce(ptr sret(<{ { i32, i32 }, i1 }>) %return) #0 !dbg !76 { +// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.6ce0b798b8ba1b7f"(ptr %return), !dbg !79 // CHECK:STDOUT: ret void, !dbg !80 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.c9f733d9bf35d2e5"(ptr %value) #0 !dbg !81 { +// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.6ce0b798b8ba1b7f"(ptr %value) #0 !dbg !81 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ { i32, i32 }, i1 }>, ptr %value, i32 0, i32 1, !dbg !84 // CHECK:STDOUT: %1 = load i8, ptr %has_value, align 1, !dbg !84 // CHECK:STDOUT: %2 = trunc i8 %1 to i1, !dbg !84 @@ -177,21 +177,21 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.c9f733d9bf35d2e5"(ptr sret({ i32, i32 }) %return, ptr %value) #0 !dbg !86 { +// CHECK:STDOUT: define linkonce_odr void @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.6ce0b798b8ba1b7f"(ptr sret({ i32, i32 }) %return, ptr %value) #0 !dbg !86 { // CHECK:STDOUT: %value1 = getelementptr inbounds nuw <{ { i32, i32 }, i1 }>, ptr %value, i32 0, i32 0, !dbg !89 -// CHECK:STDOUT: call void @"_COp.4e4edddc7580c79b:Copy.Core.58bedf1100cb91a8"(ptr %return, ptr %value1), !dbg !89 +// CHECK:STDOUT: call void @"_COp.4e4edddc7580c79b:Copy.Core.8608f3c6f62d80cb"(ptr %return, ptr %value1), !dbg !89 // CHECK:STDOUT: ret void, !dbg !90 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.c9f733d9bf35d2e5"(ptr sret(<{ { i32, i32 }, i1 }>) %return) #0 !dbg !91 { +// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.6ce0b798b8ba1b7f"(ptr sret(<{ { i32, i32 }, i1 }>) %return) #0 !dbg !91 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ { i32, i32 }, i1 }>, ptr %return, i32 0, i32 1, !dbg !92 // CHECK:STDOUT: store i8 0, ptr %has_value, align 1, !dbg !92 // CHECK:STDOUT: ret void, !dbg !93 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_COp.4e4edddc7580c79b:Copy.Core.58bedf1100cb91a8"(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !94 { +// CHECK:STDOUT: define linkonce_odr void @"_COp.4e4edddc7580c79b:Copy.Core.8608f3c6f62d80cb"(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !94 { // CHECK:STDOUT: %tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 0, !dbg !98 // CHECK:STDOUT: %tuple.elem.load = load i32, ptr %tuple.elem, align 4, !dbg !98 // CHECK:STDOUT: %tuple.elem1 = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 0, !dbg !99 @@ -205,7 +205,7 @@ fn For() { // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @"_COp.5e27612b9dd31a14:core.Destroy.Core", { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @"_COp.e58e92bf55e658ec:core.Destroy.Core", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_COp.fab52b88c171c91d:core.Destroy.Core", { 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 4, 3, 2, 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -253,23 +253,23 @@ fn For() { // CHECK:STDOUT: !36 = !{!37} // CHECK:STDOUT: !37 = !DILocalVariable(arg: 1, scope: !35, type: !23) // CHECK:STDOUT: !38 = !DILocation(line: 29, column: 7, scope: !35) -// CHECK:STDOUT: !39 = distinct !DISubprogram(name: "Op", linkageName: "_COp.854750c92287bb79:core.Destroy.Core", scope: null, file: !1, line: 29, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !40) +// CHECK:STDOUT: !39 = distinct !DISubprogram(name: "Op", linkageName: "_COp.b6cf36768f866396:core.Destroy.Core", scope: null, file: !1, line: 29, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !40) // CHECK:STDOUT: !40 = !{!41} // CHECK:STDOUT: !41 = !DILocalVariable(arg: 1, scope: !39, type: !23) // CHECK:STDOUT: !42 = !DILocation(line: 29, column: 7, scope: !39) -// CHECK:STDOUT: !43 = distinct !DISubprogram(name: "Op", linkageName: "_COp.e58e92bf55e658ec:core.Destroy.Core", scope: null, file: !1, line: 29, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !44) +// CHECK:STDOUT: !43 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fab52b88c171c91d:core.Destroy.Core", scope: null, file: !1, line: 29, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !44) // CHECK:STDOUT: !44 = !{!45} // CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !43, type: !23) // CHECK:STDOUT: !46 = !DILocation(line: 29, column: 7, scope: !43) -// CHECK:STDOUT: !47 = distinct !DISubprogram(name: "Op", linkageName: "_COp.88c97397fb274b67:core.Destroy.Core", scope: null, file: !1, line: 27, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !48) +// CHECK:STDOUT: !47 = distinct !DISubprogram(name: "Op", linkageName: "_COp.c8b32dcbb6724c1d:core.Destroy.Core", scope: null, file: !1, line: 27, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !48) // CHECK:STDOUT: !48 = !{!49} // CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !47, type: !23) // CHECK:STDOUT: !50 = !DILocation(line: 27, column: 3, scope: !47) -// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "NewCursor", linkageName: "_CNewCursor.EmptyRange.a081b942542726db.Main:Iterate.Core.c9f733d9bf35d2e5", scope: null, file: !1, line: 15, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !52) +// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "NewCursor", linkageName: "_CNewCursor.EmptyRange.a081b942542726db.Main:Iterate.Core.6ce0b798b8ba1b7f", scope: null, file: !1, line: 15, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !52) // CHECK:STDOUT: !52 = !{!53} // CHECK:STDOUT: !53 = !DILocalVariable(arg: 1, scope: !51, type: !23) // CHECK:STDOUT: !54 = !DILocation(line: 16, column: 7, scope: !51) -// CHECK:STDOUT: !55 = distinct !DISubprogram(name: "Next", linkageName: "_CNext.EmptyRange.a081b942542726db.Main:Iterate.Core.c9f733d9bf35d2e5", scope: null, file: !1, line: 18, type: !56, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !58) +// CHECK:STDOUT: !55 = distinct !DISubprogram(name: "Next", linkageName: "_CNext.EmptyRange.a081b942542726db.Main:Iterate.Core.6ce0b798b8ba1b7f", scope: null, file: !1, line: 18, type: !56, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !58) // CHECK:STDOUT: !56 = !DISubroutineType(types: !57) // CHECK:STDOUT: !57 = !{!23, !23, !23} // CHECK:STDOUT: !58 = !{!59, !60} @@ -277,7 +277,7 @@ fn For() { // CHECK:STDOUT: !60 = !DILocalVariable(arg: 2, scope: !55, type: !23) // CHECK:STDOUT: !61 = !DILocation(line: 19, column: 14, scope: !55) // CHECK:STDOUT: !62 = !DILocation(line: 19, column: 7, scope: !55) -// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.330e85922fe01745", scope: null, file: !64, line: 36, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !67) +// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.f24ed4cfd4dc70ce", scope: null, file: !64, line: 36, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !67) // CHECK:STDOUT: !64 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !65 = !DISubroutineType(types: !66) // CHECK:STDOUT: !66 = !{!23, !23} @@ -285,30 +285,30 @@ fn For() { // CHECK:STDOUT: !68 = !DILocalVariable(arg: 1, scope: !63, type: !23) // CHECK:STDOUT: !69 = !DILocation(line: 37, column: 12, scope: !63) // CHECK:STDOUT: !70 = !DILocation(line: 37, column: 5, scope: !63) -// CHECK:STDOUT: !71 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.330e85922fe01745", scope: null, file: !64, line: 39, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) +// CHECK:STDOUT: !71 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.f24ed4cfd4dc70ce", scope: null, file: !64, line: 39, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) // CHECK:STDOUT: !72 = !{!73} // CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !71, type: !23) // CHECK:STDOUT: !74 = !DILocation(line: 40, column: 12, scope: !71) // CHECK:STDOUT: !75 = !DILocation(line: 40, column: 5, scope: !71) -// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.330e85922fe01745", scope: null, file: !64, line: 30, type: !77, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.f24ed4cfd4dc70ce", scope: null, file: !64, line: 30, type: !77, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !77 = !DISubroutineType(types: !78) // CHECK:STDOUT: !78 = !{!23} // CHECK:STDOUT: !79 = !DILocation(line: 31, column: 12, scope: !76) // CHECK:STDOUT: !80 = !DILocation(line: 31, column: 5, scope: !76) -// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.c9f733d9bf35d2e5", scope: null, file: !64, line: 141, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !82) +// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.6ce0b798b8ba1b7f", scope: null, file: !64, line: 141, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !82) // CHECK:STDOUT: !82 = !{!83} // CHECK:STDOUT: !83 = !DILocalVariable(arg: 1, scope: !81, type: !23) // CHECK:STDOUT: !84 = !DILocation(line: 142, column: 12, scope: !81) // CHECK:STDOUT: !85 = !DILocation(line: 142, column: 5, scope: !81) -// CHECK:STDOUT: !86 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.c9f733d9bf35d2e5", scope: null, file: !64, line: 144, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !87) +// CHECK:STDOUT: !86 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.6ce0b798b8ba1b7f", scope: null, file: !64, line: 144, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !87) // CHECK:STDOUT: !87 = !{!88} // CHECK:STDOUT: !88 = !DILocalVariable(arg: 1, scope: !86, type: !23) // CHECK:STDOUT: !89 = !DILocation(line: 145, column: 12, scope: !86) // CHECK:STDOUT: !90 = !DILocation(line: 145, column: 5, scope: !86) -// CHECK:STDOUT: !91 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.c9f733d9bf35d2e5", scope: null, file: !64, line: 125, type: !77, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !91 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.6ce0b798b8ba1b7f", scope: null, file: !64, line: 125, type: !77, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !92 = !DILocation(line: 128, column: 5, scope: !91) // CHECK:STDOUT: !93 = !DILocation(line: 129, column: 5, scope: !91) -// CHECK:STDOUT: !94 = distinct !DISubprogram(name: "Op", linkageName: "_COp.4e4edddc7580c79b:Copy.Core.58bedf1100cb91a8", scope: null, file: !95, line: 62, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !96) +// CHECK:STDOUT: !94 = distinct !DISubprogram(name: "Op", linkageName: "_COp.4e4edddc7580c79b:Copy.Core.8608f3c6f62d80cb", scope: null, file: !95, line: 62, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !96) // CHECK:STDOUT: !95 = !DIFile(filename: "{{.*}}/prelude/copy.carbon", directory: "") // CHECK:STDOUT: !96 = !{!97} // CHECK:STDOUT: !97 = !DILocalVariable(arg: 1, scope: !94, type: !23) diff --git a/toolchain/lower/testdata/for/break_continue.carbon b/toolchain/lower/testdata/for/break_continue.carbon index f4c984d9ec43..1e3589cc76ad 100644 --- a/toolchain/lower/testdata/for/break_continue.carbon +++ b/toolchain/lower/testdata/for/break_continue.carbon @@ -48,11 +48,11 @@ fn For() { // CHECK:STDOUT: for.next: ; preds = %if.else.loc20, %if.then.loc20, %entry // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc18_33.1.temp), !dbg !8 // CHECK:STDOUT: call void @"_CNext.IntRange.9452f4c51951679b.Core:Iterate.Core.be1e879c1ad406d8"(ptr %.loc18_33.1.temp, ptr %.loc18_32.1.temp, ptr %var), !dbg !8 -// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.7ea17724d9984109(ptr %.loc18_33.1.temp), !dbg !8 +// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.a5214d4ceffb522b(ptr %.loc18_33.1.temp), !dbg !8 // CHECK:STDOUT: br i1 %Optional.HasValue.call, label %for.body, label %for.done, !dbg !8 // CHECK:STDOUT: // CHECK:STDOUT: for.body: ; preds = %for.next -// CHECK:STDOUT: %Optional.Get.call = call i32 @_CGet.Optional.Core.7ea17724d9984109(ptr %.loc18_33.1.temp), !dbg !8 +// CHECK:STDOUT: %Optional.Get.call = call i32 @_CGet.Optional.Core.a5214d4ceffb522b(ptr %.loc18_33.1.temp), !dbg !8 // CHECK:STDOUT: %F.call = call i1 @_CF.Main(), !dbg !9 // CHECK:STDOUT: br i1 %F.call, label %if.then.loc19, label %if.else.loc19, !dbg !10 // CHECK:STDOUT: @@ -64,16 +64,16 @@ fn For() { // CHECK:STDOUT: br i1 %G.call, label %if.then.loc20, label %if.else.loc20, !dbg !13 // CHECK:STDOUT: // CHECK:STDOUT: if.then.loc20: ; preds = %if.else.loc19 -// CHECK:STDOUT: call void @"_COp.b4f8c5e3688cd025:core.Destroy.Core"(ptr %.loc18_33.1.temp), !dbg !8 +// CHECK:STDOUT: call void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %.loc18_33.1.temp), !dbg !8 // CHECK:STDOUT: br label %for.next, !dbg !14 // CHECK:STDOUT: // CHECK:STDOUT: if.else.loc20: ; preds = %if.else.loc19 // CHECK:STDOUT: call void @_CH.Main(), !dbg !15 -// CHECK:STDOUT: call void @"_COp.b4f8c5e3688cd025:core.Destroy.Core"(ptr %.loc18_33.1.temp), !dbg !8 +// CHECK:STDOUT: call void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %.loc18_33.1.temp), !dbg !8 // CHECK:STDOUT: br label %for.next, !dbg !16 // CHECK:STDOUT: // CHECK:STDOUT: for.done: ; preds = %if.then.loc19, %for.next -// CHECK:STDOUT: call void @"_COp.b4f8c5e3688cd025:core.Destroy.Core"(ptr %.loc18_33.1.temp), !dbg !8 +// CHECK:STDOUT: call void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %.loc18_33.1.temp), !dbg !8 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %var), !dbg !8 // CHECK:STDOUT: call void @"_COp.0d5da2659ce22e5f:core.Destroy.Core"(ptr %.loc18_32.1.temp), !dbg !7 // CHECK:STDOUT: ret void, !dbg !17 @@ -108,13 +108,13 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.278d9a31079e7ff2:core.Destroy.Core"(ptr %self) #0 !dbg !41 { +// CHECK:STDOUT: define weak_odr void @"_COp.355bf6abcc7faf5a:core.Destroy.Core"(ptr %self) #0 !dbg !41 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !44 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.b4f8c5e3688cd025:core.Destroy.Core"(ptr %self) #0 !dbg !45 { +// CHECK:STDOUT: define weak_odr void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %self) #0 !dbg !45 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !48 // CHECK:STDOUT: } @@ -156,25 +156,25 @@ fn For() { // CHECK:STDOUT: 6: ; preds = %0 // CHECK:STDOUT: call void @"_COp.Int.9452f4c51951679b.Core:Inc.Core.be1e879c1ad406d8"(ptr %cursor), !dbg !75 // CHECK:STDOUT: %7 = load i32, ptr %1, align 4, !dbg !76 -// CHECK:STDOUT: call void @_CSome.Optional.Core.7ea17724d9984109(ptr %return, i32 %7), !dbg !77 +// CHECK:STDOUT: call void @_CSome.Optional.Core.a5214d4ceffb522b(ptr %return, i32 %7), !dbg !77 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %1), !dbg !70 // CHECK:STDOUT: ret void, !dbg !78 // CHECK:STDOUT: // CHECK:STDOUT: 8: ; preds = %0 -// CHECK:STDOUT: call void @_CNone.Optional.Core.7ea17724d9984109(ptr %return), !dbg !79 +// CHECK:STDOUT: call void @_CNone.Optional.Core.a5214d4ceffb522b(ptr %return), !dbg !79 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %1), !dbg !70 // CHECK:STDOUT: ret void, !dbg !80 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.7ea17724d9984109(ptr %self) #0 !dbg !81 { -// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %self), !dbg !87 +// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.a5214d4ceffb522b(ptr %self) #0 !dbg !81 { +// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %self), !dbg !87 // CHECK:STDOUT: ret i1 %1, !dbg !88 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CGet.Optional.Core.7ea17724d9984109(ptr %self) #0 !dbg !89 { -// CHECK:STDOUT: %1 = call i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %self), !dbg !92 +// CHECK:STDOUT: define linkonce_odr i32 @_CGet.Optional.Core.a5214d4ceffb522b(ptr %self) #0 !dbg !89 { +// CHECK:STDOUT: %1 = call i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %self), !dbg !92 // CHECK:STDOUT: ret i32 %1, !dbg !93 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -182,24 +182,24 @@ fn For() { // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @"_COp.Int.9452f4c51951679b.Core:Inc.Core.be1e879c1ad406d8"(ptr %self) #0 !dbg !94 { -// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.d395a13f81aa0e29.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 1), !dbg !98 +// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 1), !dbg !98 // CHECK:STDOUT: ret void, !dbg !99 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.7ea17724d9984109(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !100 { -// CHECK:STDOUT: call void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %return, i32 %value), !dbg !105 +// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.a5214d4ceffb522b(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !100 { +// CHECK:STDOUT: call void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %return, i32 %value), !dbg !105 // CHECK:STDOUT: ret void, !dbg !106 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.7ea17724d9984109(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !107 { -// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %return), !dbg !110 +// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.a5214d4ceffb522b(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !107 { +// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %return), !dbg !110 // CHECK:STDOUT: ret void, !dbg !111 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %value) #0 !dbg !112 { +// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %value) #0 !dbg !112 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %value, i32 0, i32 1, !dbg !115 // CHECK:STDOUT: %1 = load i8, ptr %has_value, align 1, !dbg !115 // CHECK:STDOUT: %2 = trunc i8 %1 to i1, !dbg !115 @@ -207,15 +207,15 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %value) #0 !dbg !117 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %value) #0 !dbg !117 { // CHECK:STDOUT: %value1 = getelementptr inbounds nuw <{ i32, i1 }>, ptr %value, i32 0, i32 0, !dbg !120 // CHECK:STDOUT: %1 = load i32, ptr %value1, align 4, !dbg !120 // CHECK:STDOUT: ret i32 %1, !dbg !121 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.d395a13f81aa0e29.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 %other) #2 !dbg !122 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %other), !dbg !128 +// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 %other) #2 !dbg !122 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %other), !dbg !128 // CHECK:STDOUT: %2 = load i32, ptr %self, align 4, !dbg !129 // CHECK:STDOUT: %3 = add i32 %2, %1, !dbg !129 // CHECK:STDOUT: store i32 %3, ptr %self, align 4, !dbg !129 @@ -223,7 +223,7 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !130 { +// CHECK:STDOUT: define linkonce_odr void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !130 { // CHECK:STDOUT: %value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 0, !dbg !133 // CHECK:STDOUT: store i32 %self, ptr %value, align 4, !dbg !133 // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 1, !dbg !134 @@ -232,14 +232,14 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !136 { +// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !136 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 1, !dbg !137 // CHECK:STDOUT: store i8 0, ptr %has_value, align 1, !dbg !137 // CHECK:STDOUT: ret void, !dbg !138 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %self) #0 !dbg !139 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %self) #0 !dbg !139 { // CHECK:STDOUT: %1 = call i32 @"_CAsInt.Int.9452f4c51951679b.Core:AnyInt.Core.be1e879c1ad406d8"(i32 %self), !dbg !144 // CHECK:STDOUT: ret i32 %1, !dbg !145 // CHECK:STDOUT: } @@ -250,7 +250,7 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @"_COp.b4f8c5e3688cd025:core.Destroy.Core", { 2, 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_COp.943733ce9fead8c4:core.Destroy.Core", { 2, 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 3, 2, 1 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -301,11 +301,11 @@ fn For() { // CHECK:STDOUT: !38 = !{!39} // CHECK:STDOUT: !39 = !DILocalVariable(arg: 1, scope: !37, type: !29) // CHECK:STDOUT: !40 = !DILocation(line: 18, column: 7, scope: !37) -// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "Op", linkageName: "_COp.278d9a31079e7ff2:core.Destroy.Core", scope: null, file: !1, line: 18, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) +// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "Op", linkageName: "_COp.355bf6abcc7faf5a:core.Destroy.Core", scope: null, file: !1, line: 18, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) // CHECK:STDOUT: !42 = !{!43} // CHECK:STDOUT: !43 = !DILocalVariable(arg: 1, scope: !41, type: !29) // CHECK:STDOUT: !44 = !DILocation(line: 18, column: 7, scope: !41) -// CHECK:STDOUT: !45 = distinct !DISubprogram(name: "Op", linkageName: "_COp.b4f8c5e3688cd025:core.Destroy.Core", scope: null, file: !1, line: 18, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !46) +// CHECK:STDOUT: !45 = distinct !DISubprogram(name: "Op", linkageName: "_COp.943733ce9fead8c4:core.Destroy.Core", scope: null, file: !1, line: 18, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !46) // CHECK:STDOUT: !46 = !{!47} // CHECK:STDOUT: !47 = !DILocalVariable(arg: 1, scope: !45, type: !29) // CHECK:STDOUT: !48 = !DILocation(line: 18, column: 7, scope: !45) @@ -341,7 +341,7 @@ fn For() { // CHECK:STDOUT: !78 = !DILocation(line: 24, column: 9, scope: !64) // CHECK:STDOUT: !79 = !DILocation(line: 26, column: 16, scope: !64) // CHECK:STDOUT: !80 = !DILocation(line: 26, column: 9, scope: !64) -// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.7ea17724d9984109", scope: null, file: !82, line: 36, type: !83, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !85) +// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.a5214d4ceffb522b", scope: null, file: !82, line: 36, type: !83, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !85) // CHECK:STDOUT: !82 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !83 = !DISubroutineType(types: !84) // CHECK:STDOUT: !84 = !{!29, !29} @@ -349,7 +349,7 @@ fn For() { // CHECK:STDOUT: !86 = !DILocalVariable(arg: 1, scope: !81, type: !29) // CHECK:STDOUT: !87 = !DILocation(line: 37, column: 12, scope: !81) // CHECK:STDOUT: !88 = !DILocation(line: 37, column: 5, scope: !81) -// CHECK:STDOUT: !89 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.7ea17724d9984109", scope: null, file: !82, line: 39, type: !58, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !90) +// CHECK:STDOUT: !89 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.a5214d4ceffb522b", scope: null, file: !82, line: 39, type: !58, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !90) // CHECK:STDOUT: !90 = !{!91} // CHECK:STDOUT: !91 = !DILocalVariable(arg: 1, scope: !89, type: !29) // CHECK:STDOUT: !92 = !DILocation(line: 40, column: 12, scope: !89) @@ -360,29 +360,29 @@ fn For() { // CHECK:STDOUT: !97 = !DILocalVariable(arg: 1, scope: !94, type: !22) // CHECK:STDOUT: !98 = !DILocation(line: 398, column: 5, scope: !94) // CHECK:STDOUT: !99 = !DILocation(line: 396, column: 3, scope: !94) -// CHECK:STDOUT: !100 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.7ea17724d9984109", scope: null, file: !82, line: 33, type: !101, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !103) +// CHECK:STDOUT: !100 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.a5214d4ceffb522b", scope: null, file: !82, line: 33, type: !101, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !103) // CHECK:STDOUT: !101 = !DISubroutineType(types: !102) // CHECK:STDOUT: !102 = !{!29, !22} // CHECK:STDOUT: !103 = !{!104} // CHECK:STDOUT: !104 = !DILocalVariable(arg: 1, scope: !100, type: !22) // CHECK:STDOUT: !105 = !DILocation(line: 34, column: 12, scope: !100) // CHECK:STDOUT: !106 = !DILocation(line: 34, column: 5, scope: !100) -// CHECK:STDOUT: !107 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.7ea17724d9984109", scope: null, file: !82, line: 30, type: !108, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !107 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.a5214d4ceffb522b", scope: null, file: !82, line: 30, type: !108, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !108 = !DISubroutineType(types: !109) // CHECK:STDOUT: !109 = !{!29} // CHECK:STDOUT: !110 = !DILocation(line: 31, column: 12, scope: !107) // CHECK:STDOUT: !111 = !DILocation(line: 31, column: 5, scope: !107) -// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a", scope: null, file: !82, line: 141, type: !83, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !113) +// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !82, line: 141, type: !83, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !113) // CHECK:STDOUT: !113 = !{!114} // CHECK:STDOUT: !114 = !DILocalVariable(arg: 1, scope: !112, type: !29) // CHECK:STDOUT: !115 = !DILocation(line: 142, column: 12, scope: !112) // CHECK:STDOUT: !116 = !DILocation(line: 142, column: 5, scope: !112) -// CHECK:STDOUT: !117 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a", scope: null, file: !82, line: 144, type: !58, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !118) +// CHECK:STDOUT: !117 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !82, line: 144, type: !58, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !118) // CHECK:STDOUT: !118 = !{!119} // CHECK:STDOUT: !119 = !DILocalVariable(arg: 1, scope: !117, type: !29) // CHECK:STDOUT: !120 = !DILocation(line: 145, column: 12, scope: !117) // CHECK:STDOUT: !121 = !DILocation(line: 145, column: 5, scope: !117) -// CHECK:STDOUT: !122 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.d395a13f81aa0e29.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce", scope: null, file: !95, line: 331, type: !123, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !125) +// CHECK:STDOUT: !122 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895", scope: null, file: !95, line: 331, type: !123, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !125) // CHECK:STDOUT: !123 = !DISubroutineType(types: !124) // CHECK:STDOUT: !124 = !{null, !22, !22} // CHECK:STDOUT: !125 = !{!126, !127} @@ -390,16 +390,16 @@ fn For() { // CHECK:STDOUT: !127 = !DILocalVariable(arg: 2, scope: !122, type: !22) // CHECK:STDOUT: !128 = !DILocation(line: 0, scope: !122) // CHECK:STDOUT: !129 = !DILocation(line: 331, column: 3, scope: !122) -// CHECK:STDOUT: !130 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a", scope: null, file: !82, line: 131, type: !101, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !131) +// CHECK:STDOUT: !130 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !82, line: 131, type: !101, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !131) // CHECK:STDOUT: !131 = !{!132} // CHECK:STDOUT: !132 = !DILocalVariable(arg: 1, scope: !130, type: !22) // CHECK:STDOUT: !133 = !DILocation(line: 137, column: 5, scope: !130) // CHECK:STDOUT: !134 = !DILocation(line: 138, column: 5, scope: !130) // CHECK:STDOUT: !135 = !DILocation(line: 139, column: 5, scope: !130) -// CHECK:STDOUT: !136 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a", scope: null, file: !82, line: 125, type: !108, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !136 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !82, line: 125, type: !108, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !137 = !DILocation(line: 128, column: 5, scope: !136) // CHECK:STDOUT: !138 = !DILocation(line: 129, column: 5, scope: !136) -// CHECK:STDOUT: !139 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056", scope: null, file: !95, line: 64, type: !140, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !142) +// CHECK:STDOUT: !139 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044", scope: null, file: !95, line: 64, type: !140, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !142) // CHECK:STDOUT: !140 = !DISubroutineType(types: !141) // CHECK:STDOUT: !141 = !{!22, !22} // CHECK:STDOUT: !142 = !{!143} diff --git a/toolchain/lower/testdata/for/for.carbon b/toolchain/lower/testdata/for/for.carbon index 73b931c99211..eea93f32876a 100644 --- a/toolchain/lower/testdata/for/for.carbon +++ b/toolchain/lower/testdata/for/for.carbon @@ -49,17 +49,17 @@ fn For() { // CHECK:STDOUT: for.next: ; preds = %for.body, %entry // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc19_33.1.temp), !dbg !8 // CHECK:STDOUT: call void @"_CNext.IntRange.9452f4c51951679b.Core:Iterate.Core.be1e879c1ad406d8"(ptr %.loc19_33.1.temp, ptr %.loc19_32.1.temp, ptr %var), !dbg !8 -// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.7ea17724d9984109(ptr %.loc19_33.1.temp), !dbg !8 +// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.a5214d4ceffb522b(ptr %.loc19_33.1.temp), !dbg !8 // CHECK:STDOUT: br i1 %Optional.HasValue.call, label %for.body, label %for.done, !dbg !8 // CHECK:STDOUT: // CHECK:STDOUT: for.body: ; preds = %for.next -// CHECK:STDOUT: %Optional.Get.call = call i32 @_CGet.Optional.Core.7ea17724d9984109(ptr %.loc19_33.1.temp), !dbg !8 +// CHECK:STDOUT: %Optional.Get.call = call i32 @_CGet.Optional.Core.a5214d4ceffb522b(ptr %.loc19_33.1.temp), !dbg !8 // CHECK:STDOUT: call void @_CG.Main(), !dbg !10 -// CHECK:STDOUT: call void @"_COp.b4f8c5e3688cd025:core.Destroy.Core"(ptr %.loc19_33.1.temp), !dbg !8 +// CHECK:STDOUT: call void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %.loc19_33.1.temp), !dbg !8 // CHECK:STDOUT: br label %for.next, !dbg !11 // CHECK:STDOUT: // CHECK:STDOUT: for.done: ; preds = %for.next -// CHECK:STDOUT: call void @"_COp.b4f8c5e3688cd025:core.Destroy.Core"(ptr %.loc19_33.1.temp), !dbg !8 +// CHECK:STDOUT: call void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %.loc19_33.1.temp), !dbg !8 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %var), !dbg !8 // CHECK:STDOUT: call void @"_COp.0d5da2659ce22e5f:core.Destroy.Core"(ptr %.loc19_32.1.temp), !dbg !7 // CHECK:STDOUT: call void @_CH.Main(), !dbg !12 @@ -95,13 +95,13 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.278d9a31079e7ff2:core.Destroy.Core"(ptr %self) #0 !dbg !37 { +// CHECK:STDOUT: define weak_odr void @"_COp.355bf6abcc7faf5a:core.Destroy.Core"(ptr %self) #0 !dbg !37 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !40 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.b4f8c5e3688cd025:core.Destroy.Core"(ptr %self) #0 !dbg !41 { +// CHECK:STDOUT: define weak_odr void @"_COp.943733ce9fead8c4:core.Destroy.Core"(ptr %self) #0 !dbg !41 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !44 // CHECK:STDOUT: } @@ -143,25 +143,25 @@ fn For() { // CHECK:STDOUT: 6: ; preds = %0 // CHECK:STDOUT: call void @"_COp.Int.9452f4c51951679b.Core:Inc.Core.be1e879c1ad406d8"(ptr %cursor), !dbg !71 // CHECK:STDOUT: %7 = load i32, ptr %1, align 4, !dbg !72 -// CHECK:STDOUT: call void @_CSome.Optional.Core.7ea17724d9984109(ptr %return, i32 %7), !dbg !73 +// CHECK:STDOUT: call void @_CSome.Optional.Core.a5214d4ceffb522b(ptr %return, i32 %7), !dbg !73 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %1), !dbg !66 // CHECK:STDOUT: ret void, !dbg !74 // CHECK:STDOUT: // CHECK:STDOUT: 8: ; preds = %0 -// CHECK:STDOUT: call void @_CNone.Optional.Core.7ea17724d9984109(ptr %return), !dbg !75 +// CHECK:STDOUT: call void @_CNone.Optional.Core.a5214d4ceffb522b(ptr %return), !dbg !75 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %1), !dbg !66 // CHECK:STDOUT: ret void, !dbg !76 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.7ea17724d9984109(ptr %self) #0 !dbg !77 { -// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %self), !dbg !83 +// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.a5214d4ceffb522b(ptr %self) #0 !dbg !77 { +// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %self), !dbg !83 // CHECK:STDOUT: ret i1 %1, !dbg !84 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CGet.Optional.Core.7ea17724d9984109(ptr %self) #0 !dbg !85 { -// CHECK:STDOUT: %1 = call i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %self), !dbg !88 +// CHECK:STDOUT: define linkonce_odr i32 @_CGet.Optional.Core.a5214d4ceffb522b(ptr %self) #0 !dbg !85 { +// CHECK:STDOUT: %1 = call i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %self), !dbg !88 // CHECK:STDOUT: ret i32 %1, !dbg !89 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -169,24 +169,24 @@ fn For() { // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @"_COp.Int.9452f4c51951679b.Core:Inc.Core.be1e879c1ad406d8"(ptr %self) #0 !dbg !90 { -// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.d395a13f81aa0e29.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 1), !dbg !94 +// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 1), !dbg !94 // CHECK:STDOUT: ret void, !dbg !95 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.7ea17724d9984109(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !96 { -// CHECK:STDOUT: call void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %return, i32 %value), !dbg !101 +// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.a5214d4ceffb522b(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !96 { +// CHECK:STDOUT: call void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %return, i32 %value), !dbg !101 // CHECK:STDOUT: ret void, !dbg !102 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.7ea17724d9984109(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !103 { -// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %return), !dbg !106 +// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.a5214d4ceffb522b(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !103 { +// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %return), !dbg !106 // CHECK:STDOUT: ret void, !dbg !107 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %value) #0 !dbg !108 { +// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %value) #0 !dbg !108 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %value, i32 0, i32 1, !dbg !111 // CHECK:STDOUT: %1 = load i8, ptr %has_value, align 1, !dbg !111 // CHECK:STDOUT: %2 = trunc i8 %1 to i1, !dbg !111 @@ -194,15 +194,15 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr %value) #0 !dbg !113 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr %value) #0 !dbg !113 { // CHECK:STDOUT: %value1 = getelementptr inbounds nuw <{ i32, i1 }>, ptr %value, i32 0, i32 0, !dbg !116 // CHECK:STDOUT: %1 = load i32, ptr %value1, align 4, !dbg !116 // CHECK:STDOUT: ret i32 %1, !dbg !117 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.d395a13f81aa0e29.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 %other) #2 !dbg !118 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %other), !dbg !124 +// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 %other) #2 !dbg !118 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %other), !dbg !124 // CHECK:STDOUT: %2 = load i32, ptr %self, align 4, !dbg !125 // CHECK:STDOUT: %3 = add i32 %2, %1, !dbg !125 // CHECK:STDOUT: store i32 %3, ptr %self, align 4, !dbg !125 @@ -210,7 +210,7 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !126 { +// CHECK:STDOUT: define linkonce_odr void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !126 { // CHECK:STDOUT: %value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 0, !dbg !129 // CHECK:STDOUT: store i32 %self, ptr %value, align 4, !dbg !129 // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 1, !dbg !130 @@ -219,14 +219,14 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a"(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !132 { +// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381"(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !132 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 1, !dbg !133 // CHECK:STDOUT: store i8 0, ptr %has_value, align 1, !dbg !133 // CHECK:STDOUT: ret void, !dbg !134 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %self) #0 !dbg !135 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %self) #0 !dbg !135 { // CHECK:STDOUT: %1 = call i32 @"_CAsInt.Int.9452f4c51951679b.Core:AnyInt.Core.be1e879c1ad406d8"(i32 %self), !dbg !140 // CHECK:STDOUT: ret i32 %1, !dbg !141 // CHECK:STDOUT: } @@ -237,7 +237,7 @@ fn For() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @"_COp.b4f8c5e3688cd025:core.Destroy.Core", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_COp.943733ce9fead8c4:core.Destroy.Core", { 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 3, 2, 1 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -284,11 +284,11 @@ fn For() { // CHECK:STDOUT: !34 = !{!35} // CHECK:STDOUT: !35 = !DILocalVariable(arg: 1, scope: !33, type: !25) // CHECK:STDOUT: !36 = !DILocation(line: 19, column: 7, scope: !33) -// CHECK:STDOUT: !37 = distinct !DISubprogram(name: "Op", linkageName: "_COp.278d9a31079e7ff2:core.Destroy.Core", scope: null, file: !1, line: 19, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !38) +// CHECK:STDOUT: !37 = distinct !DISubprogram(name: "Op", linkageName: "_COp.355bf6abcc7faf5a:core.Destroy.Core", scope: null, file: !1, line: 19, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !38) // CHECK:STDOUT: !38 = !{!39} // CHECK:STDOUT: !39 = !DILocalVariable(arg: 1, scope: !37, type: !25) // CHECK:STDOUT: !40 = !DILocation(line: 19, column: 7, scope: !37) -// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "Op", linkageName: "_COp.b4f8c5e3688cd025:core.Destroy.Core", scope: null, file: !1, line: 19, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) +// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "Op", linkageName: "_COp.943733ce9fead8c4:core.Destroy.Core", scope: null, file: !1, line: 19, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) // CHECK:STDOUT: !42 = !{!43} // CHECK:STDOUT: !43 = !DILocalVariable(arg: 1, scope: !41, type: !25) // CHECK:STDOUT: !44 = !DILocation(line: 19, column: 7, scope: !41) @@ -324,7 +324,7 @@ fn For() { // CHECK:STDOUT: !74 = !DILocation(line: 24, column: 9, scope: !60) // CHECK:STDOUT: !75 = !DILocation(line: 26, column: 16, scope: !60) // CHECK:STDOUT: !76 = !DILocation(line: 26, column: 9, scope: !60) -// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.7ea17724d9984109", scope: null, file: !78, line: 36, type: !79, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !81) +// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.a5214d4ceffb522b", scope: null, file: !78, line: 36, type: !79, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !81) // CHECK:STDOUT: !78 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !79 = !DISubroutineType(types: !80) // CHECK:STDOUT: !80 = !{!25, !25} @@ -332,7 +332,7 @@ fn For() { // CHECK:STDOUT: !82 = !DILocalVariable(arg: 1, scope: !77, type: !25) // CHECK:STDOUT: !83 = !DILocation(line: 37, column: 12, scope: !77) // CHECK:STDOUT: !84 = !DILocation(line: 37, column: 5, scope: !77) -// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.7ea17724d9984109", scope: null, file: !78, line: 39, type: !54, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !86) +// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.a5214d4ceffb522b", scope: null, file: !78, line: 39, type: !54, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !86) // CHECK:STDOUT: !86 = !{!87} // CHECK:STDOUT: !87 = !DILocalVariable(arg: 1, scope: !85, type: !25) // CHECK:STDOUT: !88 = !DILocation(line: 40, column: 12, scope: !85) @@ -343,29 +343,29 @@ fn For() { // CHECK:STDOUT: !93 = !DILocalVariable(arg: 1, scope: !90, type: !18) // CHECK:STDOUT: !94 = !DILocation(line: 398, column: 5, scope: !90) // CHECK:STDOUT: !95 = !DILocation(line: 396, column: 3, scope: !90) -// CHECK:STDOUT: !96 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.7ea17724d9984109", scope: null, file: !78, line: 33, type: !97, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !99) +// CHECK:STDOUT: !96 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.a5214d4ceffb522b", scope: null, file: !78, line: 33, type: !97, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !99) // CHECK:STDOUT: !97 = !DISubroutineType(types: !98) // CHECK:STDOUT: !98 = !{!25, !18} // CHECK:STDOUT: !99 = !{!100} // CHECK:STDOUT: !100 = !DILocalVariable(arg: 1, scope: !96, type: !18) // CHECK:STDOUT: !101 = !DILocation(line: 34, column: 12, scope: !96) // CHECK:STDOUT: !102 = !DILocation(line: 34, column: 5, scope: !96) -// CHECK:STDOUT: !103 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.7ea17724d9984109", scope: null, file: !78, line: 30, type: !104, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !103 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.a5214d4ceffb522b", scope: null, file: !78, line: 30, type: !104, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !104 = !DISubroutineType(types: !105) // CHECK:STDOUT: !105 = !{!25} // CHECK:STDOUT: !106 = !DILocation(line: 31, column: 12, scope: !103) // CHECK:STDOUT: !107 = !DILocation(line: 31, column: 5, scope: !103) -// CHECK:STDOUT: !108 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a", scope: null, file: !78, line: 141, type: !79, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !109) +// CHECK:STDOUT: !108 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !78, line: 141, type: !79, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !109) // CHECK:STDOUT: !109 = !{!110} // CHECK:STDOUT: !110 = !DILocalVariable(arg: 1, scope: !108, type: !25) // CHECK:STDOUT: !111 = !DILocation(line: 142, column: 12, scope: !108) // CHECK:STDOUT: !112 = !DILocation(line: 142, column: 5, scope: !108) -// CHECK:STDOUT: !113 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a", scope: null, file: !78, line: 144, type: !54, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !114) +// CHECK:STDOUT: !113 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !78, line: 144, type: !54, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !114) // CHECK:STDOUT: !114 = !{!115} // CHECK:STDOUT: !115 = !DILocalVariable(arg: 1, scope: !113, type: !25) // CHECK:STDOUT: !116 = !DILocation(line: 145, column: 12, scope: !113) // CHECK:STDOUT: !117 = !DILocation(line: 145, column: 5, scope: !113) -// CHECK:STDOUT: !118 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.d395a13f81aa0e29.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce", scope: null, file: !91, line: 331, type: !119, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !121) +// CHECK:STDOUT: !118 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895", scope: null, file: !91, line: 331, type: !119, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !121) // CHECK:STDOUT: !119 = !DISubroutineType(types: !120) // CHECK:STDOUT: !120 = !{null, !18, !18} // CHECK:STDOUT: !121 = !{!122, !123} @@ -373,16 +373,16 @@ fn For() { // CHECK:STDOUT: !123 = !DILocalVariable(arg: 2, scope: !118, type: !18) // CHECK:STDOUT: !124 = !DILocation(line: 0, scope: !118) // CHECK:STDOUT: !125 = !DILocation(line: 331, column: 3, scope: !118) -// CHECK:STDOUT: !126 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a", scope: null, file: !78, line: 131, type: !97, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !127) +// CHECK:STDOUT: !126 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !78, line: 131, type: !97, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !127) // CHECK:STDOUT: !127 = !{!128} // CHECK:STDOUT: !128 = !DILocalVariable(arg: 1, scope: !126, type: !18) // CHECK:STDOUT: !129 = !DILocation(line: 137, column: 5, scope: !126) // CHECK:STDOUT: !130 = !DILocation(line: 138, column: 5, scope: !126) // CHECK:STDOUT: !131 = !DILocation(line: 139, column: 5, scope: !126) -// CHECK:STDOUT: !132 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.39417379e302314a", scope: null, file: !78, line: 125, type: !104, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !132 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.553a1f59d1dd8381", scope: null, file: !78, line: 125, type: !104, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !133 = !DILocation(line: 128, column: 5, scope: !132) // CHECK:STDOUT: !134 = !DILocation(line: 129, column: 5, scope: !132) -// CHECK:STDOUT: !135 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056", scope: null, file: !91, line: 64, type: !136, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !138) +// CHECK:STDOUT: !135 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044", scope: null, file: !91, line: 64, type: !136, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !138) // CHECK:STDOUT: !136 = !DISubroutineType(types: !137) // CHECK:STDOUT: !137 = !{!18, !18} // CHECK:STDOUT: !138 = !{!139} diff --git a/toolchain/lower/testdata/function/generic/call_basic.carbon b/toolchain/lower/testdata/function/generic/call_basic.carbon index 1278139b46c9..f49f83532042 100644 --- a/toolchain/lower/testdata/function/generic/call_basic.carbon +++ b/toolchain/lower/testdata/function/generic/call_basic.carbon @@ -94,11 +94,11 @@ fn M() { // CHECK:STDOUT: %.loc52 = load i32, ptr %n.var, align 4, !dbg !26 // CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %.loc52), !dbg !27 // CHECK:STDOUT: %.loc53_18 = load i32, ptr %n.var, align 4, !dbg !28 -// CHECK:STDOUT: %G.call.loc53 = call i32 @_CG.Main.58016a73bff04416(i32 %.loc53_18), !dbg !29 +// CHECK:STDOUT: %G.call.loc53 = call i32 @_CG.Main.553a1f59d1dd8381(i32 %.loc53_18), !dbg !29 // CHECK:STDOUT: %.loc54 = load double, ptr %p.var, align 8, !dbg !30 // CHECK:STDOUT: call void @_CF.Main.073fbce68be6103e(double %.loc54), !dbg !31 // CHECK:STDOUT: %.loc55_18 = load double, ptr %p.var, align 8, !dbg !32 -// CHECK:STDOUT: %G.call.loc55 = call double @_CG.Main.fa1f0912a5bbe922(double %.loc55_18), !dbg !33 +// CHECK:STDOUT: %G.call.loc55 = call double @_CG.Main.2c62211f0854a75a(double %.loc55_18), !dbg !33 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %p.var), !dbg !25 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %n.var), !dbg !24 // CHECK:STDOUT: ret void, !dbg !34 @@ -123,7 +123,7 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.58016a73bff04416(i32 %x) #0 !dbg !46 { +// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.553a1f59d1dd8381(i32 %x) #0 !dbg !46 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc29_6.3.temp = alloca i32, align 4, !dbg !51 // CHECK:STDOUT: %.loc31_8.3.temp = alloca i32, align 4, !dbg !52 @@ -135,38 +135,38 @@ fn M() { // CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !58 // CHECK:STDOUT: %.loc43_6.3.temp = alloca {}, align 1, !dbg !59 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc29_6.3.temp), !dbg !51 -// CHECK:STDOUT: %H.call.loc29 = call i32 @_CH.Main.5bd8d5767580997a(i32 %x), !dbg !51 +// CHECK:STDOUT: %H.call.loc29 = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x), !dbg !51 // CHECK:STDOUT: store i32 %H.call.loc29, ptr %.loc29_6.3.temp, align 4, !dbg !51 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %.loc29_6.3.temp), !dbg !51 -// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.ee509b43cf4eb3c5(%type.26 zeroinitializer), !dbg !60 +// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !60 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_8.3.temp), !dbg !52 -// CHECK:STDOUT: %G.call = call i32 @_CG.Main.58016a73bff04416(i32 %x), !dbg !52 +// CHECK:STDOUT: %G.call = call i32 @_CG.Main.553a1f59d1dd8381(i32 %x), !dbg !52 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_9.3.temp), !dbg !53 // CHECK:STDOUT: store i32 %G.call, ptr %.loc31_8.3.temp, align 4, !dbg !52 // CHECK:STDOUT: %.loc31_8.5 = load i32, ptr %.loc31_8.3.temp, align 4, !dbg !52 -// CHECK:STDOUT: %H.call.loc31 = call i32 @_CH.Main.5bd8d5767580997a(i32 %.loc31_8.5), !dbg !53 +// CHECK:STDOUT: %H.call.loc31 = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %.loc31_8.5), !dbg !53 // CHECK:STDOUT: store i32 %H.call.loc31, ptr %.loc31_9.3.temp, align 4, !dbg !53 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %.loc31_9.3.temp), !dbg !53 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %.loc31_8.3.temp), !dbg !52 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !54 // CHECK:STDOUT: store double poison, ptr %var_f64.var, align 8, !dbg !54 // CHECK:STDOUT: %.loc35_5 = load double, ptr %var_f64.var, align 8, !dbg !61 -// CHECK:STDOUT: %H.call.loc35 = call double @_CH.Main.c27b765f2159c9a0(double %.loc35_5), !dbg !62 +// CHECK:STDOUT: %H.call.loc35 = call double @_CH.Main.c5e4ba542a56b71f(double %.loc35_5), !dbg !62 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !55 // CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !55 // CHECK:STDOUT: %.loc37_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !63 -// CHECK:STDOUT: %H.call.loc37 = call ptr @_CH.Main.2621742a01881e29(ptr %.loc37_5), !dbg !64 +// CHECK:STDOUT: %H.call.loc37 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc37_5), !dbg !64 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !56 // CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !56 // CHECK:STDOUT: %.loc39_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !65 -// CHECK:STDOUT: %H.call.loc39 = call ptr @_CH.Main.2621742a01881e29(ptr %.loc39_5), !dbg !66 +// CHECK:STDOUT: %H.call.loc39 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc39_5), !dbg !66 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !57 // CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !57 // CHECK:STDOUT: %.loc41_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !67 -// CHECK:STDOUT: %H.call.loc41 = call ptr @_CH.Main.2621742a01881e29(ptr %.loc41_5), !dbg !68 +// CHECK:STDOUT: %H.call.loc41 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc41_5), !dbg !68 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !58 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc43_6.3.temp), !dbg !59 -// CHECK:STDOUT: call void @_CH.Main.4d597ec621e4ba00(ptr %.loc43_6.3.temp, ptr %c.var), !dbg !59 +// CHECK:STDOUT: call void @_CH.Main.42513763e01cba2c(ptr %.loc43_6.3.temp, ptr %c.var), !dbg !59 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %.loc43_6.3.temp), !dbg !59 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %c.var), !dbg !58 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %var_f64.var), !dbg !54 @@ -180,7 +180,7 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CG.Main.fa1f0912a5bbe922(double %x) #0 !dbg !74 { +// CHECK:STDOUT: define linkonce_odr double @_CG.Main.2c62211f0854a75a(double %x) #0 !dbg !74 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc29_6.3.temp = alloca double, align 8, !dbg !77 // CHECK:STDOUT: %.loc31_8.3.temp = alloca double, align 8, !dbg !78 @@ -192,38 +192,38 @@ fn M() { // CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !84 // CHECK:STDOUT: %.loc43_6.3.temp = alloca {}, align 1, !dbg !85 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc29_6.3.temp), !dbg !77 -// CHECK:STDOUT: %H.call.loc29 = call double @_CH.Main.c27b765f2159c9a0(double %x), !dbg !77 +// CHECK:STDOUT: %H.call.loc29 = call double @_CH.Main.c5e4ba542a56b71f(double %x), !dbg !77 // CHECK:STDOUT: store double %H.call.loc29, ptr %.loc29_6.3.temp, align 8, !dbg !77 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %.loc29_6.3.temp), !dbg !77 -// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.ee509b43cf4eb3c5(%type.26 zeroinitializer), !dbg !86 +// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !86 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_8.3.temp), !dbg !78 -// CHECK:STDOUT: %G.call = call double @_CG.Main.fa1f0912a5bbe922(double %x), !dbg !78 +// CHECK:STDOUT: %G.call = call double @_CG.Main.2c62211f0854a75a(double %x), !dbg !78 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_9.3.temp), !dbg !79 // CHECK:STDOUT: store double %G.call, ptr %.loc31_8.3.temp, align 8, !dbg !78 // CHECK:STDOUT: %.loc31_8.5 = load double, ptr %.loc31_8.3.temp, align 8, !dbg !78 -// CHECK:STDOUT: %H.call.loc31 = call double @_CH.Main.c27b765f2159c9a0(double %.loc31_8.5), !dbg !79 +// CHECK:STDOUT: %H.call.loc31 = call double @_CH.Main.c5e4ba542a56b71f(double %.loc31_8.5), !dbg !79 // CHECK:STDOUT: store double %H.call.loc31, ptr %.loc31_9.3.temp, align 8, !dbg !79 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %.loc31_9.3.temp), !dbg !79 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %.loc31_8.3.temp), !dbg !78 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !80 // CHECK:STDOUT: store double poison, ptr %var_f64.var, align 8, !dbg !80 // CHECK:STDOUT: %.loc35_5 = load double, ptr %var_f64.var, align 8, !dbg !87 -// CHECK:STDOUT: %H.call.loc35 = call double @_CH.Main.c27b765f2159c9a0(double %.loc35_5), !dbg !88 +// CHECK:STDOUT: %H.call.loc35 = call double @_CH.Main.c5e4ba542a56b71f(double %.loc35_5), !dbg !88 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !81 // CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !81 // CHECK:STDOUT: %.loc37_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !89 -// CHECK:STDOUT: %H.call.loc37 = call ptr @_CH.Main.2621742a01881e29(ptr %.loc37_5), !dbg !90 +// CHECK:STDOUT: %H.call.loc37 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc37_5), !dbg !90 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !82 // CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !82 // CHECK:STDOUT: %.loc39_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !91 -// CHECK:STDOUT: %H.call.loc39 = call ptr @_CH.Main.2621742a01881e29(ptr %.loc39_5), !dbg !92 +// CHECK:STDOUT: %H.call.loc39 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc39_5), !dbg !92 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !83 // CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !83 // CHECK:STDOUT: %.loc41_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !93 -// CHECK:STDOUT: %H.call.loc41 = call ptr @_CH.Main.2621742a01881e29(ptr %.loc41_5), !dbg !94 +// CHECK:STDOUT: %H.call.loc41 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc41_5), !dbg !94 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !84 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc43_6.3.temp), !dbg !85 -// CHECK:STDOUT: call void @_CH.Main.4d597ec621e4ba00(ptr %.loc43_6.3.temp, ptr %c.var), !dbg !85 +// CHECK:STDOUT: call void @_CH.Main.42513763e01cba2c(ptr %.loc43_6.3.temp, ptr %c.var), !dbg !85 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %.loc43_6.3.temp), !dbg !85 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %c.var), !dbg !84 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %var_f64.var), !dbg !80 @@ -231,31 +231,31 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CH.Main.5bd8d5767580997a(i32 %x) #0 !dbg !96 { +// CHECK:STDOUT: define linkonce_odr i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !96 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !99 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CH.Main.ee509b43cf4eb3c5(%type.26 %x) #0 !dbg !100 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CH.Main.71d6c598da8ca542(%type.26 %x) #0 !dbg !100 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret %type.26 %x, !dbg !103 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CH.Main.c27b765f2159c9a0(double %x) #0 !dbg !104 { +// CHECK:STDOUT: define linkonce_odr double @_CH.Main.c5e4ba542a56b71f(double %x) #0 !dbg !104 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret double %x, !dbg !107 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CH.Main.2621742a01881e29(ptr %x) #0 !dbg !108 { +// CHECK:STDOUT: define linkonce_odr ptr @_CH.Main.a76b78461416b4a8(ptr %x) #0 !dbg !108 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret ptr %x, !dbg !111 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CH.Main.4d597ec621e4ba00(ptr sret({}) %return, ptr %x) #0 !dbg !112 { +// CHECK:STDOUT: define linkonce_odr void @_CH.Main.42513763e01cba2c(ptr sret({}) %return, ptr %x) #0 !dbg !112 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @"_COp.C.Main:Copy.Core"(ptr %return, ptr %x), !dbg !115 // CHECK:STDOUT: ret void, !dbg !116 @@ -263,11 +263,11 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 18 } -// CHECK:STDOUT: uselistorder ptr @_CH.Main.5bd8d5767580997a, { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CH.Main.ee509b43cf4eb3c5, { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CH.Main.c27b765f2159c9a0, { 3, 2, 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CH.Main.2621742a01881e29, { 5, 2, 0, 4, 3, 1 } -// CHECK:STDOUT: uselistorder ptr @_CH.Main.4d597ec621e4ba00, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CH.Main.4d6ceefeb7f772f4, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CH.Main.71d6c598da8ca542, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CH.Main.c5e4ba542a56b71f, { 3, 2, 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CH.Main.a76b78461416b4a8, { 5, 2, 0, 4, 3, 1 } +// CHECK:STDOUT: uselistorder ptr @_CH.Main.42513763e01cba2c, { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } @@ -321,7 +321,7 @@ fn M() { // CHECK:STDOUT: !43 = !{!44} // CHECK:STDOUT: !44 = !DILocalVariable(arg: 1, scope: !42, type: !38) // CHECK:STDOUT: !45 = !DILocation(line: 19, column: 1, scope: !42) -// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.58016a73bff04416", scope: null, file: !1, line: 28, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) +// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.553a1f59d1dd8381", scope: null, file: !1, line: 28, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) // CHECK:STDOUT: !47 = !DISubroutineType(types: !48) // CHECK:STDOUT: !48 = !{!38, !38} // CHECK:STDOUT: !49 = !{!50} @@ -349,7 +349,7 @@ fn M() { // CHECK:STDOUT: !71 = !{!72} // CHECK:STDOUT: !72 = !DILocalVariable(arg: 1, scope: !70, type: !7) // CHECK:STDOUT: !73 = !DILocation(line: 19, column: 1, scope: !70) -// CHECK:STDOUT: !74 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.fa1f0912a5bbe922", scope: null, file: !1, line: 28, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !75) +// CHECK:STDOUT: !74 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.2c62211f0854a75a", scope: null, file: !1, line: 28, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !75) // CHECK:STDOUT: !75 = !{!76} // CHECK:STDOUT: !76 = !DILocalVariable(arg: 1, scope: !74, type: !7) // CHECK:STDOUT: !77 = !DILocation(line: 29, column: 3, scope: !74) @@ -371,23 +371,23 @@ fn M() { // CHECK:STDOUT: !93 = !DILocation(line: 41, column: 5, scope: !74) // CHECK:STDOUT: !94 = !DILocation(line: 41, column: 3, scope: !74) // CHECK:STDOUT: !95 = !DILocation(line: 45, column: 3, scope: !74) -// CHECK:STDOUT: !96 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.5bd8d5767580997a", scope: null, file: !1, line: 22, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !97) +// CHECK:STDOUT: !96 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 22, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !97) // CHECK:STDOUT: !97 = !{!98} // CHECK:STDOUT: !98 = !DILocalVariable(arg: 1, scope: !96, type: !38) // CHECK:STDOUT: !99 = !DILocation(line: 23, column: 3, scope: !96) -// CHECK:STDOUT: !100 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.ee509b43cf4eb3c5", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !101) +// CHECK:STDOUT: !100 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.71d6c598da8ca542", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !101) // CHECK:STDOUT: !101 = !{!102} // CHECK:STDOUT: !102 = !DILocalVariable(arg: 1, scope: !100, type: !7) // CHECK:STDOUT: !103 = !DILocation(line: 23, column: 3, scope: !100) -// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.c27b765f2159c9a0", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !105) +// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !105) // CHECK:STDOUT: !105 = !{!106} // CHECK:STDOUT: !106 = !DILocalVariable(arg: 1, scope: !104, type: !7) // CHECK:STDOUT: !107 = !DILocation(line: 23, column: 3, scope: !104) -// CHECK:STDOUT: !108 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.2621742a01881e29", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !109) +// CHECK:STDOUT: !108 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.a76b78461416b4a8", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !109) // CHECK:STDOUT: !109 = !{!110} // CHECK:STDOUT: !110 = !DILocalVariable(arg: 1, scope: !108, type: !7) // CHECK:STDOUT: !111 = !DILocation(line: 23, column: 3, scope: !108) -// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.4d597ec621e4ba00", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !113) +// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.42513763e01cba2c", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !113) // CHECK:STDOUT: !113 = !{!114} // CHECK:STDOUT: !114 = !DILocalVariable(arg: 1, scope: !112, type: !7) // CHECK:STDOUT: !115 = !DILocation(line: 23, column: 10, scope: !112) diff --git a/toolchain/lower/testdata/function/generic/call_basic_depth.carbon b/toolchain/lower/testdata/function/generic/call_basic_depth.carbon index d9aed8b9fe49..79eb362ba68c 100644 --- a/toolchain/lower/testdata/function/generic/call_basic_depth.carbon +++ b/toolchain/lower/testdata/function/generic/call_basic_depth.carbon @@ -52,7 +52,7 @@ fn M() -> i32 { // CHECK:STDOUT: %.loc34 = load i32, ptr %n.var, align 4, !dbg !10 // CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %.loc34), !dbg !11 // CHECK:STDOUT: %.loc35_9 = load i32, ptr %n.var, align 4, !dbg !12 -// CHECK:STDOUT: %G.call = call i32 @_CG.Main.58016a73bff04416(i32 %.loc35_9), !dbg !13 +// CHECK:STDOUT: %G.call = call i32 @_CG.Main.553a1f59d1dd8381(i32 %.loc35_9), !dbg !13 // CHECK:STDOUT: store i32 %G.call, ptr %m.var, align 4, !dbg !14 // CHECK:STDOUT: %.loc36 = load i32, ptr %m.var, align 4, !dbg !15 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %m.var), !dbg !9 @@ -76,11 +76,11 @@ fn M() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.58016a73bff04416(i32 %x) #0 !dbg !27 { +// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.553a1f59d1dd8381(i32 %x) #0 !dbg !27 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc25_6.3.temp = alloca i32, align 4, !dbg !32 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc25_6.3.temp), !dbg !32 -// CHECK:STDOUT: %H.call = call i32 @_CH.Main.5bd8d5767580997a(i32 %x), !dbg !32 +// CHECK:STDOUT: %H.call = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x), !dbg !32 // CHECK:STDOUT: store i32 %H.call, ptr %.loc25_6.3.temp, align 4, !dbg !32 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %.loc25_6.3.temp), !dbg !32 // CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %x), !dbg !33 @@ -88,7 +88,7 @@ fn M() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CH.Main.5bd8d5767580997a(i32 %x) #0 !dbg !35 { +// CHECK:STDOUT: define linkonce_odr i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !35 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %x), !dbg !38 // CHECK:STDOUT: ret i32 %x, !dbg !39 @@ -131,7 +131,7 @@ fn M() -> i32 { // CHECK:STDOUT: !24 = !{!25} // CHECK:STDOUT: !25 = !DILocalVariable(arg: 1, scope: !23, type: !7) // CHECK:STDOUT: !26 = !DILocation(line: 16, column: 1, scope: !23) -// CHECK:STDOUT: !27 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.58016a73bff04416", scope: null, file: !1, line: 24, type: !28, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !30) +// CHECK:STDOUT: !27 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.553a1f59d1dd8381", scope: null, file: !1, line: 24, type: !28, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !30) // CHECK:STDOUT: !28 = !DISubroutineType(types: !29) // CHECK:STDOUT: !29 = !{!7, !7} // CHECK:STDOUT: !30 = !{!31} @@ -139,7 +139,7 @@ fn M() -> i32 { // CHECK:STDOUT: !32 = !DILocation(line: 25, column: 3, scope: !27) // CHECK:STDOUT: !33 = !DILocation(line: 26, column: 3, scope: !27) // CHECK:STDOUT: !34 = !DILocation(line: 27, column: 3, scope: !27) -// CHECK:STDOUT: !35 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.5bd8d5767580997a", scope: null, file: !1, line: 19, type: !28, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !36) +// CHECK:STDOUT: !35 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 19, type: !28, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !36) // CHECK:STDOUT: !36 = !{!37} // CHECK:STDOUT: !37 = !DILocalVariable(arg: 1, scope: !35, type: !7) // CHECK:STDOUT: !38 = !DILocation(line: 20, column: 3, scope: !35) diff --git a/toolchain/lower/testdata/function/generic/call_dedup_ptr.carbon b/toolchain/lower/testdata/function/generic/call_dedup_ptr.carbon index c6644122521e..211941970a66 100644 --- a/toolchain/lower/testdata/function/generic/call_dedup_ptr.carbon +++ b/toolchain/lower/testdata/function/generic/call_dedup_ptr.carbon @@ -36,15 +36,15 @@ fn M() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !7 // CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !7 // CHECK:STDOUT: %.loc19_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !10 -// CHECK:STDOUT: %F.call.loc19 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc19_5), !dbg !11 +// CHECK:STDOUT: %F.call.loc19 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc19_5), !dbg !11 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !8 // CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !8 // CHECK:STDOUT: %.loc21_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !12 -// CHECK:STDOUT: %F.call.loc21 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc21_5), !dbg !13 +// CHECK:STDOUT: %F.call.loc21 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc21_5), !dbg !13 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !9 // CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !9 // CHECK:STDOUT: %.loc23_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !14 -// CHECK:STDOUT: %F.call.loc23 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc23_5), !dbg !15 +// CHECK:STDOUT: %F.call.loc23 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc23_5), !dbg !15 // CHECK:STDOUT: ret void, !dbg !16 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -52,14 +52,14 @@ fn M() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.2621742a01881e29(ptr %x) #0 !dbg !17 { +// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x) #0 !dbg !17 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret ptr %x, !dbg !23 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 2, 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CF.Main.2621742a01881e29, { 2, 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CF.Main.a76b78461416b4a8, { 2, 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } @@ -84,7 +84,7 @@ fn M() { // CHECK:STDOUT: !14 = !DILocation(line: 23, column: 5, scope: !4) // CHECK:STDOUT: !15 = !DILocation(line: 23, column: 3, scope: !4) // CHECK:STDOUT: !16 = !DILocation(line: 17, column: 1, scope: !4) -// CHECK:STDOUT: !17 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.2621742a01881e29", scope: null, file: !1, line: 13, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !21) +// CHECK:STDOUT: !17 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !1, line: 13, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !21) // CHECK:STDOUT: !18 = !DISubroutineType(types: !19) // CHECK:STDOUT: !19 = !{!20, !20} // CHECK:STDOUT: !20 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64) diff --git a/toolchain/lower/testdata/function/generic/call_deref_ptr.carbon b/toolchain/lower/testdata/function/generic/call_deref_ptr.carbon index 11997ae2eb3b..a8b73c9b4373 100644 --- a/toolchain/lower/testdata/function/generic/call_deref_ptr.carbon +++ b/toolchain/lower/testdata/function/generic/call_deref_ptr.carbon @@ -56,9 +56,9 @@ fn M() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !8 // CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !8 // CHECK:STDOUT: %.loc39_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !9 -// CHECK:STDOUT: call void @_CF.Main.58016a73bff04416(ptr %.loc39_5), !dbg !10 +// CHECK:STDOUT: call void @_CF.Main.553a1f59d1dd8381(ptr %.loc39_5), !dbg !10 // CHECK:STDOUT: %.loc40_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !11 -// CHECK:STDOUT: call void @_CF.Main.fa1f0912a5bbe922(ptr %.loc40_5), !dbg !12 +// CHECK:STDOUT: call void @_CF.Main.2c62211f0854a75a(ptr %.loc40_5), !dbg !12 // CHECK:STDOUT: ret void, !dbg !13 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -78,66 +78,66 @@ fn M() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.58016a73bff04416(ptr %x) #0 !dbg !28 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.553a1f59d1dd8381(ptr %x) #0 !dbg !28 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.ee509b43cf4eb3c5(%type.26 zeroinitializer), !dbg !31 -// CHECK:STDOUT: call void @_CB.Main.58016a73bff04416(ptr %x), !dbg !32 +// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !31 +// CHECK:STDOUT: call void @_CB.Main.553a1f59d1dd8381(ptr %x), !dbg !32 // CHECK:STDOUT: ret void, !dbg !33 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.fa1f0912a5bbe922(ptr %x) #0 !dbg !34 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.2c62211f0854a75a(ptr %x) #0 !dbg !34 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.ee509b43cf4eb3c5(%type.26 zeroinitializer), !dbg !37 -// CHECK:STDOUT: call void @_CB.Main.fa1f0912a5bbe922(ptr %x), !dbg !38 +// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !37 +// CHECK:STDOUT: call void @_CB.Main.2c62211f0854a75a(ptr %x), !dbg !38 // CHECK:STDOUT: ret void, !dbg !39 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CA.Main.ee509b43cf4eb3c5(%type.26 %x) #0 !dbg !40 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CA.Main.71d6c598da8ca542(%type.26 %x) #0 !dbg !40 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret %type.26 %x, !dbg !45 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CB.Main.58016a73bff04416(ptr %x) #0 !dbg !46 { +// CHECK:STDOUT: define linkonce_odr void @_CB.Main.553a1f59d1dd8381(ptr %x) #0 !dbg !46 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc27_7.3.temp = alloca i32, align 4, !dbg !49 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc27_7.3.temp), !dbg !49 // CHECK:STDOUT: %.loc27_5.2 = load i32, ptr %x, align 4, !dbg !50 -// CHECK:STDOUT: %D.call = call i32 @_CD.Main.5bd8d5767580997a(i32 %.loc27_5.2), !dbg !49 +// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %.loc27_5.2), !dbg !49 // CHECK:STDOUT: store i32 %D.call, ptr %.loc27_7.3.temp, align 4, !dbg !49 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %.loc27_7.3.temp), !dbg !49 // CHECK:STDOUT: ret void, !dbg !51 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CB.Main.fa1f0912a5bbe922(ptr %x) #0 !dbg !52 { +// CHECK:STDOUT: define linkonce_odr void @_CB.Main.2c62211f0854a75a(ptr %x) #0 !dbg !52 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc27_7.3.temp = alloca double, align 8, !dbg !55 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc27_7.3.temp), !dbg !55 // CHECK:STDOUT: %.loc27_5.2 = load double, ptr %x, align 8, !dbg !56 -// CHECK:STDOUT: %D.call = call double @_CD.Main.c27b765f2159c9a0(double %.loc27_5.2), !dbg !55 +// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %.loc27_5.2), !dbg !55 // CHECK:STDOUT: store double %D.call, ptr %.loc27_7.3.temp, align 8, !dbg !55 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %.loc27_7.3.temp), !dbg !55 // CHECK:STDOUT: ret void, !dbg !57 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.5bd8d5767580997a(i32 %x) #0 !dbg !58 { +// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !58 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !63 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c27b765f2159c9a0(double %x) #0 !dbg !64 { +// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x) #0 !dbg !64 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret double %x, !dbg !67 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 1, 3, 2 } -// CHECK:STDOUT: uselistorder ptr @_CA.Main.ee509b43cf4eb3c5, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CA.Main.71d6c598da8ca542, { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } @@ -173,43 +173,43 @@ fn M() { // CHECK:STDOUT: !25 = !{!26} // CHECK:STDOUT: !26 = !DILocalVariable(arg: 1, scope: !21, type: !24) // CHECK:STDOUT: !27 = !DILocation(line: 40, column: 3, scope: !21) -// CHECK:STDOUT: !28 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.58016a73bff04416", scope: null, file: !1, line: 30, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !29) +// CHECK:STDOUT: !28 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.553a1f59d1dd8381", scope: null, file: !1, line: 30, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !29) // CHECK:STDOUT: !29 = !{!30} // CHECK:STDOUT: !30 = !DILocalVariable(arg: 1, scope: !28, type: !24) // CHECK:STDOUT: !31 = !DILocation(line: 31, column: 3, scope: !28) // CHECK:STDOUT: !32 = !DILocation(line: 32, column: 3, scope: !28) // CHECK:STDOUT: !33 = !DILocation(line: 30, column: 1, scope: !28) -// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.fa1f0912a5bbe922", scope: null, file: !1, line: 30, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !35) +// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.2c62211f0854a75a", scope: null, file: !1, line: 30, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !35) // CHECK:STDOUT: !35 = !{!36} // CHECK:STDOUT: !36 = !DILocalVariable(arg: 1, scope: !34, type: !24) // CHECK:STDOUT: !37 = !DILocation(line: 31, column: 3, scope: !34) // CHECK:STDOUT: !38 = !DILocation(line: 32, column: 3, scope: !34) // CHECK:STDOUT: !39 = !DILocation(line: 30, column: 1, scope: !34) -// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.ee509b43cf4eb3c5", scope: null, file: !1, line: 18, type: !41, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !43) +// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.71d6c598da8ca542", scope: null, file: !1, line: 18, type: !41, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !43) // CHECK:STDOUT: !41 = !DISubroutineType(types: !42) // CHECK:STDOUT: !42 = !{!24, !24} // CHECK:STDOUT: !43 = !{!44} // CHECK:STDOUT: !44 = !DILocalVariable(arg: 1, scope: !40, type: !24) // CHECK:STDOUT: !45 = !DILocation(line: 19, column: 3, scope: !40) -// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.58016a73bff04416", scope: null, file: !1, line: 26, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !47) +// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.553a1f59d1dd8381", scope: null, file: !1, line: 26, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !47) // CHECK:STDOUT: !47 = !{!48} // CHECK:STDOUT: !48 = !DILocalVariable(arg: 1, scope: !46, type: !24) // CHECK:STDOUT: !49 = !DILocation(line: 27, column: 3, scope: !46) // CHECK:STDOUT: !50 = !DILocation(line: 27, column: 5, scope: !46) // CHECK:STDOUT: !51 = !DILocation(line: 26, column: 1, scope: !46) -// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.fa1f0912a5bbe922", scope: null, file: !1, line: 26, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !53) +// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.2c62211f0854a75a", scope: null, file: !1, line: 26, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !53) // CHECK:STDOUT: !53 = !{!54} // CHECK:STDOUT: !54 = !DILocalVariable(arg: 1, scope: !52, type: !24) // CHECK:STDOUT: !55 = !DILocation(line: 27, column: 3, scope: !52) // CHECK:STDOUT: !56 = !DILocation(line: 27, column: 5, scope: !52) // CHECK:STDOUT: !57 = !DILocation(line: 26, column: 1, scope: !52) -// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.5bd8d5767580997a", scope: null, file: !1, line: 22, type: !59, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !61) +// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 22, type: !59, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !61) // CHECK:STDOUT: !59 = !DISubroutineType(types: !60) // CHECK:STDOUT: !60 = !{!17, !17} // CHECK:STDOUT: !61 = !{!62} // CHECK:STDOUT: !62 = !DILocalVariable(arg: 1, scope: !58, type: !17) // CHECK:STDOUT: !63 = !DILocation(line: 23, column: 3, scope: !58) -// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c27b765f2159c9a0", scope: null, file: !1, line: 22, type: !41, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !65) +// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 22, type: !41, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !65) // CHECK:STDOUT: !65 = !{!66} // CHECK:STDOUT: !66 = !DILocalVariable(arg: 1, scope: !64, type: !24) // CHECK:STDOUT: !67 = !DILocation(line: 23, column: 3, scope: !64) diff --git a/toolchain/lower/testdata/function/generic/call_different_associated_const.carbon b/toolchain/lower/testdata/function/generic/call_different_associated_const.carbon index 14565e8ef2d5..6c2df0d8b089 100644 --- a/toolchain/lower/testdata/function/generic/call_different_associated_const.carbon +++ b/toolchain/lower/testdata/function/generic/call_different_associated_const.carbon @@ -44,13 +44,13 @@ fn H() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CH.Main() #0 !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CG.Main.20ca60fb00b19f60(), !dbg !7 -// CHECK:STDOUT: call void @_CG.Main.af98d350d462566f(), !dbg !8 +// CHECK:STDOUT: call void @_CG.Main.0676fa98bb7dbd66(), !dbg !7 +// CHECK:STDOUT: call void @_CG.Main.3e979ea3a37f4bf1(), !dbg !8 // CHECK:STDOUT: ret void, !dbg !9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CG.Main.20ca60fb00b19f60() #0 !dbg !10 { +// CHECK:STDOUT: define linkonce_odr void @_CG.Main.0676fa98bb7dbd66() #0 !dbg !10 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %_.var = alloca ptr, align 8, !dbg !11 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !11 @@ -59,7 +59,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CG.Main.af98d350d462566f() #0 !dbg !13 { +// CHECK:STDOUT: define linkonce_odr void @_CG.Main.3e979ea3a37f4bf1() #0 !dbg !13 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %_.var = alloca ptr, align 8, !dbg !14 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !14 @@ -89,10 +89,10 @@ fn H() { // CHECK:STDOUT: !7 = !DILocation(line: 36, column: 3, scope: !4) // CHECK:STDOUT: !8 = !DILocation(line: 37, column: 3, scope: !4) // CHECK:STDOUT: !9 = !DILocation(line: 35, column: 1, scope: !4) -// CHECK:STDOUT: !10 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.20ca60fb00b19f60", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !10 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.0676fa98bb7dbd66", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !11 = !DILocation(line: 23, column: 3, scope: !10) // CHECK:STDOUT: !12 = !DILocation(line: 22, column: 1, scope: !10) -// CHECK:STDOUT: !13 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.af98d350d462566f", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !13 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.3e979ea3a37f4bf1", scope: null, file: !1, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !14 = !DILocation(line: 23, column: 3, scope: !13) // CHECK:STDOUT: !15 = !DILocation(line: 22, column: 1, scope: !13) // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/function/generic/call_different_impls.carbon b/toolchain/lower/testdata/function/generic/call_different_impls.carbon index bbc339bc0f02..8e0cf23a6dd4 100644 --- a/toolchain/lower/testdata/function/generic/call_different_impls.carbon +++ b/toolchain/lower/testdata/function/generic/call_different_impls.carbon @@ -57,22 +57,22 @@ fn Run() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @main() #0 !dbg !12 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CG.Main.c81631f865470482(), !dbg !16 -// CHECK:STDOUT: call void @_CG.Main.0b241ec84a68877b(), !dbg !17 +// CHECK:STDOUT: call void @_CG.Main.d0cc85b6c89517e3(), !dbg !16 +// CHECK:STDOUT: call void @_CG.Main.e8d4d639bae9ba40(), !dbg !17 // CHECK:STDOUT: ret i32 0, !dbg !18 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: declare i32 @printf(ptr, ...) // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CG.Main.c81631f865470482() #0 !dbg !19 { +// CHECK:STDOUT: define linkonce_odr void @_CG.Main.d0cc85b6c89517e3() #0 !dbg !19 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @"_CF.X.Main:I.Main"(), !dbg !20 // CHECK:STDOUT: ret void, !dbg !21 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CG.Main.0b241ec84a68877b() #0 !dbg !22 { +// CHECK:STDOUT: define linkonce_odr void @_CG.Main.e8d4d639bae9ba40() #0 !dbg !22 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @"_CF.Y.Main:I.Main"(), !dbg !23 // CHECK:STDOUT: ret void, !dbg !24 @@ -105,10 +105,10 @@ fn Run() { // CHECK:STDOUT: !16 = !DILocation(line: 33, column: 3, scope: !12) // CHECK:STDOUT: !17 = !DILocation(line: 34, column: 3, scope: !12) // CHECK:STDOUT: !18 = !DILocation(line: 32, column: 1, scope: !12) -// CHECK:STDOUT: !19 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c81631f865470482", scope: null, file: !1, line: 30, type: !5, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !19 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.d0cc85b6c89517e3", scope: null, file: !1, line: 30, type: !5, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !20 = !DILocation(line: 30, column: 22, scope: !19) // CHECK:STDOUT: !21 = !DILocation(line: 30, column: 1, scope: !19) -// CHECK:STDOUT: !22 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.0b241ec84a68877b", scope: null, file: !1, line: 30, type: !5, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !22 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.e8d4d639bae9ba40", scope: null, file: !1, line: 30, type: !5, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !23 = !DILocation(line: 30, column: 22, scope: !22) // CHECK:STDOUT: !24 = !DILocation(line: 30, column: 1, scope: !22) // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/function/generic/call_different_impls_with_const.carbon b/toolchain/lower/testdata/function/generic/call_different_impls_with_const.carbon index 11a5a096c486..ed3547d6d37d 100644 --- a/toolchain/lower/testdata/function/generic/call_different_impls_with_const.carbon +++ b/toolchain/lower/testdata/function/generic/call_different_impls_with_const.carbon @@ -72,15 +72,15 @@ fn Run() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @main() #0 !dbg !22 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CG.Main.5e71264ff2c4fee0(), !dbg !23 -// CHECK:STDOUT: call void @_CG.Main.c172ec5cde2d1e27(), !dbg !24 +// CHECK:STDOUT: call void @_CG.Main.d0cc85b6c89517e3(), !dbg !23 +// CHECK:STDOUT: call void @_CG.Main.e8d4d639bae9ba40(), !dbg !24 // CHECK:STDOUT: ret i32 0, !dbg !25 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: declare i32 @printf(ptr, ...) // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CG.Main.5e71264ff2c4fee0() #0 !dbg !26 { +// CHECK:STDOUT: define linkonce_odr void @_CG.Main.d0cc85b6c89517e3() #0 !dbg !26 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc38_20.1.temp = alloca i1, align 1, !dbg !29 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc38_20.1.temp), !dbg !29 @@ -93,7 +93,7 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CG.Main.c172ec5cde2d1e27() #0 !dbg !31 { +// CHECK:STDOUT: define linkonce_odr void @_CG.Main.e8d4d639bae9ba40() #0 !dbg !31 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc38_20.1.temp = alloca i32, align 4, !dbg !32 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc38_20.1.temp), !dbg !32 @@ -143,12 +143,12 @@ fn Run() { // CHECK:STDOUT: !23 = !DILocation(line: 42, column: 3, scope: !22) // CHECK:STDOUT: !24 = !DILocation(line: 43, column: 3, scope: !22) // CHECK:STDOUT: !25 = !DILocation(line: 41, column: 1, scope: !22) -// CHECK:STDOUT: !26 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.5e71264ff2c4fee0", scope: null, file: !1, line: 37, type: !27, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !26 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.d0cc85b6c89517e3", scope: null, file: !1, line: 37, type: !27, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !27 = !DISubroutineType(types: !28) // CHECK:STDOUT: !28 = !{null} // CHECK:STDOUT: !29 = !DILocation(line: 38, column: 16, scope: !26) // CHECK:STDOUT: !30 = !DILocation(line: 37, column: 1, scope: !26) -// CHECK:STDOUT: !31 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c172ec5cde2d1e27", scope: null, file: !1, line: 37, type: !27, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !31 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.e8d4d639bae9ba40", scope: null, file: !1, line: 37, type: !27, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !32 = !DILocation(line: 38, column: 16, scope: !31) // CHECK:STDOUT: !33 = !DILocation(line: 37, column: 1, scope: !31) // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/function/generic/call_different_specific.carbon b/toolchain/lower/testdata/function/generic/call_different_specific.carbon index b96f762c0ad5..2c2d6c72cda8 100644 --- a/toolchain/lower/testdata/function/generic/call_different_specific.carbon +++ b/toolchain/lower/testdata/function/generic/call_different_specific.carbon @@ -53,8 +53,8 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CM.Main(ptr %ptr_i32, ptr %ptr_f64) #0 !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CF.Main.58016a73bff04416(ptr %ptr_i32), !dbg !11 -// CHECK:STDOUT: call void @_CF.Main.fa1f0912a5bbe922(ptr %ptr_f64), !dbg !12 +// CHECK:STDOUT: call void @_CF.Main.553a1f59d1dd8381(ptr %ptr_i32), !dbg !11 +// CHECK:STDOUT: call void @_CF.Main.2c62211f0854a75a(ptr %ptr_f64), !dbg !12 // CHECK:STDOUT: ret void, !dbg !13 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -71,46 +71,46 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.58016a73bff04416(ptr %x) #0 !dbg !27 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.553a1f59d1dd8381(ptr %x) #0 !dbg !27 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.ee509b43cf4eb3c5(%type.0 zeroinitializer), !dbg !30 -// CHECK:STDOUT: call void @_CB.Main.58016a73bff04416(ptr %x), !dbg !31 +// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.71d6c598da8ca542(%type.0 zeroinitializer), !dbg !30 +// CHECK:STDOUT: call void @_CB.Main.553a1f59d1dd8381(ptr %x), !dbg !31 // CHECK:STDOUT: ret void, !dbg !32 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.fa1f0912a5bbe922(ptr %x) #0 !dbg !33 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.2c62211f0854a75a(ptr %x) #0 !dbg !33 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.ee509b43cf4eb3c5(%type.0 zeroinitializer), !dbg !36 -// CHECK:STDOUT: call void @_CB.Main.fa1f0912a5bbe922(ptr %x), !dbg !37 +// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.71d6c598da8ca542(%type.0 zeroinitializer), !dbg !36 +// CHECK:STDOUT: call void @_CB.Main.2c62211f0854a75a(ptr %x), !dbg !37 // CHECK:STDOUT: ret void, !dbg !38 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.0 @_CA.Main.ee509b43cf4eb3c5(%type.0 %x) #0 !dbg !39 { +// CHECK:STDOUT: define linkonce_odr %type.0 @_CA.Main.71d6c598da8ca542(%type.0 %x) #0 !dbg !39 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret %type.0 %x, !dbg !44 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CB.Main.58016a73bff04416(ptr %x) #0 !dbg !45 { +// CHECK:STDOUT: define linkonce_odr void @_CB.Main.553a1f59d1dd8381(ptr %x) #0 !dbg !45 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc34_7.3.temp = alloca i32, align 4, !dbg !48 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc34_7.3.temp), !dbg !48 // CHECK:STDOUT: %.loc34_5.2 = load i32, ptr %x, align 4, !dbg !49 -// CHECK:STDOUT: %D.call = call i32 @_CD.Main.5bd8d5767580997a(i32 %.loc34_5.2), !dbg !48 +// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %.loc34_5.2), !dbg !48 // CHECK:STDOUT: store i32 %D.call, ptr %.loc34_7.3.temp, align 4, !dbg !48 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %.loc34_7.3.temp), !dbg !48 // CHECK:STDOUT: ret void, !dbg !50 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CB.Main.fa1f0912a5bbe922(ptr %x) #0 !dbg !51 { +// CHECK:STDOUT: define linkonce_odr void @_CB.Main.2c62211f0854a75a(ptr %x) #0 !dbg !51 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc34_7.3.temp = alloca double, align 8, !dbg !54 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc34_7.3.temp), !dbg !54 // CHECK:STDOUT: %.loc34_5.2 = load double, ptr %x, align 8, !dbg !55 -// CHECK:STDOUT: %D.call = call double @_CD.Main.c27b765f2159c9a0(double %.loc34_5.2), !dbg !54 +// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %.loc34_5.2), !dbg !54 // CHECK:STDOUT: store double %D.call, ptr %.loc34_7.3.temp, align 8, !dbg !54 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %.loc34_7.3.temp), !dbg !54 // CHECK:STDOUT: ret void, !dbg !56 @@ -120,19 +120,19 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.5bd8d5767580997a(i32 %x) #0 !dbg !57 { +// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !57 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !62 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c27b765f2159c9a0(double %x) #0 !dbg !63 { +// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x) #0 !dbg !63 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret double %x, !dbg !66 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @_CA.Main.ee509b43cf4eb3c5, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CA.Main.71d6c598da8ca542, { 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -168,43 +168,43 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) { // CHECK:STDOUT: !24 = !{!25} // CHECK:STDOUT: !25 = !DILocalVariable(arg: 1, scope: !21, type: !7) // CHECK:STDOUT: !26 = !DILocation(line: 44, column: 3, scope: !21) -// CHECK:STDOUT: !27 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.58016a73bff04416", scope: null, file: !1, line: 37, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !28) +// CHECK:STDOUT: !27 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.553a1f59d1dd8381", scope: null, file: !1, line: 37, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !28) // CHECK:STDOUT: !28 = !{!29} // CHECK:STDOUT: !29 = !DILocalVariable(arg: 1, scope: !27, type: !7) // CHECK:STDOUT: !30 = !DILocation(line: 38, column: 3, scope: !27) // CHECK:STDOUT: !31 = !DILocation(line: 39, column: 3, scope: !27) // CHECK:STDOUT: !32 = !DILocation(line: 37, column: 1, scope: !27) -// CHECK:STDOUT: !33 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.fa1f0912a5bbe922", scope: null, file: !1, line: 37, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !34) +// CHECK:STDOUT: !33 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.2c62211f0854a75a", scope: null, file: !1, line: 37, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !34) // CHECK:STDOUT: !34 = !{!35} // CHECK:STDOUT: !35 = !DILocalVariable(arg: 1, scope: !33, type: !7) // CHECK:STDOUT: !36 = !DILocation(line: 38, column: 3, scope: !33) // CHECK:STDOUT: !37 = !DILocation(line: 39, column: 3, scope: !33) // CHECK:STDOUT: !38 = !DILocation(line: 37, column: 1, scope: !33) -// CHECK:STDOUT: !39 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.ee509b43cf4eb3c5", scope: null, file: !1, line: 25, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) +// CHECK:STDOUT: !39 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.71d6c598da8ca542", scope: null, file: !1, line: 25, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) // CHECK:STDOUT: !40 = !DISubroutineType(types: !41) // CHECK:STDOUT: !41 = !{!7, !7} // CHECK:STDOUT: !42 = !{!43} // CHECK:STDOUT: !43 = !DILocalVariable(arg: 1, scope: !39, type: !7) // CHECK:STDOUT: !44 = !DILocation(line: 26, column: 3, scope: !39) -// CHECK:STDOUT: !45 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.58016a73bff04416", scope: null, file: !1, line: 33, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !46) +// CHECK:STDOUT: !45 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.553a1f59d1dd8381", scope: null, file: !1, line: 33, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !46) // CHECK:STDOUT: !46 = !{!47} // CHECK:STDOUT: !47 = !DILocalVariable(arg: 1, scope: !45, type: !7) // CHECK:STDOUT: !48 = !DILocation(line: 34, column: 3, scope: !45) // CHECK:STDOUT: !49 = !DILocation(line: 34, column: 5, scope: !45) // CHECK:STDOUT: !50 = !DILocation(line: 33, column: 1, scope: !45) -// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.fa1f0912a5bbe922", scope: null, file: !1, line: 33, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !52) +// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.2c62211f0854a75a", scope: null, file: !1, line: 33, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !52) // CHECK:STDOUT: !52 = !{!53} // CHECK:STDOUT: !53 = !DILocalVariable(arg: 1, scope: !51, type: !7) // CHECK:STDOUT: !54 = !DILocation(line: 34, column: 3, scope: !51) // CHECK:STDOUT: !55 = !DILocation(line: 34, column: 5, scope: !51) // CHECK:STDOUT: !56 = !DILocation(line: 33, column: 1, scope: !51) -// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.5bd8d5767580997a", scope: null, file: !1, line: 29, type: !58, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !60) +// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 29, type: !58, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !60) // CHECK:STDOUT: !58 = !DISubroutineType(types: !59) // CHECK:STDOUT: !59 = !{!17, !17} // CHECK:STDOUT: !60 = !{!61} // CHECK:STDOUT: !61 = !DILocalVariable(arg: 1, scope: !57, type: !17) // CHECK:STDOUT: !62 = !DILocation(line: 30, column: 3, scope: !57) -// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c27b765f2159c9a0", scope: null, file: !1, line: 29, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !64) +// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 29, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !64) // CHECK:STDOUT: !64 = !{!65} // CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !63, type: !7) // CHECK:STDOUT: !66 = !DILocation(line: 30, column: 3, scope: !63) diff --git a/toolchain/lower/testdata/function/generic/call_impl_function.carbon b/toolchain/lower/testdata/function/generic/call_impl_function.carbon index 6e0be51af2be..7aeae74466f5 100644 --- a/toolchain/lower/testdata/function/generic/call_impl_function.carbon +++ b/toolchain/lower/testdata/function/generic/call_impl_function.carbon @@ -57,12 +57,12 @@ fn G() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CG.Main() #0 !dbg !12 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %CallGenericMethod.call = call i32 @_CCallGenericMethod.Main.a8a4675a2f98891e(i32 10), !dbg !15 +// CHECK:STDOUT: %CallGenericMethod.call = call i32 @_CCallGenericMethod.Main.61896b64459d8f86(i32 10), !dbg !15 // CHECK:STDOUT: ret void, !dbg !16 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CCallGenericMethod.Main.a8a4675a2f98891e(i32 %x) #0 !dbg !17 { +// CHECK:STDOUT: define linkonce_odr i32 @_CCallGenericMethod.Main.61896b64459d8f86(i32 %x) #0 !dbg !17 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %SomeInterface.WithSelf.F.call = call i32 @"_CF.ImplsSomeInterface.Main:SomeInterface.84588f41d61dafba.Main"(i32 %x), !dbg !20 // CHECK:STDOUT: ret i32 %SomeInterface.WithSelf.F.call, !dbg !21 @@ -90,7 +90,7 @@ fn G() { // CHECK:STDOUT: !14 = !{null} // CHECK:STDOUT: !15 = !DILocation(line: 40, column: 3, scope: !12) // CHECK:STDOUT: !16 = !DILocation(line: 39, column: 1, scope: !12) -// CHECK:STDOUT: !17 = distinct !DISubprogram(name: "CallGenericMethod", linkageName: "_CCallGenericMethod.Main.a8a4675a2f98891e", scope: null, file: !1, line: 35, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !18) +// CHECK:STDOUT: !17 = distinct !DISubprogram(name: "CallGenericMethod", linkageName: "_CCallGenericMethod.Main.61896b64459d8f86", scope: null, file: !1, line: 35, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !18) // CHECK:STDOUT: !18 = !{!19} // CHECK:STDOUT: !19 = !DILocalVariable(arg: 1, scope: !17, type: !7) // CHECK:STDOUT: !20 = !DILocation(line: 36, column: 10, scope: !17) diff --git a/toolchain/lower/testdata/function/generic/call_method.carbon b/toolchain/lower/testdata/function/generic/call_method.carbon index 217f1983467a..b361f39e448a 100644 --- a/toolchain/lower/testdata/function/generic/call_method.carbon +++ b/toolchain/lower/testdata/function/generic/call_method.carbon @@ -38,7 +38,7 @@ fn CallF() -> i32 { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !9 // CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !9 // CHECK:STDOUT: %.loc22_14 = load i32, ptr %n.var, align 4, !dbg !10 -// CHECK:STDOUT: %C.F.call = call i32 @_CF.C.Main.5bd8d5767580997a(ptr %c.var, i32 %.loc22_14), !dbg !11 +// CHECK:STDOUT: %C.F.call = call i32 @_CF.C.Main.4d6ceefeb7f772f4(ptr %c.var, i32 %.loc22_14), !dbg !11 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %n.var), !dbg !9 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %c.var), !dbg !8 // CHECK:STDOUT: ret i32 %C.F.call, !dbg !12 @@ -63,7 +63,7 @@ fn CallF() -> i32 { // CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CF.C.Main.5bd8d5767580997a(ptr %self, i32 %x) #0 !dbg !26 { +// CHECK:STDOUT: define linkonce_odr i32 @_CF.C.Main.4d6ceefeb7f772f4(ptr %self, i32 %x) #0 !dbg !26 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !32 // CHECK:STDOUT: } @@ -103,7 +103,7 @@ fn CallF() -> i32 { // CHECK:STDOUT: !23 = !{!24} // CHECK:STDOUT: !24 = !DILocalVariable(arg: 1, scope: !19, type: !22) // CHECK:STDOUT: !25 = !DILocation(line: 20, column: 3, scope: !19) -// CHECK:STDOUT: !26 = distinct !DISubprogram(name: "F", linkageName: "_CF.C.Main.5bd8d5767580997a", scope: null, file: !1, line: 14, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !29) +// CHECK:STDOUT: !26 = distinct !DISubprogram(name: "F", linkageName: "_CF.C.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 14, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !29) // CHECK:STDOUT: !27 = !DISubroutineType(types: !28) // CHECK:STDOUT: !28 = !{!7, !22, !7} // CHECK:STDOUT: !29 = !{!30, !31} diff --git a/toolchain/lower/testdata/function/generic/call_recursive_basic.carbon b/toolchain/lower/testdata/function/generic/call_recursive_basic.carbon index 6b6228a27739..d55039532f38 100644 --- a/toolchain/lower/testdata/function/generic/call_recursive_basic.carbon +++ b/toolchain/lower/testdata/function/generic/call_recursive_basic.carbon @@ -71,17 +71,17 @@ fn M() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !17 // CHECK:STDOUT: store ptr %m.var, ptr %ptr_f64.var, align 8, !dbg !17 // CHECK:STDOUT: %.loc34_5 = load i32, ptr %n.var, align 4, !dbg !20 -// CHECK:STDOUT: %F.call.loc34 = call i32 @_CF.Main.5bd8d5767580997a(i32 %.loc34_5, i32 0), !dbg !21 +// CHECK:STDOUT: %F.call.loc34 = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %.loc34_5, i32 0), !dbg !21 // CHECK:STDOUT: %.loc35_5 = load double, ptr %m.var, align 8, !dbg !22 -// CHECK:STDOUT: %F.call.loc35 = call double @_CF.Main.c27b765f2159c9a0(double %.loc35_5, i32 0), !dbg !23 +// CHECK:STDOUT: %F.call.loc35 = call double @_CF.Main.c5e4ba542a56b71f(double %.loc35_5, i32 0), !dbg !23 // CHECK:STDOUT: %.loc36_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !24 -// CHECK:STDOUT: %F.call.loc36 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc36_5, i32 0), !dbg !25 +// CHECK:STDOUT: %F.call.loc36 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc36_5, i32 0), !dbg !25 // CHECK:STDOUT: %.loc37_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !26 -// CHECK:STDOUT: %F.call.loc37 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc37_5, i32 0), !dbg !27 +// CHECK:STDOUT: %F.call.loc37 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc37_5, i32 0), !dbg !27 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !18 // CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.loc15_43, i64 0, i1 false), !dbg !18 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc40_9.3.temp), !dbg !19 -// CHECK:STDOUT: call void @_CF.Main.4d597ec621e4ba00(ptr %.loc40_9.3.temp, ptr %c.var, i32 0), !dbg !19 +// CHECK:STDOUT: call void @_CF.Main.42513763e01cba2c(ptr %.loc40_9.3.temp, ptr %c.var, i32 0), !dbg !19 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %.loc40_9.3.temp), !dbg !19 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %c.var), !dbg !18 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %m.var), !dbg !15 @@ -114,7 +114,7 @@ fn M() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !46 { +// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !46 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !52 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !53 @@ -124,12 +124,12 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !55 -// CHECK:STDOUT: %F.call = call i32 @_CF.Main.5bd8d5767580997a(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !56 +// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !56 // CHECK:STDOUT: ret i32 %F.call, !dbg !57 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !58 { +// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !58 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !64 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !65 @@ -139,12 +139,12 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !67 -// CHECK:STDOUT: %F.call = call double @_CF.Main.c27b765f2159c9a0(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !68 +// CHECK:STDOUT: %F.call = call double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !68 // CHECK:STDOUT: ret double %F.call, !dbg !69 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !70 { +// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !70 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !74 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !75 @@ -154,12 +154,12 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !77 -// CHECK:STDOUT: %F.call = call ptr @_CF.Main.2621742a01881e29(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !78 +// CHECK:STDOUT: %F.call = call ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !78 // CHECK:STDOUT: ret ptr %F.call, !dbg !79 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.4d597ec621e4ba00(ptr sret({}) %return, ptr %x, i32 %count) #0 !dbg !80 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.42513763e01cba2c(ptr sret({}) %return, ptr %x, i32 %count) #0 !dbg !80 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !84 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !85 @@ -170,7 +170,7 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !88 -// CHECK:STDOUT: call void @_CF.Main.4d597ec621e4ba00(ptr %return, ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !89 +// CHECK:STDOUT: call void @_CF.Main.42513763e01cba2c(ptr %return, ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !89 // CHECK:STDOUT: ret void, !dbg !90 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -178,7 +178,7 @@ fn M() { // CHECK:STDOUT: uselistorder ptr @"_COp.807eb4f2d3ed7e54:core.Destroy.Core", { 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.memcpy.p0.p0.i64, { 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 5, 4, 3, 2, 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CF.Main.2621742a01881e29, { 1, 2, 0 } +// CHECK:STDOUT: uselistorder ptr @_CF.Main.a76b78461416b4a8, { 1, 2, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } @@ -232,7 +232,7 @@ fn M() { // CHECK:STDOUT: !43 = !{!44} // CHECK:STDOUT: !44 = !DILocalVariable(arg: 1, scope: !39, type: !42) // CHECK:STDOUT: !45 = !DILocation(line: 29, column: 3, scope: !39) -// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.5bd8d5767580997a", scope: null, file: !1, line: 21, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) +// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 21, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) // CHECK:STDOUT: !47 = !DISubroutineType(types: !48) // CHECK:STDOUT: !48 = !{!42, !42, !42} // CHECK:STDOUT: !49 = !{!50, !51} @@ -244,7 +244,7 @@ fn M() { // CHECK:STDOUT: !55 = !DILocation(line: 25, column: 15, scope: !46) // CHECK:STDOUT: !56 = !DILocation(line: 25, column: 10, scope: !46) // CHECK:STDOUT: !57 = !DILocation(line: 25, column: 3, scope: !46) -// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c27b765f2159c9a0", scope: null, file: !1, line: 21, type: !59, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !61) +// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 21, type: !59, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !61) // CHECK:STDOUT: !59 = !DISubroutineType(types: !60) // CHECK:STDOUT: !60 = !{!7, !7, !42} // CHECK:STDOUT: !61 = !{!62, !63} @@ -256,7 +256,7 @@ fn M() { // CHECK:STDOUT: !67 = !DILocation(line: 25, column: 15, scope: !58) // CHECK:STDOUT: !68 = !DILocation(line: 25, column: 10, scope: !58) // CHECK:STDOUT: !69 = !DILocation(line: 25, column: 3, scope: !58) -// CHECK:STDOUT: !70 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.2621742a01881e29", scope: null, file: !1, line: 21, type: !59, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !71) +// CHECK:STDOUT: !70 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !1, line: 21, type: !59, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !71) // CHECK:STDOUT: !71 = !{!72, !73} // CHECK:STDOUT: !72 = !DILocalVariable(arg: 1, scope: !70, type: !7) // CHECK:STDOUT: !73 = !DILocalVariable(arg: 2, scope: !70, type: !42) @@ -266,7 +266,7 @@ fn M() { // CHECK:STDOUT: !77 = !DILocation(line: 25, column: 15, scope: !70) // CHECK:STDOUT: !78 = !DILocation(line: 25, column: 10, scope: !70) // CHECK:STDOUT: !79 = !DILocation(line: 25, column: 3, scope: !70) -// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d597ec621e4ba00", scope: null, file: !1, line: 21, type: !59, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !81) +// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.42513763e01cba2c", scope: null, file: !1, line: 21, type: !59, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !81) // CHECK:STDOUT: !81 = !{!82, !83} // CHECK:STDOUT: !82 = !DILocalVariable(arg: 1, scope: !80, type: !7) // CHECK:STDOUT: !83 = !DILocalVariable(arg: 2, scope: !80, type: !42) diff --git a/toolchain/lower/testdata/function/generic/call_recursive_diamond.carbon b/toolchain/lower/testdata/function/generic/call_recursive_diamond.carbon index c77ecfe2e9e1..a7212d3bd581 100644 --- a/toolchain/lower/testdata/function/generic/call_recursive_diamond.carbon +++ b/toolchain/lower/testdata/function/generic/call_recursive_diamond.carbon @@ -79,13 +79,13 @@ fn M() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !10 // CHECK:STDOUT: store ptr %m.var, ptr %ptr_f64.var, align 8, !dbg !10 // CHECK:STDOUT: %.loc54_5 = load i32, ptr %n.var, align 4, !dbg !11 -// CHECK:STDOUT: %A.call.loc54 = call i32 @_CA.Main.5bd8d5767580997a(i32 %.loc54_5, i32 0), !dbg !12 +// CHECK:STDOUT: %A.call.loc54 = call i32 @_CA.Main.4d6ceefeb7f772f4(i32 %.loc54_5, i32 0), !dbg !12 // CHECK:STDOUT: %.loc55_5 = load double, ptr %m.var, align 8, !dbg !13 -// CHECK:STDOUT: %A.call.loc55 = call double @_CA.Main.c27b765f2159c9a0(double %.loc55_5, i32 0), !dbg !14 +// CHECK:STDOUT: %A.call.loc55 = call double @_CA.Main.c5e4ba542a56b71f(double %.loc55_5, i32 0), !dbg !14 // CHECK:STDOUT: %.loc56_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !15 -// CHECK:STDOUT: %A.call.loc56 = call ptr @_CA.Main.2621742a01881e29(ptr %.loc56_5, i32 0), !dbg !16 +// CHECK:STDOUT: %A.call.loc56 = call ptr @_CA.Main.a76b78461416b4a8(ptr %.loc56_5, i32 0), !dbg !16 // CHECK:STDOUT: %.loc57_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !17 -// CHECK:STDOUT: %A.call.loc57 = call ptr @_CA.Main.2621742a01881e29(ptr %.loc57_5, i32 0), !dbg !18 +// CHECK:STDOUT: %A.call.loc57 = call ptr @_CA.Main.a76b78461416b4a8(ptr %.loc57_5, i32 0), !dbg !18 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %m.var), !dbg !8 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %n.var), !dbg !7 // CHECK:STDOUT: ret void, !dbg !19 @@ -107,7 +107,7 @@ fn M() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !34 { +// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !34 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !40 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc23, label %if.else.loc23, !dbg !41 @@ -121,16 +121,16 @@ fn M() { // CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc26, label %if.else.loc26, !dbg !44 // CHECK:STDOUT: // CHECK:STDOUT: if.then.loc26: ; preds = %if.else.loc23 -// CHECK:STDOUT: %B.call = call i32 @_CB.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !45 +// CHECK:STDOUT: %B.call = call i32 @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !45 // CHECK:STDOUT: ret i32 %B.call, !dbg !46 // CHECK:STDOUT: // CHECK:STDOUT: if.else.loc26: ; preds = %if.else.loc23 -// CHECK:STDOUT: %C.call = call i32 @_CC.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !47 +// CHECK:STDOUT: %C.call = call i32 @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !47 // CHECK:STDOUT: ret i32 %C.call, !dbg !48 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CA.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !49 { +// CHECK:STDOUT: define linkonce_odr double @_CA.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !49 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !55 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc23, label %if.else.loc23, !dbg !56 @@ -144,16 +144,16 @@ fn M() { // CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc26, label %if.else.loc26, !dbg !59 // CHECK:STDOUT: // CHECK:STDOUT: if.then.loc26: ; preds = %if.else.loc23 -// CHECK:STDOUT: %B.call = call double @_CB.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !60 +// CHECK:STDOUT: %B.call = call double @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !60 // CHECK:STDOUT: ret double %B.call, !dbg !61 // CHECK:STDOUT: // CHECK:STDOUT: if.else.loc26: ; preds = %if.else.loc23 -// CHECK:STDOUT: %C.call = call double @_CC.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !62 +// CHECK:STDOUT: %C.call = call double @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !62 // CHECK:STDOUT: ret double %C.call, !dbg !63 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CA.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !64 { +// CHECK:STDOUT: define linkonce_odr ptr @_CA.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !64 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !68 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc23, label %if.else.loc23, !dbg !69 @@ -167,95 +167,95 @@ fn M() { // CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc26, label %if.else.loc26, !dbg !72 // CHECK:STDOUT: // CHECK:STDOUT: if.then.loc26: ; preds = %if.else.loc23 -// CHECK:STDOUT: %B.call = call ptr @_CB.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !73 +// CHECK:STDOUT: %B.call = call ptr @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !73 // CHECK:STDOUT: ret ptr %B.call, !dbg !74 // CHECK:STDOUT: // CHECK:STDOUT: if.else.loc26: ; preds = %if.else.loc23 -// CHECK:STDOUT: %C.call = call ptr @_CC.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !75 +// CHECK:STDOUT: %C.call = call ptr @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !75 // CHECK:STDOUT: ret ptr %C.call, !dbg !76 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CB.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !77 { +// CHECK:STDOUT: define linkonce_odr i32 @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !77 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !81 -// CHECK:STDOUT: %D.call = call i32 @_CD.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !82 +// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !82 // CHECK:STDOUT: ret i32 %D.call, !dbg !83 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CC.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !84 { +// CHECK:STDOUT: define linkonce_odr i32 @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !84 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !88 -// CHECK:STDOUT: %D.call = call i32 @_CD.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !89 +// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !89 // CHECK:STDOUT: ret i32 %D.call, !dbg !90 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CB.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !91 { +// CHECK:STDOUT: define linkonce_odr double @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !91 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !95 -// CHECK:STDOUT: %D.call = call double @_CD.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !96 +// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !96 // CHECK:STDOUT: ret double %D.call, !dbg !97 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CC.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !98 { +// CHECK:STDOUT: define linkonce_odr double @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !98 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !102 -// CHECK:STDOUT: %D.call = call double @_CD.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !103 +// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !103 // CHECK:STDOUT: ret double %D.call, !dbg !104 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CB.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !105 { +// CHECK:STDOUT: define linkonce_odr ptr @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !105 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !109 -// CHECK:STDOUT: %D.call = call ptr @_CD.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !110 +// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !110 // CHECK:STDOUT: ret ptr %D.call, !dbg !111 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CC.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !112 { +// CHECK:STDOUT: define linkonce_odr ptr @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !112 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !116 -// CHECK:STDOUT: %D.call = call ptr @_CD.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !117 +// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !117 // CHECK:STDOUT: ret ptr %D.call, !dbg !118 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: declare i32 @printf(ptr, ...) // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !119 { +// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !119 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !123 -// CHECK:STDOUT: %A.call = call i32 @_CA.Main.5bd8d5767580997a(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !124 +// CHECK:STDOUT: %A.call = call i32 @_CA.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !124 // CHECK:STDOUT: ret i32 %A.call, !dbg !125 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !126 { +// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !126 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !130 -// CHECK:STDOUT: %A.call = call double @_CA.Main.c27b765f2159c9a0(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !131 +// CHECK:STDOUT: %A.call = call double @_CA.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !131 // CHECK:STDOUT: ret double %A.call, !dbg !132 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CD.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !133 { +// CHECK:STDOUT: define linkonce_odr ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !133 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !137 -// CHECK:STDOUT: %A.call = call ptr @_CA.Main.2621742a01881e29(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !138 +// CHECK:STDOUT: %A.call = call ptr @_CA.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !138 // CHECK:STDOUT: ret ptr %A.call, !dbg !139 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 3, 2, 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CA.Main.2621742a01881e29, { 1, 2, 0 } +// CHECK:STDOUT: uselistorder ptr @_CA.Main.a76b78461416b4a8, { 1, 2, 0 } // CHECK:STDOUT: uselistorder ptr @printf, { 5, 4, 3, 2, 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CD.Main.5bd8d5767580997a, { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CD.Main.c27b765f2159c9a0, { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CD.Main.2621742a01881e29, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CD.Main.4d6ceefeb7f772f4, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CD.Main.c5e4ba542a56b71f, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CD.Main.a76b78461416b4a8, { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } @@ -297,7 +297,7 @@ fn M() { // CHECK:STDOUT: !31 = !{!32} // CHECK:STDOUT: !32 = !DILocalVariable(arg: 1, scope: !27, type: !30) // CHECK:STDOUT: !33 = !DILocation(line: 49, column: 3, scope: !27) -// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.5bd8d5767580997a", scope: null, file: !1, line: 22, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !37) +// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 22, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !37) // CHECK:STDOUT: !35 = !DISubroutineType(types: !36) // CHECK:STDOUT: !36 = !{!30, !30, !30} // CHECK:STDOUT: !37 = !{!38, !39} @@ -312,7 +312,7 @@ fn M() { // CHECK:STDOUT: !46 = !DILocation(line: 27, column: 5, scope: !34) // CHECK:STDOUT: !47 = !DILocation(line: 29, column: 12, scope: !34) // CHECK:STDOUT: !48 = !DILocation(line: 29, column: 5, scope: !34) -// CHECK:STDOUT: !49 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c27b765f2159c9a0", scope: null, file: !1, line: 22, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !52) +// CHECK:STDOUT: !49 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 22, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !52) // CHECK:STDOUT: !50 = !DISubroutineType(types: !51) // CHECK:STDOUT: !51 = !{!23, !23, !30} // CHECK:STDOUT: !52 = !{!53, !54} @@ -327,7 +327,7 @@ fn M() { // CHECK:STDOUT: !61 = !DILocation(line: 27, column: 5, scope: !49) // CHECK:STDOUT: !62 = !DILocation(line: 29, column: 12, scope: !49) // CHECK:STDOUT: !63 = !DILocation(line: 29, column: 5, scope: !49) -// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.2621742a01881e29", scope: null, file: !1, line: 22, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !65) +// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.a76b78461416b4a8", scope: null, file: !1, line: 22, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !65) // CHECK:STDOUT: !65 = !{!66, !67} // CHECK:STDOUT: !66 = !DILocalVariable(arg: 1, scope: !64, type: !23) // CHECK:STDOUT: !67 = !DILocalVariable(arg: 2, scope: !64, type: !30) @@ -340,63 +340,63 @@ fn M() { // CHECK:STDOUT: !74 = !DILocation(line: 27, column: 5, scope: !64) // CHECK:STDOUT: !75 = !DILocation(line: 29, column: 12, scope: !64) // CHECK:STDOUT: !76 = !DILocation(line: 29, column: 5, scope: !64) -// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.5bd8d5767580997a", scope: null, file: !1, line: 34, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !78) +// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 34, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !78) // CHECK:STDOUT: !78 = !{!79, !80} // CHECK:STDOUT: !79 = !DILocalVariable(arg: 1, scope: !77, type: !30) // CHECK:STDOUT: !80 = !DILocalVariable(arg: 2, scope: !77, type: !30) // CHECK:STDOUT: !81 = !DILocation(line: 35, column: 3, scope: !77) // CHECK:STDOUT: !82 = !DILocation(line: 36, column: 10, scope: !77) // CHECK:STDOUT: !83 = !DILocation(line: 36, column: 3, scope: !77) -// CHECK:STDOUT: !84 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.5bd8d5767580997a", scope: null, file: !1, line: 39, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !85) +// CHECK:STDOUT: !84 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 39, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !85) // CHECK:STDOUT: !85 = !{!86, !87} // CHECK:STDOUT: !86 = !DILocalVariable(arg: 1, scope: !84, type: !30) // CHECK:STDOUT: !87 = !DILocalVariable(arg: 2, scope: !84, type: !30) // CHECK:STDOUT: !88 = !DILocation(line: 40, column: 3, scope: !84) // CHECK:STDOUT: !89 = !DILocation(line: 41, column: 10, scope: !84) // CHECK:STDOUT: !90 = !DILocation(line: 41, column: 3, scope: !84) -// CHECK:STDOUT: !91 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.c27b765f2159c9a0", scope: null, file: !1, line: 34, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !92) +// CHECK:STDOUT: !91 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 34, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !92) // CHECK:STDOUT: !92 = !{!93, !94} // CHECK:STDOUT: !93 = !DILocalVariable(arg: 1, scope: !91, type: !23) // CHECK:STDOUT: !94 = !DILocalVariable(arg: 2, scope: !91, type: !30) // CHECK:STDOUT: !95 = !DILocation(line: 35, column: 3, scope: !91) // CHECK:STDOUT: !96 = !DILocation(line: 36, column: 10, scope: !91) // CHECK:STDOUT: !97 = !DILocation(line: 36, column: 3, scope: !91) -// CHECK:STDOUT: !98 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.c27b765f2159c9a0", scope: null, file: !1, line: 39, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !99) +// CHECK:STDOUT: !98 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 39, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !99) // CHECK:STDOUT: !99 = !{!100, !101} // CHECK:STDOUT: !100 = !DILocalVariable(arg: 1, scope: !98, type: !23) // CHECK:STDOUT: !101 = !DILocalVariable(arg: 2, scope: !98, type: !30) // CHECK:STDOUT: !102 = !DILocation(line: 40, column: 3, scope: !98) // CHECK:STDOUT: !103 = !DILocation(line: 41, column: 10, scope: !98) // CHECK:STDOUT: !104 = !DILocation(line: 41, column: 3, scope: !98) -// CHECK:STDOUT: !105 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.2621742a01881e29", scope: null, file: !1, line: 34, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !106) +// CHECK:STDOUT: !105 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.a76b78461416b4a8", scope: null, file: !1, line: 34, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !106) // CHECK:STDOUT: !106 = !{!107, !108} // CHECK:STDOUT: !107 = !DILocalVariable(arg: 1, scope: !105, type: !23) // CHECK:STDOUT: !108 = !DILocalVariable(arg: 2, scope: !105, type: !30) // CHECK:STDOUT: !109 = !DILocation(line: 35, column: 3, scope: !105) // CHECK:STDOUT: !110 = !DILocation(line: 36, column: 10, scope: !105) // CHECK:STDOUT: !111 = !DILocation(line: 36, column: 3, scope: !105) -// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.2621742a01881e29", scope: null, file: !1, line: 39, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !113) +// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.a76b78461416b4a8", scope: null, file: !1, line: 39, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !113) // CHECK:STDOUT: !113 = !{!114, !115} // CHECK:STDOUT: !114 = !DILocalVariable(arg: 1, scope: !112, type: !23) // CHECK:STDOUT: !115 = !DILocalVariable(arg: 2, scope: !112, type: !30) // CHECK:STDOUT: !116 = !DILocation(line: 40, column: 3, scope: !112) // CHECK:STDOUT: !117 = !DILocation(line: 41, column: 10, scope: !112) // CHECK:STDOUT: !118 = !DILocation(line: 41, column: 3, scope: !112) -// CHECK:STDOUT: !119 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.5bd8d5767580997a", scope: null, file: !1, line: 44, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !120) +// CHECK:STDOUT: !119 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 44, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !120) // CHECK:STDOUT: !120 = !{!121, !122} // CHECK:STDOUT: !121 = !DILocalVariable(arg: 1, scope: !119, type: !30) // CHECK:STDOUT: !122 = !DILocalVariable(arg: 2, scope: !119, type: !30) // CHECK:STDOUT: !123 = !DILocation(line: 45, column: 15, scope: !119) // CHECK:STDOUT: !124 = !DILocation(line: 45, column: 10, scope: !119) // CHECK:STDOUT: !125 = !DILocation(line: 45, column: 3, scope: !119) -// CHECK:STDOUT: !126 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c27b765f2159c9a0", scope: null, file: !1, line: 44, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !127) +// CHECK:STDOUT: !126 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 44, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !127) // CHECK:STDOUT: !127 = !{!128, !129} // CHECK:STDOUT: !128 = !DILocalVariable(arg: 1, scope: !126, type: !23) // CHECK:STDOUT: !129 = !DILocalVariable(arg: 2, scope: !126, type: !30) // CHECK:STDOUT: !130 = !DILocation(line: 45, column: 15, scope: !126) // CHECK:STDOUT: !131 = !DILocation(line: 45, column: 10, scope: !126) // CHECK:STDOUT: !132 = !DILocation(line: 45, column: 3, scope: !126) -// CHECK:STDOUT: !133 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.2621742a01881e29", scope: null, file: !1, line: 44, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !134) +// CHECK:STDOUT: !133 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.a76b78461416b4a8", scope: null, file: !1, line: 44, type: !50, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !134) // CHECK:STDOUT: !134 = !{!135, !136} // CHECK:STDOUT: !135 = !DILocalVariable(arg: 1, scope: !133, type: !23) // CHECK:STDOUT: !136 = !DILocalVariable(arg: 2, scope: !133, type: !30) diff --git a/toolchain/lower/testdata/function/generic/call_recursive_impl.carbon b/toolchain/lower/testdata/function/generic/call_recursive_impl.carbon index 02de8402ef00..6ff5e13518ee 100644 --- a/toolchain/lower/testdata/function/generic/call_recursive_impl.carbon +++ b/toolchain/lower/testdata/function/generic/call_recursive_impl.carbon @@ -65,15 +65,15 @@ fn Run() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @main() #0 !dbg !12 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call.loc41 = call i32 @_CG.Main.c81631f865470482(i32 0), !dbg !16 -// CHECK:STDOUT: %G.call.loc42 = call i32 @_CG.Main.0b241ec84a68877b(i32 0), !dbg !17 +// CHECK:STDOUT: %G.call.loc41 = call i32 @_CG.Main.d0cc85b6c89517e3(i32 0), !dbg !16 +// CHECK:STDOUT: %G.call.loc42 = call i32 @_CG.Main.e8d4d639bae9ba40(i32 0), !dbg !17 // CHECK:STDOUT: ret i32 0, !dbg !18 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: declare i32 @printf(ptr, ...) // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.c81631f865470482(i32 %count) #0 !dbg !19 { +// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.d0cc85b6c89517e3(i32 %count) #0 !dbg !19 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @"_CF.X.Main:I.Main"(), !dbg !24 // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !25 @@ -84,12 +84,12 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !28 -// CHECK:STDOUT: %G.call = call i32 @_CG.Main.c81631f865470482(i32 %Int.as.AddWith.impl.Op.call), !dbg !29 +// CHECK:STDOUT: %G.call = call i32 @_CG.Main.d0cc85b6c89517e3(i32 %Int.as.AddWith.impl.Op.call), !dbg !29 // CHECK:STDOUT: ret i32 %G.call, !dbg !30 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.0b241ec84a68877b(i32 %count) #0 !dbg !31 { +// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.e8d4d639bae9ba40(i32 %count) #0 !dbg !31 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @"_CF.Y.Main:I.Main"(), !dbg !34 // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !35 @@ -100,7 +100,7 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !38 -// CHECK:STDOUT: %G.call = call i32 @_CG.Main.0b241ec84a68877b(i32 %Int.as.AddWith.impl.Op.call), !dbg !39 +// CHECK:STDOUT: %G.call = call i32 @_CG.Main.e8d4d639bae9ba40(i32 %Int.as.AddWith.impl.Op.call), !dbg !39 // CHECK:STDOUT: ret i32 %G.call, !dbg !40 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -131,7 +131,7 @@ fn Run() { // CHECK:STDOUT: !16 = !DILocation(line: 41, column: 3, scope: !12) // CHECK:STDOUT: !17 = !DILocation(line: 42, column: 3, scope: !12) // CHECK:STDOUT: !18 = !DILocation(line: 40, column: 1, scope: !12) -// CHECK:STDOUT: !19 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c81631f865470482", scope: null, file: !1, line: 31, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !22) +// CHECK:STDOUT: !19 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.d0cc85b6c89517e3", scope: null, file: !1, line: 31, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !22) // CHECK:STDOUT: !20 = !DISubroutineType(types: !21) // CHECK:STDOUT: !21 = !{!15, !15} // CHECK:STDOUT: !22 = !{!23} @@ -143,7 +143,7 @@ fn Run() { // CHECK:STDOUT: !28 = !DILocation(line: 37, column: 15, scope: !19) // CHECK:STDOUT: !29 = !DILocation(line: 37, column: 10, scope: !19) // CHECK:STDOUT: !30 = !DILocation(line: 37, column: 3, scope: !19) -// CHECK:STDOUT: !31 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.0b241ec84a68877b", scope: null, file: !1, line: 31, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !32) +// CHECK:STDOUT: !31 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.e8d4d639bae9ba40", scope: null, file: !1, line: 31, type: !20, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !32) // CHECK:STDOUT: !32 = !{!33} // CHECK:STDOUT: !33 = !DILocalVariable(arg: 1, scope: !31, type: !15) // CHECK:STDOUT: !34 = !DILocation(line: 32, column: 3, scope: !31) diff --git a/toolchain/lower/testdata/function/generic/call_recursive_mutual.carbon b/toolchain/lower/testdata/function/generic/call_recursive_mutual.carbon index 51ff15ca9eda..fa85551e1b92 100644 --- a/toolchain/lower/testdata/function/generic/call_recursive_mutual.carbon +++ b/toolchain/lower/testdata/function/generic/call_recursive_mutual.carbon @@ -61,13 +61,13 @@ fn M() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !10 // CHECK:STDOUT: store ptr %m.var, ptr %ptr_f64.var, align 8, !dbg !10 // CHECK:STDOUT: %.loc38_5 = load i32, ptr %n.var, align 4, !dbg !11 -// CHECK:STDOUT: %F.call.loc38 = call i32 @_CF.Main.5bd8d5767580997a(i32 %.loc38_5, i32 0), !dbg !12 +// CHECK:STDOUT: %F.call.loc38 = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %.loc38_5, i32 0), !dbg !12 // CHECK:STDOUT: %.loc39_5 = load double, ptr %m.var, align 8, !dbg !13 -// CHECK:STDOUT: %F.call.loc39 = call double @_CF.Main.c27b765f2159c9a0(double %.loc39_5, i32 0), !dbg !14 +// CHECK:STDOUT: %F.call.loc39 = call double @_CF.Main.c5e4ba542a56b71f(double %.loc39_5, i32 0), !dbg !14 // CHECK:STDOUT: %.loc40_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !15 -// CHECK:STDOUT: %F.call.loc40 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc40_5, i32 0), !dbg !16 +// CHECK:STDOUT: %F.call.loc40 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc40_5, i32 0), !dbg !16 // CHECK:STDOUT: %.loc41_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !17 -// CHECK:STDOUT: %F.call.loc41 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc41_5, i32 0), !dbg !18 +// CHECK:STDOUT: %F.call.loc41 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc41_5, i32 0), !dbg !18 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %m.var), !dbg !8 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %n.var), !dbg !7 // CHECK:STDOUT: ret void, !dbg !19 @@ -89,7 +89,7 @@ fn M() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !34 { +// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !34 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 3, !dbg !40 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !41 @@ -99,12 +99,12 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !43 -// CHECK:STDOUT: %G.call = call i32 @_CG.Main.5bd8d5767580997a(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !44 +// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !44 // CHECK:STDOUT: ret i32 %G.call, !dbg !45 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !46 { +// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !46 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 3, !dbg !52 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !53 @@ -114,12 +114,12 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !55 -// CHECK:STDOUT: %G.call = call double @_CG.Main.c27b765f2159c9a0(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !56 +// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !56 // CHECK:STDOUT: ret double %G.call, !dbg !57 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !58 { +// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !58 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 3, !dbg !62 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !63 @@ -129,12 +129,12 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !65 -// CHECK:STDOUT: %G.call = call ptr @_CG.Main.2621742a01881e29(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !66 +// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !66 // CHECK:STDOUT: ret ptr %G.call, !dbg !67 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !68 { +// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !68 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !72 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !73 @@ -144,12 +144,12 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !75 -// CHECK:STDOUT: %F.call = call i32 @_CF.Main.5bd8d5767580997a(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !76 +// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !76 // CHECK:STDOUT: ret i32 %F.call, !dbg !77 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !78 { +// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !78 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !82 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !83 @@ -159,12 +159,12 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !85 -// CHECK:STDOUT: %F.call = call double @_CF.Main.c27b765f2159c9a0(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !86 +// CHECK:STDOUT: %F.call = call double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !86 // CHECK:STDOUT: ret double %F.call, !dbg !87 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !88 { +// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !88 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !92 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !93 @@ -174,13 +174,13 @@ fn M() { // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !95 -// CHECK:STDOUT: %F.call = call ptr @_CF.Main.2621742a01881e29(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !96 +// CHECK:STDOUT: %F.call = call ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !96 // CHECK:STDOUT: ret ptr %F.call, !dbg !97 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 3, 2, 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CF.Main.2621742a01881e29, { 1, 2, 0 } +// CHECK:STDOUT: uselistorder ptr @_CF.Main.a76b78461416b4a8, { 1, 2, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } @@ -222,7 +222,7 @@ fn M() { // CHECK:STDOUT: !31 = !{!32} // CHECK:STDOUT: !32 = !DILocalVariable(arg: 1, scope: !27, type: !30) // CHECK:STDOUT: !33 = !DILocation(line: 33, column: 3, scope: !27) -// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.5bd8d5767580997a", scope: null, file: !1, line: 18, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !37) +// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 18, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !37) // CHECK:STDOUT: !35 = !DISubroutineType(types: !36) // CHECK:STDOUT: !36 = !{!30, !30, !30} // CHECK:STDOUT: !37 = !{!38, !39} @@ -234,7 +234,7 @@ fn M() { // CHECK:STDOUT: !43 = !DILocation(line: 22, column: 15, scope: !34) // CHECK:STDOUT: !44 = !DILocation(line: 22, column: 10, scope: !34) // CHECK:STDOUT: !45 = !DILocation(line: 22, column: 3, scope: !34) -// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c27b765f2159c9a0", scope: null, file: !1, line: 18, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) +// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 18, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) // CHECK:STDOUT: !47 = !DISubroutineType(types: !48) // CHECK:STDOUT: !48 = !{!23, !23, !30} // CHECK:STDOUT: !49 = !{!50, !51} @@ -246,7 +246,7 @@ fn M() { // CHECK:STDOUT: !55 = !DILocation(line: 22, column: 15, scope: !46) // CHECK:STDOUT: !56 = !DILocation(line: 22, column: 10, scope: !46) // CHECK:STDOUT: !57 = !DILocation(line: 22, column: 3, scope: !46) -// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.2621742a01881e29", scope: null, file: !1, line: 18, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !59) +// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !1, line: 18, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !59) // CHECK:STDOUT: !59 = !{!60, !61} // CHECK:STDOUT: !60 = !DILocalVariable(arg: 1, scope: !58, type: !23) // CHECK:STDOUT: !61 = !DILocalVariable(arg: 2, scope: !58, type: !30) @@ -256,7 +256,7 @@ fn M() { // CHECK:STDOUT: !65 = !DILocation(line: 22, column: 15, scope: !58) // CHECK:STDOUT: !66 = !DILocation(line: 22, column: 10, scope: !58) // CHECK:STDOUT: !67 = !DILocation(line: 22, column: 3, scope: !58) -// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.5bd8d5767580997a", scope: null, file: !1, line: 25, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !69) +// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 25, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !69) // CHECK:STDOUT: !69 = !{!70, !71} // CHECK:STDOUT: !70 = !DILocalVariable(arg: 1, scope: !68, type: !30) // CHECK:STDOUT: !71 = !DILocalVariable(arg: 2, scope: !68, type: !30) @@ -266,7 +266,7 @@ fn M() { // CHECK:STDOUT: !75 = !DILocation(line: 29, column: 15, scope: !68) // CHECK:STDOUT: !76 = !DILocation(line: 29, column: 10, scope: !68) // CHECK:STDOUT: !77 = !DILocation(line: 29, column: 3, scope: !68) -// CHECK:STDOUT: !78 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c27b765f2159c9a0", scope: null, file: !1, line: 25, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !79) +// CHECK:STDOUT: !78 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 25, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !79) // CHECK:STDOUT: !79 = !{!80, !81} // CHECK:STDOUT: !80 = !DILocalVariable(arg: 1, scope: !78, type: !23) // CHECK:STDOUT: !81 = !DILocalVariable(arg: 2, scope: !78, type: !30) @@ -276,7 +276,7 @@ fn M() { // CHECK:STDOUT: !85 = !DILocation(line: 29, column: 15, scope: !78) // CHECK:STDOUT: !86 = !DILocation(line: 29, column: 10, scope: !78) // CHECK:STDOUT: !87 = !DILocation(line: 29, column: 3, scope: !78) -// CHECK:STDOUT: !88 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.2621742a01881e29", scope: null, file: !1, line: 25, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !89) +// CHECK:STDOUT: !88 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a76b78461416b4a8", scope: null, file: !1, line: 25, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !89) // CHECK:STDOUT: !89 = !{!90, !91} // CHECK:STDOUT: !90 = !DILocalVariable(arg: 1, scope: !88, type: !23) // CHECK:STDOUT: !91 = !DILocalVariable(arg: 2, scope: !88, type: !30) diff --git a/toolchain/lower/testdata/function/generic/call_recursive_sccs_deep.carbon b/toolchain/lower/testdata/function/generic/call_recursive_sccs_deep.carbon index 1466f33635a0..3e0b922abd48 100644 --- a/toolchain/lower/testdata/function/generic/call_recursive_sccs_deep.carbon +++ b/toolchain/lower/testdata/function/generic/call_recursive_sccs_deep.carbon @@ -105,13 +105,13 @@ fn M() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !10 // CHECK:STDOUT: store ptr %m.var, ptr %ptr_f64.var, align 8, !dbg !10 // CHECK:STDOUT: %.loc80_5 = load i32, ptr %n.var, align 4, !dbg !11 -// CHECK:STDOUT: %A.call.loc80 = call i32 @_CA.Main.5bd8d5767580997a(i32 %.loc80_5, i32 0), !dbg !12 +// CHECK:STDOUT: %A.call.loc80 = call i32 @_CA.Main.4d6ceefeb7f772f4(i32 %.loc80_5, i32 0), !dbg !12 // CHECK:STDOUT: %.loc81_5 = load double, ptr %m.var, align 8, !dbg !13 -// CHECK:STDOUT: %A.call.loc81 = call double @_CA.Main.c27b765f2159c9a0(double %.loc81_5, i32 0), !dbg !14 +// CHECK:STDOUT: %A.call.loc81 = call double @_CA.Main.c5e4ba542a56b71f(double %.loc81_5, i32 0), !dbg !14 // CHECK:STDOUT: %.loc82_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !15 -// CHECK:STDOUT: %A.call.loc82 = call ptr @_CA.Main.2621742a01881e29(ptr %.loc82_5, i32 0), !dbg !16 +// CHECK:STDOUT: %A.call.loc82 = call ptr @_CA.Main.a76b78461416b4a8(ptr %.loc82_5, i32 0), !dbg !16 // CHECK:STDOUT: %.loc83_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !17 -// CHECK:STDOUT: %A.call.loc83 = call ptr @_CA.Main.2621742a01881e29(ptr %.loc83_5, i32 0), !dbg !18 +// CHECK:STDOUT: %A.call.loc83 = call ptr @_CA.Main.a76b78461416b4a8(ptr %.loc83_5, i32 0), !dbg !18 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %m.var), !dbg !8 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %n.var), !dbg !7 // CHECK:STDOUT: ret void, !dbg !19 @@ -133,38 +133,38 @@ fn M() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !34 { +// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !34 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CB.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !40 -// CHECK:STDOUT: %D.call = call i32 @_CD.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !41 +// CHECK:STDOUT: call void @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !40 +// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !41 // CHECK:STDOUT: ret i32 %D.call, !dbg !42 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CA.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !43 { +// CHECK:STDOUT: define linkonce_odr double @_CA.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !43 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CB.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !49 -// CHECK:STDOUT: %D.call = call double @_CD.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !50 +// CHECK:STDOUT: call void @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !49 +// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !50 // CHECK:STDOUT: ret double %D.call, !dbg !51 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CA.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !52 { +// CHECK:STDOUT: define linkonce_odr ptr @_CA.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !52 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CB.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !56 -// CHECK:STDOUT: %D.call = call ptr @_CD.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !57 +// CHECK:STDOUT: call void @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !56 +// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !57 // CHECK:STDOUT: ret ptr %D.call, !dbg !58 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CB.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !59 { +// CHECK:STDOUT: define linkonce_odr void @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !59 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CC.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !65 +// CHECK:STDOUT: call void @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !65 // CHECK:STDOUT: ret void, !dbg !66 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !67 { +// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !67 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !71 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc49, label %if.else.loc49, !dbg !72 @@ -178,23 +178,23 @@ fn M() { // CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc52, label %if.else.loc52, !dbg !75 // CHECK:STDOUT: // CHECK:STDOUT: if.then.loc52: ; preds = %if.else.loc49 -// CHECK:STDOUT: %E.call = call i32 @_CE.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !76 +// CHECK:STDOUT: %E.call = call i32 @_CE.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !76 // CHECK:STDOUT: ret i32 %E.call, !dbg !77 // CHECK:STDOUT: // CHECK:STDOUT: if.else.loc52: ; preds = %if.else.loc49 -// CHECK:STDOUT: %F.call = call i32 @_CF.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !78 +// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !78 // CHECK:STDOUT: ret i32 %F.call, !dbg !79 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CB.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !80 { +// CHECK:STDOUT: define linkonce_odr void @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !80 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CC.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !86 +// CHECK:STDOUT: call void @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !86 // CHECK:STDOUT: ret void, !dbg !87 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !88 { +// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !88 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !92 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc49, label %if.else.loc49, !dbg !93 @@ -208,23 +208,23 @@ fn M() { // CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc52, label %if.else.loc52, !dbg !96 // CHECK:STDOUT: // CHECK:STDOUT: if.then.loc52: ; preds = %if.else.loc49 -// CHECK:STDOUT: %E.call = call double @_CE.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !97 +// CHECK:STDOUT: %E.call = call double @_CE.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !97 // CHECK:STDOUT: ret double %E.call, !dbg !98 // CHECK:STDOUT: // CHECK:STDOUT: if.else.loc52: ; preds = %if.else.loc49 -// CHECK:STDOUT: %F.call = call double @_CF.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !99 +// CHECK:STDOUT: %F.call = call double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !99 // CHECK:STDOUT: ret double %F.call, !dbg !100 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CB.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !101 { +// CHECK:STDOUT: define linkonce_odr void @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !101 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CC.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !105 +// CHECK:STDOUT: call void @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !105 // CHECK:STDOUT: ret void, !dbg !106 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CD.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !107 { +// CHECK:STDOUT: define linkonce_odr ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !107 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !111 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc49, label %if.else.loc49, !dbg !112 @@ -238,16 +238,16 @@ fn M() { // CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc52, label %if.else.loc52, !dbg !115 // CHECK:STDOUT: // CHECK:STDOUT: if.then.loc52: ; preds = %if.else.loc49 -// CHECK:STDOUT: %E.call = call ptr @_CE.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !116 +// CHECK:STDOUT: %E.call = call ptr @_CE.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !116 // CHECK:STDOUT: ret ptr %E.call, !dbg !117 // CHECK:STDOUT: // CHECK:STDOUT: if.else.loc52: ; preds = %if.else.loc49 -// CHECK:STDOUT: %F.call = call ptr @_CF.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !118 +// CHECK:STDOUT: %F.call = call ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !118 // CHECK:STDOUT: ret ptr %F.call, !dbg !119 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CC.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !120 { +// CHECK:STDOUT: define linkonce_odr void @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !120 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call = icmp sle i32 %count, 2, !dbg !124 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.LessOrEquivalent.call, label %if.then, label %if.else, !dbg !125 @@ -255,7 +255,7 @@ fn M() { // CHECK:STDOUT: if.then: ; preds = %entry // CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 %count), !dbg !126 // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !127 -// CHECK:STDOUT: call void @_CB.Main.5bd8d5767580997a(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !128 +// CHECK:STDOUT: call void @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !128 // CHECK:STDOUT: br label %if.else, !dbg !129 // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %if.then, %entry @@ -263,21 +263,21 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CE.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !131 { +// CHECK:STDOUT: define linkonce_odr i32 @_CE.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !131 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call i32 @_CG.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !135 +// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !135 // CHECK:STDOUT: ret i32 %G.call, !dbg !136 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !137 { +// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !137 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call i32 @_CG.Main.5bd8d5767580997a(i32 %x, i32 %count), !dbg !141 +// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !141 // CHECK:STDOUT: ret i32 %G.call, !dbg !142 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CC.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !143 { +// CHECK:STDOUT: define linkonce_odr void @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !143 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call = icmp sle i32 %count, 2, !dbg !147 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.LessOrEquivalent.call, label %if.then, label %if.else, !dbg !148 @@ -285,7 +285,7 @@ fn M() { // CHECK:STDOUT: if.then: ; preds = %entry // CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 %count), !dbg !149 // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !150 -// CHECK:STDOUT: call void @_CB.Main.c27b765f2159c9a0(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !151 +// CHECK:STDOUT: call void @_CB.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !151 // CHECK:STDOUT: br label %if.else, !dbg !152 // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %if.then, %entry @@ -293,21 +293,21 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CE.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !154 { +// CHECK:STDOUT: define linkonce_odr double @_CE.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !154 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call double @_CG.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !158 +// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !158 // CHECK:STDOUT: ret double %G.call, !dbg !159 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !160 { +// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !160 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call double @_CG.Main.c27b765f2159c9a0(double %x, i32 %count), !dbg !164 +// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !164 // CHECK:STDOUT: ret double %G.call, !dbg !165 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CC.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !166 { +// CHECK:STDOUT: define linkonce_odr void @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !166 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call = icmp sle i32 %count, 2, !dbg !170 // CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.LessOrEquivalent.call, label %if.then, label %if.else, !dbg !171 @@ -315,7 +315,7 @@ fn M() { // CHECK:STDOUT: if.then: ; preds = %entry // CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 %count), !dbg !172 // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !173 -// CHECK:STDOUT: call void @_CB.Main.2621742a01881e29(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !174 +// CHECK:STDOUT: call void @_CB.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !174 // CHECK:STDOUT: br label %if.else, !dbg !175 // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %if.then, %entry @@ -323,52 +323,52 @@ fn M() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CE.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !177 { +// CHECK:STDOUT: define linkonce_odr ptr @_CE.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !177 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call ptr @_CG.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !181 +// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !181 // CHECK:STDOUT: ret ptr %G.call, !dbg !182 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !183 { +// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !183 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call ptr @_CG.Main.2621742a01881e29(ptr %x, i32 %count), !dbg !187 +// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !187 // CHECK:STDOUT: ret ptr %G.call, !dbg !188 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: declare i32 @printf(ptr, ...) // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.5bd8d5767580997a(i32 %x, i32 %count) #0 !dbg !189 { +// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !189 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !193 -// CHECK:STDOUT: %D.call = call i32 @_CD.Main.5bd8d5767580997a(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !194 +// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !194 // CHECK:STDOUT: ret i32 %D.call, !dbg !195 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c27b765f2159c9a0(double %x, i32 %count) #0 !dbg !196 { +// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !196 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !200 -// CHECK:STDOUT: %D.call = call double @_CD.Main.c27b765f2159c9a0(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !201 +// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !201 // CHECK:STDOUT: ret double %D.call, !dbg !202 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.2621742a01881e29(ptr %x, i32 %count) #0 !dbg !203 { +// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !203 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !207 -// CHECK:STDOUT: %D.call = call ptr @_CD.Main.2621742a01881e29(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !208 +// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !208 // CHECK:STDOUT: ret ptr %D.call, !dbg !209 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 3, 2, 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CA.Main.2621742a01881e29, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CA.Main.a76b78461416b4a8, { 1, 0 } // CHECK:STDOUT: uselistorder ptr @printf, { 2, 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CG.Main.5bd8d5767580997a, { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CG.Main.c27b765f2159c9a0, { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CG.Main.2621742a01881e29, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CG.Main.4d6ceefeb7f772f4, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CG.Main.c5e4ba542a56b71f, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CG.Main.a76b78461416b4a8, { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } @@ -410,7 +410,7 @@ fn M() { // CHECK:STDOUT: !31 = !{!32} // CHECK:STDOUT: !32 = !DILocalVariable(arg: 1, scope: !27, type: !30) // CHECK:STDOUT: !33 = !DILocation(line: 75, column: 3, scope: !27) -// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.5bd8d5767580997a", scope: null, file: !1, line: 32, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !37) +// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 32, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !37) // CHECK:STDOUT: !35 = !DISubroutineType(types: !36) // CHECK:STDOUT: !36 = !{!30, !30, !30} // CHECK:STDOUT: !37 = !{!38, !39} @@ -419,7 +419,7 @@ fn M() { // CHECK:STDOUT: !40 = !DILocation(line: 33, column: 3, scope: !34) // CHECK:STDOUT: !41 = !DILocation(line: 34, column: 10, scope: !34) // CHECK:STDOUT: !42 = !DILocation(line: 34, column: 3, scope: !34) -// CHECK:STDOUT: !43 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c27b765f2159c9a0", scope: null, file: !1, line: 32, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !46) +// CHECK:STDOUT: !43 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 32, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !46) // CHECK:STDOUT: !44 = !DISubroutineType(types: !45) // CHECK:STDOUT: !45 = !{!23, !23, !30} // CHECK:STDOUT: !46 = !{!47, !48} @@ -428,14 +428,14 @@ fn M() { // CHECK:STDOUT: !49 = !DILocation(line: 33, column: 3, scope: !43) // CHECK:STDOUT: !50 = !DILocation(line: 34, column: 10, scope: !43) // CHECK:STDOUT: !51 = !DILocation(line: 34, column: 3, scope: !43) -// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.2621742a01881e29", scope: null, file: !1, line: 32, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !53) +// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.a76b78461416b4a8", scope: null, file: !1, line: 32, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !53) // CHECK:STDOUT: !53 = !{!54, !55} // CHECK:STDOUT: !54 = !DILocalVariable(arg: 1, scope: !52, type: !23) // CHECK:STDOUT: !55 = !DILocalVariable(arg: 2, scope: !52, type: !30) // CHECK:STDOUT: !56 = !DILocation(line: 33, column: 3, scope: !52) // CHECK:STDOUT: !57 = !DILocation(line: 34, column: 10, scope: !52) // CHECK:STDOUT: !58 = !DILocation(line: 34, column: 3, scope: !52) -// CHECK:STDOUT: !59 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.5bd8d5767580997a", scope: null, file: !1, line: 37, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !62) +// CHECK:STDOUT: !59 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 37, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !62) // CHECK:STDOUT: !60 = !DISubroutineType(types: !61) // CHECK:STDOUT: !61 = !{null, !30, !30} // CHECK:STDOUT: !62 = !{!63, !64} @@ -443,7 +443,7 @@ fn M() { // CHECK:STDOUT: !64 = !DILocalVariable(arg: 2, scope: !59, type: !30) // CHECK:STDOUT: !65 = !DILocation(line: 38, column: 3, scope: !59) // CHECK:STDOUT: !66 = !DILocation(line: 37, column: 1, scope: !59) -// CHECK:STDOUT: !67 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.5bd8d5767580997a", scope: null, file: !1, line: 48, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !68) +// CHECK:STDOUT: !67 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 48, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !68) // CHECK:STDOUT: !68 = !{!69, !70} // CHECK:STDOUT: !69 = !DILocalVariable(arg: 1, scope: !67, type: !30) // CHECK:STDOUT: !70 = !DILocalVariable(arg: 2, scope: !67, type: !30) @@ -456,7 +456,7 @@ fn M() { // CHECK:STDOUT: !77 = !DILocation(line: 53, column: 5, scope: !67) // CHECK:STDOUT: !78 = !DILocation(line: 55, column: 12, scope: !67) // CHECK:STDOUT: !79 = !DILocation(line: 55, column: 5, scope: !67) -// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.c27b765f2159c9a0", scope: null, file: !1, line: 37, type: !81, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !83) +// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 37, type: !81, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !83) // CHECK:STDOUT: !81 = !DISubroutineType(types: !82) // CHECK:STDOUT: !82 = !{null, !23, !30} // CHECK:STDOUT: !83 = !{!84, !85} @@ -464,7 +464,7 @@ fn M() { // CHECK:STDOUT: !85 = !DILocalVariable(arg: 2, scope: !80, type: !30) // CHECK:STDOUT: !86 = !DILocation(line: 38, column: 3, scope: !80) // CHECK:STDOUT: !87 = !DILocation(line: 37, column: 1, scope: !80) -// CHECK:STDOUT: !88 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c27b765f2159c9a0", scope: null, file: !1, line: 48, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !89) +// CHECK:STDOUT: !88 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 48, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !89) // CHECK:STDOUT: !89 = !{!90, !91} // CHECK:STDOUT: !90 = !DILocalVariable(arg: 1, scope: !88, type: !23) // CHECK:STDOUT: !91 = !DILocalVariable(arg: 2, scope: !88, type: !30) @@ -477,13 +477,13 @@ fn M() { // CHECK:STDOUT: !98 = !DILocation(line: 53, column: 5, scope: !88) // CHECK:STDOUT: !99 = !DILocation(line: 55, column: 12, scope: !88) // CHECK:STDOUT: !100 = !DILocation(line: 55, column: 5, scope: !88) -// CHECK:STDOUT: !101 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.2621742a01881e29", scope: null, file: !1, line: 37, type: !81, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !102) +// CHECK:STDOUT: !101 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.a76b78461416b4a8", scope: null, file: !1, line: 37, type: !81, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !102) // CHECK:STDOUT: !102 = !{!103, !104} // CHECK:STDOUT: !103 = !DILocalVariable(arg: 1, scope: !101, type: !23) // CHECK:STDOUT: !104 = !DILocalVariable(arg: 2, scope: !101, type: !30) // CHECK:STDOUT: !105 = !DILocation(line: 38, column: 3, scope: !101) // CHECK:STDOUT: !106 = !DILocation(line: 37, column: 1, scope: !101) -// CHECK:STDOUT: !107 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.2621742a01881e29", scope: null, file: !1, line: 48, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !108) +// CHECK:STDOUT: !107 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.a76b78461416b4a8", scope: null, file: !1, line: 48, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !108) // CHECK:STDOUT: !108 = !{!109, !110} // CHECK:STDOUT: !109 = !DILocalVariable(arg: 1, scope: !107, type: !23) // CHECK:STDOUT: !110 = !DILocalVariable(arg: 2, scope: !107, type: !30) @@ -496,7 +496,7 @@ fn M() { // CHECK:STDOUT: !117 = !DILocation(line: 53, column: 5, scope: !107) // CHECK:STDOUT: !118 = !DILocation(line: 55, column: 12, scope: !107) // CHECK:STDOUT: !119 = !DILocation(line: 55, column: 5, scope: !107) -// CHECK:STDOUT: !120 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.5bd8d5767580997a", scope: null, file: !1, line: 41, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !121) +// CHECK:STDOUT: !120 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 41, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !121) // CHECK:STDOUT: !121 = !{!122, !123} // CHECK:STDOUT: !122 = !DILocalVariable(arg: 1, scope: !120, type: !30) // CHECK:STDOUT: !123 = !DILocalVariable(arg: 2, scope: !120, type: !30) @@ -507,19 +507,19 @@ fn M() { // CHECK:STDOUT: !128 = !DILocation(line: 44, column: 5, scope: !120) // CHECK:STDOUT: !129 = !DILocation(line: 42, column: 3, scope: !120) // CHECK:STDOUT: !130 = !DILocation(line: 41, column: 1, scope: !120) -// CHECK:STDOUT: !131 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.5bd8d5767580997a", scope: null, file: !1, line: 61, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !132) +// CHECK:STDOUT: !131 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 61, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !132) // CHECK:STDOUT: !132 = !{!133, !134} // CHECK:STDOUT: !133 = !DILocalVariable(arg: 1, scope: !131, type: !30) // CHECK:STDOUT: !134 = !DILocalVariable(arg: 2, scope: !131, type: !30) // CHECK:STDOUT: !135 = !DILocation(line: 62, column: 10, scope: !131) // CHECK:STDOUT: !136 = !DILocation(line: 62, column: 3, scope: !131) -// CHECK:STDOUT: !137 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.5bd8d5767580997a", scope: null, file: !1, line: 65, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !138) +// CHECK:STDOUT: !137 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 65, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !138) // CHECK:STDOUT: !138 = !{!139, !140} // CHECK:STDOUT: !139 = !DILocalVariable(arg: 1, scope: !137, type: !30) // CHECK:STDOUT: !140 = !DILocalVariable(arg: 2, scope: !137, type: !30) // CHECK:STDOUT: !141 = !DILocation(line: 66, column: 10, scope: !137) // CHECK:STDOUT: !142 = !DILocation(line: 66, column: 3, scope: !137) -// CHECK:STDOUT: !143 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.c27b765f2159c9a0", scope: null, file: !1, line: 41, type: !81, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !144) +// CHECK:STDOUT: !143 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 41, type: !81, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !144) // CHECK:STDOUT: !144 = !{!145, !146} // CHECK:STDOUT: !145 = !DILocalVariable(arg: 1, scope: !143, type: !23) // CHECK:STDOUT: !146 = !DILocalVariable(arg: 2, scope: !143, type: !30) @@ -530,19 +530,19 @@ fn M() { // CHECK:STDOUT: !151 = !DILocation(line: 44, column: 5, scope: !143) // CHECK:STDOUT: !152 = !DILocation(line: 42, column: 3, scope: !143) // CHECK:STDOUT: !153 = !DILocation(line: 41, column: 1, scope: !143) -// CHECK:STDOUT: !154 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.c27b765f2159c9a0", scope: null, file: !1, line: 61, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !155) +// CHECK:STDOUT: !154 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 61, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !155) // CHECK:STDOUT: !155 = !{!156, !157} // CHECK:STDOUT: !156 = !DILocalVariable(arg: 1, scope: !154, type: !23) // CHECK:STDOUT: !157 = !DILocalVariable(arg: 2, scope: !154, type: !30) // CHECK:STDOUT: !158 = !DILocation(line: 62, column: 10, scope: !154) // CHECK:STDOUT: !159 = !DILocation(line: 62, column: 3, scope: !154) -// CHECK:STDOUT: !160 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c27b765f2159c9a0", scope: null, file: !1, line: 65, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !161) +// CHECK:STDOUT: !160 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 65, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !161) // CHECK:STDOUT: !161 = !{!162, !163} // CHECK:STDOUT: !162 = !DILocalVariable(arg: 1, scope: !160, type: !23) // CHECK:STDOUT: !163 = !DILocalVariable(arg: 2, scope: !160, type: !30) // CHECK:STDOUT: !164 = !DILocation(line: 66, column: 10, scope: !160) // CHECK:STDOUT: !165 = !DILocation(line: 66, column: 3, scope: !160) -// CHECK:STDOUT: !166 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.2621742a01881e29", scope: null, file: !1, line: 41, type: !81, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !167) +// CHECK:STDOUT: !166 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.a76b78461416b4a8", scope: null, file: !1, line: 41, type: !81, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !167) // CHECK:STDOUT: !167 = !{!168, !169} // CHECK:STDOUT: !168 = !DILocalVariable(arg: 1, scope: !166, type: !23) // CHECK:STDOUT: !169 = !DILocalVariable(arg: 2, scope: !166, type: !30) @@ -553,33 +553,33 @@ fn M() { // CHECK:STDOUT: !174 = !DILocation(line: 44, column: 5, scope: !166) // CHECK:STDOUT: !175 = !DILocation(line: 42, column: 3, scope: !166) // CHECK:STDOUT: !176 = !DILocation(line: 41, column: 1, scope: !166) -// CHECK:STDOUT: !177 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.2621742a01881e29", scope: null, file: !1, line: 61, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !178) +// CHECK:STDOUT: !177 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.a76b78461416b4a8", scope: null, file: !1, line: 61, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !178) // CHECK:STDOUT: !178 = !{!179, !180} // CHECK:STDOUT: !179 = !DILocalVariable(arg: 1, scope: !177, type: !23) // CHECK:STDOUT: !180 = !DILocalVariable(arg: 2, scope: !177, type: !30) // CHECK:STDOUT: !181 = !DILocation(line: 62, column: 10, scope: !177) // CHECK:STDOUT: !182 = !DILocation(line: 62, column: 3, scope: !177) -// CHECK:STDOUT: !183 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.2621742a01881e29", scope: null, file: !1, line: 65, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !184) +// CHECK:STDOUT: !183 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !1, line: 65, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !184) // CHECK:STDOUT: !184 = !{!185, !186} // CHECK:STDOUT: !185 = !DILocalVariable(arg: 1, scope: !183, type: !23) // CHECK:STDOUT: !186 = !DILocalVariable(arg: 2, scope: !183, type: !30) // CHECK:STDOUT: !187 = !DILocation(line: 66, column: 10, scope: !183) // CHECK:STDOUT: !188 = !DILocation(line: 66, column: 3, scope: !183) -// CHECK:STDOUT: !189 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.5bd8d5767580997a", scope: null, file: !1, line: 69, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !190) +// CHECK:STDOUT: !189 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 69, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !190) // CHECK:STDOUT: !190 = !{!191, !192} // CHECK:STDOUT: !191 = !DILocalVariable(arg: 1, scope: !189, type: !30) // CHECK:STDOUT: !192 = !DILocalVariable(arg: 2, scope: !189, type: !30) // CHECK:STDOUT: !193 = !DILocation(line: 70, column: 15, scope: !189) // CHECK:STDOUT: !194 = !DILocation(line: 70, column: 10, scope: !189) // CHECK:STDOUT: !195 = !DILocation(line: 70, column: 3, scope: !189) -// CHECK:STDOUT: !196 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c27b765f2159c9a0", scope: null, file: !1, line: 69, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !197) +// CHECK:STDOUT: !196 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 69, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !197) // CHECK:STDOUT: !197 = !{!198, !199} // CHECK:STDOUT: !198 = !DILocalVariable(arg: 1, scope: !196, type: !23) // CHECK:STDOUT: !199 = !DILocalVariable(arg: 2, scope: !196, type: !30) // CHECK:STDOUT: !200 = !DILocation(line: 70, column: 15, scope: !196) // CHECK:STDOUT: !201 = !DILocation(line: 70, column: 10, scope: !196) // CHECK:STDOUT: !202 = !DILocation(line: 70, column: 3, scope: !196) -// CHECK:STDOUT: !203 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.2621742a01881e29", scope: null, file: !1, line: 69, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !204) +// CHECK:STDOUT: !203 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a76b78461416b4a8", scope: null, file: !1, line: 69, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !204) // CHECK:STDOUT: !204 = !{!205, !206} // CHECK:STDOUT: !205 = !DILocalVariable(arg: 1, scope: !203, type: !23) // CHECK:STDOUT: !206 = !DILocalVariable(arg: 2, scope: !203, type: !30) diff --git a/toolchain/lower/testdata/function/generic/call_specific_in_class.carbon b/toolchain/lower/testdata/function/generic/call_specific_in_class.carbon index 11ed3eb270bb..115b170936ee 100644 --- a/toolchain/lower/testdata/function/generic/call_specific_in_class.carbon +++ b/toolchain/lower/testdata/function/generic/call_specific_in_class.carbon @@ -68,25 +68,25 @@ fn M() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !14 // CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !14 // CHECK:STDOUT: %.loc34_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !20 -// CHECK:STDOUT: %F.call.loc34 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc34_5), !dbg !21 +// CHECK:STDOUT: %F.call.loc34 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc34_5), !dbg !21 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !15 // CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !15 // CHECK:STDOUT: %.loc36_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !22 -// CHECK:STDOUT: %F.call.loc36 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc36_5), !dbg !23 +// CHECK:STDOUT: %F.call.loc36 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc36_5), !dbg !23 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !16 // CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !16 // CHECK:STDOUT: %.loc38_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !24 -// CHECK:STDOUT: %F.call.loc38 = call ptr @_CF.Main.2621742a01881e29(ptr %.loc38_5), !dbg !25 +// CHECK:STDOUT: %F.call.loc38 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc38_5), !dbg !25 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_i32.var), !dbg !17 // CHECK:STDOUT: store i32 0, ptr %var_i32.var, align 4, !dbg !17 // CHECK:STDOUT: %.loc40_5 = load i32, ptr %var_i32.var, align 4, !dbg !26 -// CHECK:STDOUT: %F.call.loc40 = call i32 @_CF.Main.5bd8d5767580997a(i32 %.loc40_5), !dbg !27 +// CHECK:STDOUT: %F.call.loc40 = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %.loc40_5), !dbg !27 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !18 // CHECK:STDOUT: store double 0.000000e+00, ptr %var_f64.var, align 8, !dbg !18 // CHECK:STDOUT: %.loc42_5 = load double, ptr %var_f64.var, align 8, !dbg !28 -// CHECK:STDOUT: %F.call.loc42 = call double @_CF.Main.c27b765f2159c9a0(double %.loc42_5), !dbg !29 +// CHECK:STDOUT: %F.call.loc42 = call double @_CF.Main.c5e4ba542a56b71f(double %.loc42_5), !dbg !29 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !19 -// CHECK:STDOUT: %F.call.loc44 = call %type.26 @_CF.Main.ee509b43cf4eb3c5(%type.26 zeroinitializer), !dbg !30 +// CHECK:STDOUT: %F.call.loc44 = call %type.26 @_CF.Main.71d6c598da8ca542(%type.26 zeroinitializer), !dbg !30 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %_.var), !dbg !19 // CHECK:STDOUT: call void @"_COp.30d8007fdcc57f83:core.Destroy.Core"(ptr %var_f64.var), !dbg !18 // CHECK:STDOUT: call void @"_COp.5e27612b9dd31a14:core.Destroy.Core"(ptr %var_i32.var), !dbg !17 @@ -109,100 +109,100 @@ fn M() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.2621742a01881e29(ptr %x) #0 !dbg !43 { +// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x) #0 !dbg !43 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call ptr @_CG.Main.2621742a01881e29(ptr %x), !dbg !48 +// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x), !dbg !48 // CHECK:STDOUT: ret ptr %G.call, !dbg !49 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.5bd8d5767580997a(i32 %x) #0 !dbg !50 { +// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !50 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call i32 @_CG.Main.5bd8d5767580997a(i32 %x), !dbg !55 +// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x), !dbg !55 // CHECK:STDOUT: ret i32 %G.call, !dbg !56 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c27b765f2159c9a0(double %x) #0 !dbg !57 { +// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x) #0 !dbg !57 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call double @_CG.Main.c27b765f2159c9a0(double %x), !dbg !60 +// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x), !dbg !60 // CHECK:STDOUT: ret double %G.call, !dbg !61 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CF.Main.ee509b43cf4eb3c5(%type.26 %x) #0 !dbg !62 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CF.Main.71d6c598da8ca542(%type.26 %x) #0 !dbg !62 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call %type.26 @_CG.Main.ee509b43cf4eb3c5(%type.26 %x), !dbg !65 +// CHECK:STDOUT: %G.call = call %type.26 @_CG.Main.71d6c598da8ca542(%type.26 %x), !dbg !65 // CHECK:STDOUT: ret %type.26 %G.call, !dbg !66 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.2621742a01881e29(ptr %x) #0 !dbg !67 { +// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.a76b78461416b4a8(ptr %x) #0 !dbg !67 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !70 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !70 -// CHECK:STDOUT: %C.Cfn.call = call ptr @_CCfn.C.Main.2621742a01881e29(ptr %c.var, ptr %x), !dbg !71 +// CHECK:STDOUT: %C.Cfn.call = call ptr @_CCfn.C.Main.a76b78461416b4a8(ptr %c.var, ptr %x), !dbg !71 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %c.var), !dbg !70 // CHECK:STDOUT: ret ptr %C.Cfn.call, !dbg !72 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.5bd8d5767580997a(i32 %x) #0 !dbg !73 { +// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !73 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !76 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !76 -// CHECK:STDOUT: %C.Cfn.call = call i32 @_CCfn.C.Main.5bd8d5767580997a(ptr %c.var, i32 %x), !dbg !77 +// CHECK:STDOUT: %C.Cfn.call = call i32 @_CCfn.C.Main.4d6ceefeb7f772f4(ptr %c.var, i32 %x), !dbg !77 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %c.var), !dbg !76 // CHECK:STDOUT: ret i32 %C.Cfn.call, !dbg !78 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c27b765f2159c9a0(double %x) #0 !dbg !79 { +// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c5e4ba542a56b71f(double %x) #0 !dbg !79 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !82 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !82 -// CHECK:STDOUT: %C.Cfn.call = call double @_CCfn.C.Main.c27b765f2159c9a0(ptr %c.var, double %x), !dbg !83 +// CHECK:STDOUT: %C.Cfn.call = call double @_CCfn.C.Main.c5e4ba542a56b71f(ptr %c.var, double %x), !dbg !83 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %c.var), !dbg !82 // CHECK:STDOUT: ret double %C.Cfn.call, !dbg !84 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CG.Main.ee509b43cf4eb3c5(%type.26 %x) #0 !dbg !85 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CG.Main.71d6c598da8ca542(%type.26 %x) #0 !dbg !85 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !88 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !88 -// CHECK:STDOUT: %C.Cfn.call = call %type.26 @_CCfn.C.Main.ee509b43cf4eb3c5(ptr %c.var, %type.26 %x), !dbg !89 +// CHECK:STDOUT: %C.Cfn.call = call %type.26 @_CCfn.C.Main.71d6c598da8ca542(ptr %c.var, %type.26 %x), !dbg !89 // CHECK:STDOUT: call void @"_COp.807eb4f2d3ed7e54:core.Destroy.Core"(ptr %c.var), !dbg !88 // CHECK:STDOUT: ret %type.26 %C.Cfn.call, !dbg !90 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CCfn.C.Main.2621742a01881e29(ptr %self, ptr %x) #0 !dbg !91 { +// CHECK:STDOUT: define linkonce_odr ptr @_CCfn.C.Main.a76b78461416b4a8(ptr %self, ptr %x) #0 !dbg !91 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret ptr %x, !dbg !97 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CCfn.C.Main.5bd8d5767580997a(ptr %self, i32 %x) #0 !dbg !98 { +// CHECK:STDOUT: define linkonce_odr i32 @_CCfn.C.Main.4d6ceefeb7f772f4(ptr %self, i32 %x) #0 !dbg !98 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !104 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr double @_CCfn.C.Main.c27b765f2159c9a0(ptr %self, double %x) #0 !dbg !105 { +// CHECK:STDOUT: define linkonce_odr double @_CCfn.C.Main.c5e4ba542a56b71f(ptr %self, double %x) #0 !dbg !105 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret double %x, !dbg !109 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr %type.26 @_CCfn.C.Main.ee509b43cf4eb3c5(ptr %self, %type.26 %x) #0 !dbg !110 { +// CHECK:STDOUT: define linkonce_odr %type.26 @_CCfn.C.Main.71d6c598da8ca542(ptr %self, %type.26 %x) #0 !dbg !110 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret %type.26 %x, !dbg !114 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 1, 2, 3, 9, 8, 7, 6, 5, 4 } -// CHECK:STDOUT: uselistorder ptr @_CF.Main.2621742a01881e29, { 2, 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CF.Main.a76b78461416b4a8, { 2, 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } @@ -253,74 +253,74 @@ fn M() { // CHECK:STDOUT: !40 = !{!41} // CHECK:STDOUT: !41 = !DILocalVariable(arg: 1, scope: !36, type: !39) // CHECK:STDOUT: !42 = !DILocation(line: 39, column: 3, scope: !36) -// CHECK:STDOUT: !43 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.2621742a01881e29", scope: null, file: !1, line: 28, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !46) +// CHECK:STDOUT: !43 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !1, line: 28, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !46) // CHECK:STDOUT: !44 = !DISubroutineType(types: !45) // CHECK:STDOUT: !45 = !{!7, !7} // CHECK:STDOUT: !46 = !{!47} // CHECK:STDOUT: !47 = !DILocalVariable(arg: 1, scope: !43, type: !7) // CHECK:STDOUT: !48 = !DILocation(line: 29, column: 10, scope: !43) // CHECK:STDOUT: !49 = !DILocation(line: 29, column: 3, scope: !43) -// CHECK:STDOUT: !50 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.5bd8d5767580997a", scope: null, file: !1, line: 28, type: !51, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !53) +// CHECK:STDOUT: !50 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 28, type: !51, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !53) // CHECK:STDOUT: !51 = !DISubroutineType(types: !52) // CHECK:STDOUT: !52 = !{!39, !39} // CHECK:STDOUT: !53 = !{!54} // CHECK:STDOUT: !54 = !DILocalVariable(arg: 1, scope: !50, type: !39) // CHECK:STDOUT: !55 = !DILocation(line: 29, column: 10, scope: !50) // CHECK:STDOUT: !56 = !DILocation(line: 29, column: 3, scope: !50) -// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c27b765f2159c9a0", scope: null, file: !1, line: 28, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !58) +// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 28, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !58) // CHECK:STDOUT: !58 = !{!59} // CHECK:STDOUT: !59 = !DILocalVariable(arg: 1, scope: !57, type: !7) // CHECK:STDOUT: !60 = !DILocation(line: 29, column: 10, scope: !57) // CHECK:STDOUT: !61 = !DILocation(line: 29, column: 3, scope: !57) -// CHECK:STDOUT: !62 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.ee509b43cf4eb3c5", scope: null, file: !1, line: 28, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !63) +// CHECK:STDOUT: !62 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.71d6c598da8ca542", scope: null, file: !1, line: 28, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !63) // CHECK:STDOUT: !63 = !{!64} // CHECK:STDOUT: !64 = !DILocalVariable(arg: 1, scope: !62, type: !7) // CHECK:STDOUT: !65 = !DILocation(line: 29, column: 10, scope: !62) // CHECK:STDOUT: !66 = !DILocation(line: 29, column: 3, scope: !62) -// CHECK:STDOUT: !67 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.2621742a01881e29", scope: null, file: !1, line: 23, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !68) +// CHECK:STDOUT: !67 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a76b78461416b4a8", scope: null, file: !1, line: 23, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !68) // CHECK:STDOUT: !68 = !{!69} // CHECK:STDOUT: !69 = !DILocalVariable(arg: 1, scope: !67, type: !7) // CHECK:STDOUT: !70 = !DILocation(line: 24, column: 3, scope: !67) // CHECK:STDOUT: !71 = !DILocation(line: 25, column: 10, scope: !67) // CHECK:STDOUT: !72 = !DILocation(line: 25, column: 3, scope: !67) -// CHECK:STDOUT: !73 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.5bd8d5767580997a", scope: null, file: !1, line: 23, type: !51, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !74) +// CHECK:STDOUT: !73 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 23, type: !51, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !74) // CHECK:STDOUT: !74 = !{!75} // CHECK:STDOUT: !75 = !DILocalVariable(arg: 1, scope: !73, type: !39) // CHECK:STDOUT: !76 = !DILocation(line: 24, column: 3, scope: !73) // CHECK:STDOUT: !77 = !DILocation(line: 25, column: 10, scope: !73) // CHECK:STDOUT: !78 = !DILocation(line: 25, column: 3, scope: !73) -// CHECK:STDOUT: !79 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c27b765f2159c9a0", scope: null, file: !1, line: 23, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !80) +// CHECK:STDOUT: !79 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 23, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !80) // CHECK:STDOUT: !80 = !{!81} // CHECK:STDOUT: !81 = !DILocalVariable(arg: 1, scope: !79, type: !7) // CHECK:STDOUT: !82 = !DILocation(line: 24, column: 3, scope: !79) // CHECK:STDOUT: !83 = !DILocation(line: 25, column: 10, scope: !79) // CHECK:STDOUT: !84 = !DILocation(line: 25, column: 3, scope: !79) -// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.ee509b43cf4eb3c5", scope: null, file: !1, line: 23, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !86) +// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.71d6c598da8ca542", scope: null, file: !1, line: 23, type: !44, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !86) // CHECK:STDOUT: !86 = !{!87} // CHECK:STDOUT: !87 = !DILocalVariable(arg: 1, scope: !85, type: !7) // CHECK:STDOUT: !88 = !DILocation(line: 24, column: 3, scope: !85) // CHECK:STDOUT: !89 = !DILocation(line: 25, column: 10, scope: !85) // CHECK:STDOUT: !90 = !DILocation(line: 25, column: 3, scope: !85) -// CHECK:STDOUT: !91 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.2621742a01881e29", scope: null, file: !1, line: 18, type: !92, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !94) +// CHECK:STDOUT: !91 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.a76b78461416b4a8", scope: null, file: !1, line: 18, type: !92, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !94) // CHECK:STDOUT: !92 = !DISubroutineType(types: !93) // CHECK:STDOUT: !93 = !{!7, !7, !7} // CHECK:STDOUT: !94 = !{!95, !96} // CHECK:STDOUT: !95 = !DILocalVariable(arg: 1, scope: !91, type: !7) // CHECK:STDOUT: !96 = !DILocalVariable(arg: 2, scope: !91, type: !7) // CHECK:STDOUT: !97 = !DILocation(line: 19, column: 5, scope: !91) -// CHECK:STDOUT: !98 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.5bd8d5767580997a", scope: null, file: !1, line: 18, type: !99, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !101) +// CHECK:STDOUT: !98 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 18, type: !99, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !101) // CHECK:STDOUT: !99 = !DISubroutineType(types: !100) // CHECK:STDOUT: !100 = !{!39, !7, !39} // CHECK:STDOUT: !101 = !{!102, !103} // CHECK:STDOUT: !102 = !DILocalVariable(arg: 1, scope: !98, type: !7) // CHECK:STDOUT: !103 = !DILocalVariable(arg: 2, scope: !98, type: !39) // CHECK:STDOUT: !104 = !DILocation(line: 19, column: 5, scope: !98) -// CHECK:STDOUT: !105 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.c27b765f2159c9a0", scope: null, file: !1, line: 18, type: !92, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !106) +// CHECK:STDOUT: !105 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.c5e4ba542a56b71f", scope: null, file: !1, line: 18, type: !92, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !106) // CHECK:STDOUT: !106 = !{!107, !108} // CHECK:STDOUT: !107 = !DILocalVariable(arg: 1, scope: !105, type: !7) // CHECK:STDOUT: !108 = !DILocalVariable(arg: 2, scope: !105, type: !7) // CHECK:STDOUT: !109 = !DILocation(line: 19, column: 5, scope: !105) -// CHECK:STDOUT: !110 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.ee509b43cf4eb3c5", scope: null, file: !1, line: 18, type: !92, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !111) +// CHECK:STDOUT: !110 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.71d6c598da8ca542", scope: null, file: !1, line: 18, type: !92, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !111) // CHECK:STDOUT: !111 = !{!112, !113} // CHECK:STDOUT: !112 = !DILocalVariable(arg: 1, scope: !110, type: !7) // CHECK:STDOUT: !113 = !DILocalVariable(arg: 2, scope: !110, type: !7) diff --git a/toolchain/lower/testdata/function/generic/cross_library_name_collision_private.carbon b/toolchain/lower/testdata/function/generic/cross_library_name_collision_private.carbon index 0d78c11ef400..ee1336712d86 100644 --- a/toolchain/lower/testdata/function/generic/cross_library_name_collision_private.carbon +++ b/toolchain/lower/testdata/function/generic/cross_library_name_collision_private.carbon @@ -82,30 +82,30 @@ fn Run() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @main() #0 !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %Lib1CallF.call = call i32 @_CLib1CallF.Main.5bd8d5767580997a(i32 1, i32 2), !dbg !8 -// CHECK:STDOUT: %Lib2CallF.call = call i32 @_CLib2CallF.Main.5bd8d5767580997a(i32 1, i32 2), !dbg !9 +// CHECK:STDOUT: %Lib1CallF.call = call i32 @_CLib1CallF.Main.4d6ceefeb7f772f4(i32 1, i32 2), !dbg !8 +// CHECK:STDOUT: %Lib2CallF.call = call i32 @_CLib2CallF.Main.4d6ceefeb7f772f4(i32 1, i32 2), !dbg !9 // CHECK:STDOUT: ret i32 0, !dbg !10 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CLib1CallF.Main.5bd8d5767580997a(i32 %a, i32 %b) #0 !dbg !11 { -// CHECK:STDOUT: %1 = call i32 @_CF.Main.5bd8d5767580997a(i32 %a, i32 %b), !dbg !18 +// CHECK:STDOUT: define linkonce_odr i32 @_CLib1CallF.Main.4d6ceefeb7f772f4(i32 %a, i32 %b) #0 !dbg !11 { +// CHECK:STDOUT: %1 = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %a, i32 %b), !dbg !18 // CHECK:STDOUT: ret i32 %1, !dbg !19 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CLib2CallF.Main.5bd8d5767580997a(i32 %a, i32 %b) #0 !dbg !20 { -// CHECK:STDOUT: %1 = call i32 @_CF.Main.5bd8d5767580997a(i32 %a, i32 %b), !dbg !25 +// CHECK:STDOUT: define linkonce_odr i32 @_CLib2CallF.Main.4d6ceefeb7f772f4(i32 %a, i32 %b) #0 !dbg !20 { +// CHECK:STDOUT: %1 = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %a, i32 %b), !dbg !25 // CHECK:STDOUT: ret i32 %1, !dbg !26 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.5bd8d5767580997a(i32 %a, i32 %_) #0 !dbg !27 { +// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %a, i32 %_) #0 !dbg !27 { // CHECK:STDOUT: ret i32 %a, !dbg !31 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @_CF.Main.5bd8d5767580997a, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CF.Main.4d6ceefeb7f772f4, { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: @@ -123,7 +123,7 @@ fn Run() { // CHECK:STDOUT: !8 = !DILocation(line: 10, column: 16, scope: !4) // CHECK:STDOUT: !9 = !DILocation(line: 11, column: 16, scope: !4) // CHECK:STDOUT: !10 = !DILocation(line: 9, column: 1, scope: !4) -// CHECK:STDOUT: !11 = distinct !DISubprogram(name: "Lib1CallF", linkageName: "_CLib1CallF.Main.5bd8d5767580997a", scope: null, file: !12, line: 8, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !15) +// CHECK:STDOUT: !11 = distinct !DISubprogram(name: "Lib1CallF", linkageName: "_CLib1CallF.Main.4d6ceefeb7f772f4", scope: null, file: !12, line: 8, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !15) // CHECK:STDOUT: !12 = !DIFile(filename: "lib1.carbon", directory: "") // CHECK:STDOUT: !13 = !DISubroutineType(types: !14) // CHECK:STDOUT: !14 = !{!7, !7, !7} @@ -132,14 +132,14 @@ fn Run() { // CHECK:STDOUT: !17 = !DILocalVariable(arg: 2, scope: !11, type: !7) // CHECK:STDOUT: !18 = !DILocation(line: 9, column: 10, scope: !11) // CHECK:STDOUT: !19 = !DILocation(line: 9, column: 3, scope: !11) -// CHECK:STDOUT: !20 = distinct !DISubprogram(name: "Lib2CallF", linkageName: "_CLib2CallF.Main.5bd8d5767580997a", scope: null, file: !21, line: 11, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !22) +// CHECK:STDOUT: !20 = distinct !DISubprogram(name: "Lib2CallF", linkageName: "_CLib2CallF.Main.4d6ceefeb7f772f4", scope: null, file: !21, line: 11, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !22) // CHECK:STDOUT: !21 = !DIFile(filename: "lib2.carbon", directory: "") // CHECK:STDOUT: !22 = !{!23, !24} // CHECK:STDOUT: !23 = !DILocalVariable(arg: 1, scope: !20, type: !7) // CHECK:STDOUT: !24 = !DILocalVariable(arg: 2, scope: !20, type: !7) // CHECK:STDOUT: !25 = !DILocation(line: 12, column: 10, scope: !20) // CHECK:STDOUT: !26 = !DILocation(line: 12, column: 3, scope: !20) -// CHECK:STDOUT: !27 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.5bd8d5767580997a", scope: null, file: !12, line: 4, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !28) +// CHECK:STDOUT: !27 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !12, line: 4, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !28) // CHECK:STDOUT: !28 = !{!29, !30} // CHECK:STDOUT: !29 = !DILocalVariable(arg: 1, scope: !27, type: !7) // CHECK:STDOUT: !30 = !DILocalVariable(arg: 2, scope: !27, type: !7) diff --git a/toolchain/lower/testdata/function/generic/local_function.carbon b/toolchain/lower/testdata/function/generic/local_function.carbon index ca5752c98796..56d63aea5e7a 100644 --- a/toolchain/lower/testdata/function/generic/local_function.carbon +++ b/toolchain/lower/testdata/function/generic/local_function.carbon @@ -30,19 +30,19 @@ fn Run() -> i32 { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @main() #0 !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %F.call = call i32 @_CF.Main.5bd8d5767580997a(i32 0), !dbg !8 +// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 0), !dbg !8 // CHECK:STDOUT: ret i32 %F.call, !dbg !9 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.5bd8d5767580997a(i32 %y) #0 !dbg !10 { +// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %y) #0 !dbg !10 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %G.call = call i32 @"_CG:enclosed.5bd8d5767580997a"(i32 %y), !dbg !15 +// CHECK:STDOUT: %G.call = call i32 @"_CG:enclosed.4d6ceefeb7f772f4"(i32 %y), !dbg !15 // CHECK:STDOUT: ret i32 %G.call, !dbg !16 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CG:enclosed.5bd8d5767580997a"(i32 %x) #0 !dbg !17 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CG:enclosed.4d6ceefeb7f772f4"(i32 %x) #0 !dbg !17 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret i32 %x, !dbg !20 // CHECK:STDOUT: } @@ -62,14 +62,14 @@ fn Run() -> i32 { // CHECK:STDOUT: !7 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed) // CHECK:STDOUT: !8 = !DILocation(line: 23, column: 10, scope: !4) // CHECK:STDOUT: !9 = !DILocation(line: 23, column: 3, scope: !4) -// CHECK:STDOUT: !10 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.5bd8d5767580997a", scope: null, file: !1, line: 17, type: !11, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !13) +// CHECK:STDOUT: !10 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !1, line: 17, type: !11, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !13) // CHECK:STDOUT: !11 = !DISubroutineType(types: !12) // CHECK:STDOUT: !12 = !{!7, !7} // CHECK:STDOUT: !13 = !{!14} // CHECK:STDOUT: !14 = !DILocalVariable(arg: 1, scope: !10, type: !7) // CHECK:STDOUT: !15 = !DILocation(line: 19, column: 10, scope: !10) // CHECK:STDOUT: !16 = !DILocation(line: 19, column: 3, scope: !10) -// CHECK:STDOUT: !17 = distinct !DISubprogram(name: "G", linkageName: "_CG:enclosed.5bd8d5767580997a", scope: null, file: !1, line: 18, type: !11, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !18) +// CHECK:STDOUT: !17 = distinct !DISubprogram(name: "G", linkageName: "_CG:enclosed.4d6ceefeb7f772f4", scope: null, file: !1, line: 18, type: !11, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !18) // CHECK:STDOUT: !18 = !{!19} // CHECK:STDOUT: !19 = !DILocalVariable(arg: 1, scope: !17, type: !7) // CHECK:STDOUT: !20 = !DILocation(line: 18, column: 21, scope: !17) diff --git a/toolchain/lower/testdata/function/generic/type_representation.carbon b/toolchain/lower/testdata/function/generic/type_representation.carbon index 2b2105cbf336..0e9deb9cfbed 100644 --- a/toolchain/lower/testdata/function/generic/type_representation.carbon +++ b/toolchain/lower/testdata/function/generic/type_representation.carbon @@ -87,7 +87,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @_CF_i32.Main(i32 %a) #0 !dbg !11 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %F.call = call i32 @_CF.Main.349b91811add80c8(i32 %a), !dbg !14 +// CHECK:STDOUT: %F.call = call i32 @_CF.Main.51815a09c4c03ee5(i32 %a), !dbg !14 // CHECK:STDOUT: ret i32 %F.call, !dbg !15 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -114,7 +114,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CF_X.Main(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !32 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CF.Main.883765f2473e3a79(ptr %return, ptr %a), !dbg !35 +// CHECK:STDOUT: call void @_CF.Main.425841177dc25b60(ptr %return, ptr %a), !dbg !35 // CHECK:STDOUT: ret void, !dbg !36 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -139,7 +139,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CF_empty_tuple.Main() #0 !dbg !51 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CF.Main.c3a325b0fb5d5a1b(), !dbg !52 +// CHECK:STDOUT: call void @_CF.Main.0ffdc268e95480c6(), !dbg !52 // CHECK:STDOUT: ret void, !dbg !53 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -160,7 +160,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CF_two_tuple.Main(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !59 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CF.Main.57a2a7fa41a2abe5(ptr %return, ptr %a), !dbg !62 +// CHECK:STDOUT: call void @_CF.Main.fa2890b7def5e5c7(ptr %return, ptr %a), !dbg !62 // CHECK:STDOUT: ret void, !dbg !63 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -187,7 +187,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CF_nested_tuple.Main(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %a) #0 !dbg !75 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CF.Main.7d44c5ea0170e82e(ptr %return, ptr %a), !dbg !78 +// CHECK:STDOUT: call void @_CF.Main.2353b6e2f4825328(ptr %return, ptr %a), !dbg !78 // CHECK:STDOUT: ret void, !dbg !79 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -198,7 +198,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.349b91811add80c8(i32 %a) #0 !dbg !84 { +// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.51815a09c4c03ee5(i32 %a) #0 !dbg !84 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %_.var = alloca i32, align 4, !dbg !87 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !87 @@ -210,7 +210,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.883765f2473e3a79(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !91 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.425841177dc25b60(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !91 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %_.var = alloca { i32, i32 }, align 4, !dbg !94 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !94 @@ -221,7 +221,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.c3a325b0fb5d5a1b() #0 !dbg !98 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.0ffdc268e95480c6() #0 !dbg !98 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %_.var = alloca {}, align 1, !dbg !99 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !99 @@ -231,7 +231,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.57a2a7fa41a2abe5(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !103 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.fa2890b7def5e5c7(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !103 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %_.var = alloca { i32, i32 }, align 4, !dbg !106 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !106 @@ -242,7 +242,7 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.7d44c5ea0170e82e(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %a) #0 !dbg !110 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.2353b6e2f4825328(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %a) #0 !dbg !110 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %_.var = alloca { { i32, i32 }, { i32, i32 } }, align 4, !dbg !113 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !113 @@ -348,33 +348,33 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) { // CHECK:STDOUT: !81 = !{!82} // CHECK:STDOUT: !82 = !DILocalVariable(arg: 1, scope: !80, type: !25) // CHECK:STDOUT: !83 = !DILocation(line: 74, column: 10, scope: !80) -// CHECK:STDOUT: !84 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.349b91811add80c8", scope: null, file: !1, line: 17, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !85) +// CHECK:STDOUT: !84 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.51815a09c4c03ee5", scope: null, file: !1, line: 17, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !85) // CHECK:STDOUT: !85 = !{!86} // CHECK:STDOUT: !86 = !DILocalVariable(arg: 1, scope: !84, type: !7) // CHECK:STDOUT: !87 = !DILocation(line: 18, column: 3, scope: !84) // CHECK:STDOUT: !88 = !DILocation(line: 18, column: 14, scope: !84) // CHECK:STDOUT: !89 = !DILocation(line: 19, column: 10, scope: !84) // CHECK:STDOUT: !90 = !DILocation(line: 19, column: 3, scope: !84) -// CHECK:STDOUT: !91 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.883765f2473e3a79", scope: null, file: !1, line: 17, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !92) +// CHECK:STDOUT: !91 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.425841177dc25b60", scope: null, file: !1, line: 17, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !92) // CHECK:STDOUT: !92 = !{!93} // CHECK:STDOUT: !93 = !DILocalVariable(arg: 1, scope: !91, type: !25) // CHECK:STDOUT: !94 = !DILocation(line: 18, column: 3, scope: !91) // CHECK:STDOUT: !95 = !DILocation(line: 18, column: 14, scope: !91) // CHECK:STDOUT: !96 = !DILocation(line: 19, column: 10, scope: !91) // CHECK:STDOUT: !97 = !DILocation(line: 19, column: 3, scope: !91) -// CHECK:STDOUT: !98 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c3a325b0fb5d5a1b", scope: null, file: !1, line: 17, type: !48, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !98 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.0ffdc268e95480c6", scope: null, file: !1, line: 17, type: !48, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !99 = !DILocation(line: 18, column: 3, scope: !98) // CHECK:STDOUT: !100 = !DILocation(line: 18, column: 14, scope: !98) // CHECK:STDOUT: !101 = !DILocation(line: 19, column: 10, scope: !98) // CHECK:STDOUT: !102 = !DILocation(line: 19, column: 3, scope: !98) -// CHECK:STDOUT: !103 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.57a2a7fa41a2abe5", scope: null, file: !1, line: 17, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !104) +// CHECK:STDOUT: !103 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.fa2890b7def5e5c7", scope: null, file: !1, line: 17, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !104) // CHECK:STDOUT: !104 = !{!105} // CHECK:STDOUT: !105 = !DILocalVariable(arg: 1, scope: !103, type: !25) // CHECK:STDOUT: !106 = !DILocation(line: 18, column: 3, scope: !103) // CHECK:STDOUT: !107 = !DILocation(line: 18, column: 14, scope: !103) // CHECK:STDOUT: !108 = !DILocation(line: 19, column: 10, scope: !103) // CHECK:STDOUT: !109 = !DILocation(line: 19, column: 3, scope: !103) -// CHECK:STDOUT: !110 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.7d44c5ea0170e82e", scope: null, file: !1, line: 17, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !111) +// CHECK:STDOUT: !110 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.2353b6e2f4825328", scope: null, file: !1, line: 17, type: !23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !111) // CHECK:STDOUT: !111 = !{!112} // CHECK:STDOUT: !112 = !DILocalVariable(arg: 1, scope: !110, type: !25) // CHECK:STDOUT: !113 = !DILocation(line: 18, column: 3, scope: !110) diff --git a/toolchain/lower/testdata/impl/import_facet.carbon b/toolchain/lower/testdata/impl/import_facet.carbon index f73aaedbd9cb..de96089a644c 100644 --- a/toolchain/lower/testdata/impl/import_facet.carbon +++ b/toolchain/lower/testdata/impl/import_facet.carbon @@ -92,7 +92,7 @@ fn F(d: D(i32)) -> i32* { // CHECK:STDOUT: ; ModuleID = 'd.carbon' // CHECK:STDOUT: source_filename = "d.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @C.val.506.anon = internal constant {} zeroinitializer +// CHECK:STDOUT: @C.val.f2f.anon = internal constant {} zeroinitializer // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define ptr @_CF.Main(ptr %d) #0 !dbg !4 { @@ -100,13 +100,13 @@ fn F(d: D(i32)) -> i32* { // CHECK:STDOUT: %.loc5_21.1.temp = alloca {}, align 1, !dbg !10 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc5_21.1.temp), !dbg !10 // CHECK:STDOUT: call void @"_CGetI.D.eb057aa32837c84e.Main:I.Main.84588f41d61dafba"(ptr %.loc5_21.1.temp, ptr %d), !dbg !10 -// CHECK:STDOUT: %C.GetC.call = call ptr @_CGetC.C.Main.4d89da762a733471(ptr %.loc5_21.1.temp), !dbg !10 -// CHECK:STDOUT: call void @"_COp.589d3e688fca3583:core.Destroy.Core"(ptr %.loc5_21.1.temp), !dbg !10 +// CHECK:STDOUT: %C.GetC.call = call ptr @_CGetC.C.Main.8b8580dcf8be64c1(ptr %.loc5_21.1.temp), !dbg !10 +// CHECK:STDOUT: call void @"_COp.f6953ce6bc81d986:core.Destroy.Core"(ptr %.loc5_21.1.temp), !dbg !10 // CHECK:STDOUT: ret ptr %C.GetC.call, !dbg !11 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.589d3e688fca3583:core.Destroy.Core"(ptr %self) #0 !dbg !12 { +// CHECK:STDOUT: define weak_odr void @"_COp.f6953ce6bc81d986:core.Destroy.Core"(ptr %self) #0 !dbg !12 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !17 // CHECK:STDOUT: } @@ -116,12 +116,12 @@ fn F(d: D(i32)) -> i32* { // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @"_CGetI.D.eb057aa32837c84e.Main:I.Main.84588f41d61dafba"(ptr sret({}) %return, ptr %self) #0 !dbg !18 { -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %return, ptr align 1 @C.val.506.anon, i64 0, i1 false), !dbg !22 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %return, ptr align 1 @C.val.f2f.anon, i64 0, i1 false), !dbg !22 // CHECK:STDOUT: ret void, !dbg !22 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CGetC.C.Main.4d89da762a733471(ptr %self) #0 !dbg !23 { +// CHECK:STDOUT: define linkonce_odr ptr @_CGetC.C.Main.8b8580dcf8be64c1(ptr %self) #0 !dbg !23 { // CHECK:STDOUT: %1 = alloca ptr, align 8, !dbg !27 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %1), !dbg !27 // CHECK:STDOUT: store ptr poison, ptr %1, align 8, !dbg !27 @@ -150,7 +150,7 @@ fn F(d: D(i32)) -> i32* { // CHECK:STDOUT: !9 = !DILocalVariable(arg: 1, scope: !4, type: !7) // CHECK:STDOUT: !10 = !DILocation(line: 5, column: 10, scope: !4) // CHECK:STDOUT: !11 = !DILocation(line: 5, column: 3, scope: !4) -// CHECK:STDOUT: !12 = distinct !DISubprogram(name: "Op", linkageName: "_COp.589d3e688fca3583:core.Destroy.Core", scope: null, file: !1, line: 5, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !15) +// CHECK:STDOUT: !12 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f6953ce6bc81d986:core.Destroy.Core", scope: null, file: !1, line: 5, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !15) // CHECK:STDOUT: !13 = !DISubroutineType(types: !14) // CHECK:STDOUT: !14 = !{null, !7} // CHECK:STDOUT: !15 = !{!16} @@ -161,7 +161,7 @@ fn F(d: D(i32)) -> i32* { // CHECK:STDOUT: !20 = !{!21} // CHECK:STDOUT: !21 = !DILocalVariable(arg: 1, scope: !18, type: !7) // CHECK:STDOUT: !22 = !DILocation(line: 7, column: 7, scope: !18) -// CHECK:STDOUT: !23 = distinct !DISubprogram(name: "GetC", linkageName: "_CGetC.C.Main.4d89da762a733471", scope: null, file: !24, line: 4, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !25) +// CHECK:STDOUT: !23 = distinct !DISubprogram(name: "GetC", linkageName: "_CGetC.C.Main.8b8580dcf8be64c1", scope: null, file: !24, line: 4, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !25) // CHECK:STDOUT: !24 = !DIFile(filename: "a.carbon", directory: "") // CHECK:STDOUT: !25 = !{!26} // CHECK:STDOUT: !26 = !DILocalVariable(arg: 1, scope: !23, type: !7) diff --git a/toolchain/lower/testdata/impl/import_thunk.carbon b/toolchain/lower/testdata/impl/import_thunk.carbon index 404fe0db7dc6..611d06f88df8 100644 --- a/toolchain/lower/testdata/impl/import_thunk.carbon +++ b/toolchain/lower/testdata/impl/import_thunk.carbon @@ -101,7 +101,7 @@ fn Test(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define weak_odr void @"_CF:thunk:I.4b54445be9b10a0e.Main:61ea2aba74ab3bf1:I.Main"(ptr sret({ i32 }) %return, ptr %a) #1 !dbg !25 { +// CHECK:STDOUT: define weak_odr void @"_CF:thunk:I.6a2feaaa6331eb92.Main:61ea2aba74ab3bf1:I.Main"(ptr sret({ i32 }) %return, ptr %a) #1 !dbg !25 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc20_19.1.temp = alloca { i32 }, align 4, !dbg !28 // CHECK:STDOUT: %.4.temp = alloca { i32 }, align 4, !dbg !29 @@ -172,7 +172,7 @@ fn Test(a: A) -> C { // CHECK:STDOUT: !22 = !DILocation(line: 20, column: 34, scope: !19) // CHECK:STDOUT: !23 = !DILocation(line: 20, column: 28, scope: !19) // CHECK:STDOUT: !24 = !DILocation(line: 20, column: 21, scope: !19) -// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "F", linkageName: "_CF:thunk:I.4b54445be9b10a0e.Main:61ea2aba74ab3bf1:I.Main", scope: null, file: !1, line: 20, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !26) +// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "F", linkageName: "_CF:thunk:I.6a2feaaa6331eb92.Main:61ea2aba74ab3bf1:I.Main", scope: null, file: !1, line: 20, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !26) // CHECK:STDOUT: !26 = !{!27} // CHECK:STDOUT: !27 = !DILocalVariable(arg: 1, scope: !25, type: !7) // CHECK:STDOUT: !28 = !DILocation(line: 20, column: 3, scope: !25) @@ -216,7 +216,7 @@ fn Test(a: A) -> C { // CHECK:STDOUT: ret void, !dbg !12 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: declare void @"_CF:thunk:I.81762ab15bc0c2ed.Main:61ea2aba74ab3bf1:I.Main"(ptr sret({ i32 }), ptr) +// CHECK:STDOUT: declare void @"_CF:thunk:I.f5faeaa774ca256e.Main:61ea2aba74ab3bf1:I.Main"(ptr sret({ i32 }), ptr) // CHECK:STDOUT: // CHECK:STDOUT: declare void @"_CF.61ea2aba74ab3bf1:I.Main"(ptr sret({ i32 }), ptr) // CHECK:STDOUT: @@ -301,7 +301,7 @@ fn Test(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define weak_odr void @"_CF:thunk:I.c81631f865470482.Main:X.Main:I.Main"(ptr sret({ i32 }) %return, ptr %a) #1 !dbg !13 { +// CHECK:STDOUT: define weak_odr void @"_CF:thunk:I.d0cc85b6c89517e3.Main:X.Main:I.Main"(ptr sret({ i32 }) %return, ptr %a) #1 !dbg !13 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc9_19.1.temp = alloca { i32 }, align 4, !dbg !16 // CHECK:STDOUT: %.4.temp = alloca { i32 }, align 4, !dbg !17 @@ -364,7 +364,7 @@ fn Test(a: A) -> C { // CHECK:STDOUT: !10 = !DILocation(line: 9, column: 34, scope: !4) // CHECK:STDOUT: !11 = !DILocation(line: 9, column: 28, scope: !4) // CHECK:STDOUT: !12 = !DILocation(line: 9, column: 21, scope: !4) -// CHECK:STDOUT: !13 = distinct !DISubprogram(name: "F", linkageName: "_CF:thunk:I.c81631f865470482.Main:X.Main:I.Main", scope: null, file: !1, line: 9, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !14) +// CHECK:STDOUT: !13 = distinct !DISubprogram(name: "F", linkageName: "_CF:thunk:I.d0cc85b6c89517e3.Main:X.Main:I.Main", scope: null, file: !1, line: 9, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !14) // CHECK:STDOUT: !14 = !{!15} // CHECK:STDOUT: !15 = !DILocalVariable(arg: 1, scope: !13, type: !7) // CHECK:STDOUT: !16 = !DILocation(line: 9, column: 3, scope: !13) @@ -408,7 +408,7 @@ fn Test(a: A) -> C { // CHECK:STDOUT: ret void, !dbg !12 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: declare void @"_CF:thunk:I.7538afb22b3edcf0.Main:X.Main:I.Main"(ptr sret({ i32 }), ptr) +// CHECK:STDOUT: declare void @"_CF:thunk:I.4980a17f6b368c72.Main:X.Main:I.Main"(ptr sret({ i32 }), ptr) // CHECK:STDOUT: // CHECK:STDOUT: declare void @"_CF.X.Main:I.Main"(ptr sret({ i32 }), ptr) // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/impl/period_self.carbon b/toolchain/lower/testdata/impl/period_self.carbon index 57d490620994..92e916afb0ff 100644 --- a/toolchain/lower/testdata/impl/period_self.carbon +++ b/toolchain/lower/testdata/impl/period_self.carbon @@ -66,13 +66,13 @@ fn G(a: A(B)) { // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @_CF.Main.a6a60dfee2d7d273(ptr %x) #0 !dbg !12 { -// CHECK:STDOUT: %1 = call ptr @"_CConvert.A.5d7343568c0b5715.Main:As.00d5ad878904f3d1.Core.8c89b09ee520ceaa"(ptr %x), !dbg !16 +// CHECK:STDOUT: %1 = call ptr @"_CConvert.A.5d7343568c0b5715.Main:As.00d5ad878904f3d1.Core.06ad18aa23ecf9a8"(ptr %x), !dbg !16 // CHECK:STDOUT: ret void, !dbg !17 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.A.5d7343568c0b5715.Main:As.00d5ad878904f3d1.Core.8c89b09ee520ceaa"(ptr %self) #0 !dbg !18 { -// CHECK:STDOUT: %1 = call ptr @"_CConvert.A.5d7343568c0b5715.Main:As.00d5ad878904f3d1.Core.8c89b09ee520ceaa"(ptr %self), !dbg !23 +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.A.5d7343568c0b5715.Main:As.00d5ad878904f3d1.Core.06ad18aa23ecf9a8"(ptr %self) #0 !dbg !18 { +// CHECK:STDOUT: %1 = call ptr @"_CConvert.A.5d7343568c0b5715.Main:As.00d5ad878904f3d1.Core.06ad18aa23ecf9a8"(ptr %self), !dbg !23 // CHECK:STDOUT: ret ptr %1, !dbg !24 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -99,7 +99,7 @@ fn G(a: A(B)) { // CHECK:STDOUT: !15 = !DILocalVariable(arg: 1, scope: !12, type: !7) // CHECK:STDOUT: !16 = !DILocation(line: 18, column: 3, scope: !12) // CHECK:STDOUT: !17 = !DILocation(line: 17, column: 1, scope: !12) -// CHECK:STDOUT: !18 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.A.5d7343568c0b5715.Main:As.00d5ad878904f3d1.Core.8c89b09ee520ceaa", scope: null, file: !13, line: 12, type: !19, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !21) +// CHECK:STDOUT: !18 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.A.5d7343568c0b5715.Main:As.00d5ad878904f3d1.Core.06ad18aa23ecf9a8", scope: null, file: !13, line: 12, type: !19, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !21) // CHECK:STDOUT: !19 = !DISubroutineType(types: !20) // CHECK:STDOUT: !20 = !{!7, !7} // CHECK:STDOUT: !21 = !{!22} diff --git a/toolchain/lower/testdata/impl/thunk.carbon b/toolchain/lower/testdata/impl/thunk.carbon index 39a4db2f1b19..0063185fd01c 100644 --- a/toolchain/lower/testdata/impl/thunk.carbon +++ b/toolchain/lower/testdata/impl/thunk.carbon @@ -105,7 +105,7 @@ fn CallCallGeneric(c: C(()), b: B) -> A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define weak_odr void @"_CF:thunk:I.4b54445be9b10a0e.Main:61ea2aba74ab3bf1:I.Main"(ptr sret({ i32 }) %return, ptr %a) #1 !dbg !25 { +// CHECK:STDOUT: define weak_odr void @"_CF:thunk:I.6a2feaaa6331eb92.Main:61ea2aba74ab3bf1:I.Main"(ptr sret({ i32 }) %return, ptr %a) #1 !dbg !25 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc20_19.1.temp = alloca { i32 }, align 4, !dbg !28 // CHECK:STDOUT: %.4.temp = alloca { i32 }, align 4, !dbg !29 @@ -193,7 +193,7 @@ fn CallCallGeneric(c: C(()), b: B) -> A { // CHECK:STDOUT: !22 = !DILocation(line: 20, column: 34, scope: !19) // CHECK:STDOUT: !23 = !DILocation(line: 20, column: 28, scope: !19) // CHECK:STDOUT: !24 = !DILocation(line: 20, column: 21, scope: !19) -// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "F", linkageName: "_CF:thunk:I.4b54445be9b10a0e.Main:61ea2aba74ab3bf1:I.Main", scope: null, file: !1, line: 20, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !26) +// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "F", linkageName: "_CF:thunk:I.6a2feaaa6331eb92.Main:61ea2aba74ab3bf1:I.Main", scope: null, file: !1, line: 20, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !26) // CHECK:STDOUT: !26 = !{!27} // CHECK:STDOUT: !27 = !DILocalVariable(arg: 1, scope: !25, type: !7) // CHECK:STDOUT: !28 = !DILocation(line: 20, column: 3, scope: !25) @@ -268,7 +268,7 @@ fn CallCallGeneric(c: C(()), b: B) -> A { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CCallCallGeneric.Main(ptr sret({}) %return, ptr %c, ptr %b) #0 !dbg !30 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CCallGeneric.Main.311465f47f92d67a(ptr %return, ptr %c, ptr %b), !dbg !34 +// CHECK:STDOUT: call void @_CCallGeneric.Main.8a681e94b982e379(ptr %return, ptr %c, ptr %b), !dbg !34 // CHECK:STDOUT: ret void, !dbg !35 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -286,14 +286,14 @@ fn CallCallGeneric(c: C(()), b: B) -> A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CCallGeneric.Main.311465f47f92d67a(ptr sret({}) %return, ptr %c, ptr %b) #0 !dbg !41 { +// CHECK:STDOUT: define linkonce_odr void @_CCallGeneric.Main.8a681e94b982e379(ptr sret({}) %return, ptr %c, ptr %b) #0 !dbg !41 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @"_CF:thunk:I.eb750e4e5cfbbe32.Main:C.eb057aa32837c84e.Main:I.eb057aa32837c84e.Main.e43630e9a6c38c3f"(ptr %return, ptr %c, ptr %b), !dbg !45 +// CHECK:STDOUT: call void @"_CF:thunk:I.eca2102529696f40.Main:C.eb057aa32837c84e.Main:I.eb057aa32837c84e.Main.e43630e9a6c38c3f"(ptr %return, ptr %c, ptr %b), !dbg !45 // CHECK:STDOUT: ret void, !dbg !46 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CF:thunk:I.eb750e4e5cfbbe32.Main:C.eb057aa32837c84e.Main:I.eb057aa32837c84e.Main.e43630e9a6c38c3f"(ptr sret({}) %return, ptr %self, ptr %x) #2 !dbg !47 { +// CHECK:STDOUT: define linkonce_odr void @"_CF:thunk:I.eca2102529696f40.Main:C.eb057aa32837c84e.Main:I.eb057aa32837c84e.Main.e43630e9a6c38c3f"(ptr sret({}) %return, ptr %self, ptr %x) #2 !dbg !47 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc18_32.2.temp = alloca {}, align 1, !dbg !51 // CHECK:STDOUT: %.6.temp = alloca {}, align 1, !dbg !52 @@ -358,13 +358,13 @@ fn CallCallGeneric(c: C(()), b: B) -> A { // CHECK:STDOUT: !38 = !DILocalVariable(arg: 1, scope: !36, type: !7) // CHECK:STDOUT: !39 = !DILocalVariable(arg: 2, scope: !36, type: !7) // CHECK:STDOUT: !40 = !DILocation(line: 18, column: 34, scope: !36) -// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "CallGeneric", linkageName: "_CCallGeneric.Main.311465f47f92d67a", scope: null, file: !1, line: 25, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) +// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "CallGeneric", linkageName: "_CCallGeneric.Main.8a681e94b982e379", scope: null, file: !1, line: 25, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) // CHECK:STDOUT: !42 = !{!43, !44} // CHECK:STDOUT: !43 = !DILocalVariable(arg: 1, scope: !41, type: !7) // CHECK:STDOUT: !44 = !DILocalVariable(arg: 2, scope: !41, type: !7) // CHECK:STDOUT: !45 = !DILocation(line: 26, column: 10, scope: !41) // CHECK:STDOUT: !46 = !DILocation(line: 26, column: 3, scope: !41) -// CHECK:STDOUT: !47 = distinct !DISubprogram(name: "F", linkageName: "_CF:thunk:I.eb750e4e5cfbbe32.Main:C.eb057aa32837c84e.Main:I.eb057aa32837c84e.Main.e43630e9a6c38c3f", scope: null, file: !1, line: 18, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !48) +// CHECK:STDOUT: !47 = distinct !DISubprogram(name: "F", linkageName: "_CF:thunk:I.eca2102529696f40.Main:C.eb057aa32837c84e.Main:I.eb057aa32837c84e.Main.e43630e9a6c38c3f", scope: null, file: !1, line: 18, type: !22, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !48) // CHECK:STDOUT: !48 = !{!49, !50} // CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !47, type: !7) // CHECK:STDOUT: !50 = !DILocalVariable(arg: 2, scope: !47, type: !7) diff --git a/toolchain/lower/testdata/interface/where.carbon b/toolchain/lower/testdata/interface/where.carbon index 597a2fbfff03..fb7153585989 100644 --- a/toolchain/lower/testdata/interface/where.carbon +++ b/toolchain/lower/testdata/interface/where.carbon @@ -86,7 +86,7 @@ fn G() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CF.Main(ptr %a) #0 !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @"_CF.C.Main:I.5d7343568c0b5715.Main.776dc56337046b6c"(ptr %a), !dbg !10 +// CHECK:STDOUT: call void @"_CF.C.Main:I.5d7343568c0b5715.Main.c8e85d84fc558684"(ptr %a), !dbg !10 // CHECK:STDOUT: ret void, !dbg !11 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -97,7 +97,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CF.C.Main:I.5d7343568c0b5715.Main.776dc56337046b6c"(ptr %self) #0 !dbg !16 { +// CHECK:STDOUT: define linkonce_odr void @"_CF.C.Main:I.5d7343568c0b5715.Main.c8e85d84fc558684"(ptr %self) #0 !dbg !16 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !19 // CHECK:STDOUT: } @@ -123,7 +123,7 @@ fn G() { // CHECK:STDOUT: !13 = !DISubroutineType(types: !14) // CHECK:STDOUT: !14 = !{null} // CHECK:STDOUT: !15 = !DILocation(line: 23, column: 1, scope: !12) -// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "F", linkageName: "_CF.C.Main:I.5d7343568c0b5715.Main.776dc56337046b6c", scope: null, file: !1, line: 16, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !17) +// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "F", linkageName: "_CF.C.Main:I.5d7343568c0b5715.Main.c8e85d84fc558684", scope: null, file: !1, line: 16, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !17) // CHECK:STDOUT: !17 = !{!18} // CHECK:STDOUT: !18 = !DILocalVariable(arg: 1, scope: !16, type: !7) // CHECK:STDOUT: !19 = !DILocation(line: 16, column: 3, scope: !16) diff --git a/toolchain/lower/testdata/interop/cpp/class/import/destructor.carbon b/toolchain/lower/testdata/interop/cpp/class/import/destructor.carbon index a8ab77729461..9f9034232221 100644 --- a/toolchain/lower/testdata/interop/cpp/class/import/destructor.carbon +++ b/toolchain/lower/testdata/interop/cpp/class/import/destructor.carbon @@ -160,9 +160,9 @@ fn DestroyAIndirectly() { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CDestroyAIndirectly.Main() #0 !dbg !48 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CDestroyIndirectly.Main.e5fba025cd74a7f8(), !dbg !49 -// CHECK:STDOUT: call void @_CDestroyIndirectly.Main.941e8170f59f4395(), !dbg !50 -// CHECK:STDOUT: call void @_CDestroyIndirectly.Main.792f9aee5f4c6f04(), !dbg !51 +// CHECK:STDOUT: call void @_CDestroyIndirectly.Main.2a28a415478a31f5(), !dbg !49 +// CHECK:STDOUT: call void @_CDestroyIndirectly.Main.a0f524e76111d8a1(), !dbg !50 +// CHECK:STDOUT: call void @_CDestroyIndirectly.Main.bf648cc7ac7f04db(), !dbg !51 // CHECK:STDOUT: ret void, !dbg !52 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -173,7 +173,7 @@ fn DestroyAIndirectly() { // CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #5 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CDestroyIndirectly.Main.e5fba025cd74a7f8() #0 !dbg !53 { +// CHECK:STDOUT: define linkonce_odr void @_CDestroyIndirectly.Main.2a28a415478a31f5() #0 !dbg !53 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %a.var = alloca {}, align 1, !dbg !54 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %a.var), !dbg !54 @@ -183,7 +183,7 @@ fn DestroyAIndirectly() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CDestroyIndirectly.Main.941e8170f59f4395() #0 !dbg !57 { +// CHECK:STDOUT: define linkonce_odr void @_CDestroyIndirectly.Main.a0f524e76111d8a1() #0 !dbg !57 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %a.var = alloca {}, align 1, !dbg !58 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %a.var), !dbg !58 @@ -193,7 +193,7 @@ fn DestroyAIndirectly() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CDestroyIndirectly.Main.792f9aee5f4c6f04() #0 !dbg !61 { +// CHECK:STDOUT: define linkonce_odr void @_CDestroyIndirectly.Main.bf648cc7ac7f04db() #0 !dbg !61 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %a.var = alloca {}, align 1, !dbg !62 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %a.var), !dbg !62 @@ -271,15 +271,15 @@ fn DestroyAIndirectly() { // CHECK:STDOUT: !50 = !DILocation(line: 40, column: 3, scope: !48) // CHECK:STDOUT: !51 = !DILocation(line: 41, column: 3, scope: !48) // CHECK:STDOUT: !52 = !DILocation(line: 38, column: 1, scope: !48) -// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "DestroyIndirectly", linkageName: "_CDestroyIndirectly.Main.e5fba025cd74a7f8", scope: null, file: !1, line: 34, type: !13, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "DestroyIndirectly", linkageName: "_CDestroyIndirectly.Main.2a28a415478a31f5", scope: null, file: !1, line: 34, type: !13, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !54 = !DILocation(line: 35, column: 3, scope: !53) // CHECK:STDOUT: !55 = !DILocation(line: 35, column: 21, scope: !53) // CHECK:STDOUT: !56 = !DILocation(line: 34, column: 1, scope: !53) -// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "DestroyIndirectly", linkageName: "_CDestroyIndirectly.Main.941e8170f59f4395", scope: null, file: !1, line: 34, type: !13, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "DestroyIndirectly", linkageName: "_CDestroyIndirectly.Main.a0f524e76111d8a1", scope: null, file: !1, line: 34, type: !13, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !58 = !DILocation(line: 35, column: 3, scope: !57) // CHECK:STDOUT: !59 = !DILocation(line: 35, column: 21, scope: !57) // CHECK:STDOUT: !60 = !DILocation(line: 34, column: 1, scope: !57) -// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "DestroyIndirectly", linkageName: "_CDestroyIndirectly.Main.792f9aee5f4c6f04", scope: null, file: !1, line: 34, type: !13, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "DestroyIndirectly", linkageName: "_CDestroyIndirectly.Main.bf648cc7ac7f04db", scope: null, file: !1, line: 34, type: !13, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !62 = !DILocation(line: 35, column: 3, scope: !61) // CHECK:STDOUT: !63 = !DILocation(line: 35, column: 21, scope: !61) // CHECK:STDOUT: !64 = !DILocation(line: 34, column: 1, scope: !61) diff --git a/toolchain/lower/testdata/interop/cpp/function/export/generic.carbon b/toolchain/lower/testdata/interop/cpp/function/export/generic.carbon index f0bd2f44e78d..f09791fc5d7e 100644 --- a/toolchain/lower/testdata/interop/cpp/function/export/generic.carbon +++ b/toolchain/lower/testdata/interop/cpp/function/export/generic.carbon @@ -132,7 +132,7 @@ fn Run() { // CHECK:STDOUT: define internal void @_ZN6CarbonL1FENS_1AE() #2 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %0 = alloca %"class.Carbon::A", align 1 -// CHECK:STDOUT: call void @_CF__carbon_thunk.83afdff581006d1a.Main(ptr noundef nonnull align 1 %0) +// CHECK:STDOUT: call void @_CF__carbon_thunk.26f2099a79512a5d.Main(ptr noundef nonnull align 1 %0) // CHECK:STDOUT: ret void // CHECK:STDOUT: } // CHECK:STDOUT: @@ -152,7 +152,7 @@ fn Run() { // CHECK:STDOUT: define internal void @_ZN6CarbonL1FENS_1BE() #2 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %0 = alloca %"class.Carbon::B", align 1 -// CHECK:STDOUT: call void @_CF__carbon_thunk.36f470e96b413347.Main(ptr noundef nonnull align 1 %0) +// CHECK:STDOUT: call void @_CF__carbon_thunk.7a3b9f04ddf4269e.Main(ptr noundef nonnull align 1 %0) // CHECK:STDOUT: ret void // CHECK:STDOUT: } // CHECK:STDOUT: @@ -208,16 +208,16 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define void @_CF__carbon_thunk.83afdff581006d1a.Main(ptr %_) #4 !dbg !44 { +// CHECK:STDOUT: define void @_CF__carbon_thunk.26f2099a79512a5d.Main(ptr %_) #4 !dbg !44 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CF.Main.3e1f7ed08cd9ee58(ptr %_), !dbg !47 +// CHECK:STDOUT: call void @_CF.Main.6662a1ffb773360a(ptr %_), !dbg !47 // CHECK:STDOUT: ret void, !dbg !47 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define void @_CF__carbon_thunk.36f470e96b413347.Main(ptr %_) #4 !dbg !48 { +// CHECK:STDOUT: define void @_CF__carbon_thunk.7a3b9f04ddf4269e.Main(ptr %_) #4 !dbg !48 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @_CF.Main.bd1b6d59f703c190(ptr %_), !dbg !51 +// CHECK:STDOUT: call void @_CF.Main.d53b17eed3ce903c(ptr %_), !dbg !51 // CHECK:STDOUT: ret void, !dbg !51 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -229,14 +229,14 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.3e1f7ed08cd9ee58(ptr %t) #4 !dbg !58 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.6662a1ffb773360a(ptr %t) #4 !dbg !58 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @"_CDoit.A.Main:I.Main"(ptr %t), !dbg !61 // CHECK:STDOUT: ret void, !dbg !62 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CF.Main.bd1b6d59f703c190(ptr %t) #4 !dbg !63 { +// CHECK:STDOUT: define linkonce_odr void @_CF.Main.d53b17eed3ce903c(ptr %t) #4 !dbg !63 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @"_CDoit.B.Main:I.Main"(ptr %t), !dbg !66 // CHECK:STDOUT: ret void, !dbg !67 @@ -303,11 +303,11 @@ fn Run() { // CHECK:STDOUT: !41 = !{!42} // CHECK:STDOUT: !42 = !DILocalVariable(arg: 1, scope: !40, type: !20) // CHECK:STDOUT: !43 = !DILocation(line: 13, column: 1, scope: !40) -// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "F__carbon_thunk.83afdff581006d1a", linkageName: "_CF__carbon_thunk.83afdff581006d1a.Main", scope: null, file: !1, line: 19, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !45) +// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "F__carbon_thunk.26f2099a79512a5d", linkageName: "_CF__carbon_thunk.26f2099a79512a5d.Main", scope: null, file: !1, line: 19, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !45) // CHECK:STDOUT: !45 = !{!46} // CHECK:STDOUT: !46 = !DILocalVariable(arg: 1, scope: !44, type: !20) // CHECK:STDOUT: !47 = !DILocation(line: 19, column: 1, scope: !44) -// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "F__carbon_thunk.36f470e96b413347", linkageName: "_CF__carbon_thunk.36f470e96b413347.Main", scope: null, file: !1, line: 19, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) +// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "F__carbon_thunk.7a3b9f04ddf4269e", linkageName: "_CF__carbon_thunk.7a3b9f04ddf4269e.Main", scope: null, file: !1, line: 19, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) // CHECK:STDOUT: !49 = !{!50} // CHECK:STDOUT: !50 = !DILocalVariable(arg: 1, scope: !48, type: !20) // CHECK:STDOUT: !51 = !DILocation(line: 19, column: 1, scope: !48) @@ -317,12 +317,12 @@ fn Run() { // CHECK:STDOUT: !55 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed) // CHECK:STDOUT: !56 = !DILocation(line: 33, column: 3, scope: !52) // CHECK:STDOUT: !57 = !DILocation(line: 32, column: 1, scope: !52) -// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.3e1f7ed08cd9ee58", scope: null, file: !1, line: 19, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !59) +// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.6662a1ffb773360a", scope: null, file: !1, line: 19, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !59) // CHECK:STDOUT: !59 = !{!60} // CHECK:STDOUT: !60 = !DILocalVariable(arg: 1, scope: !58, type: !20) // CHECK:STDOUT: !61 = !DILocation(line: 20, column: 3, scope: !58) // CHECK:STDOUT: !62 = !DILocation(line: 19, column: 1, scope: !58) -// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.bd1b6d59f703c190", scope: null, file: !1, line: 19, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !64) +// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.d53b17eed3ce903c", scope: null, file: !1, line: 19, type: !18, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !64) // CHECK:STDOUT: !64 = !{!65} // CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !63, type: !20) // CHECK:STDOUT: !66 = !DILocation(line: 20, column: 3, scope: !63) diff --git a/toolchain/lower/testdata/interop/cpp/nullptr.carbon b/toolchain/lower/testdata/interop/cpp/nullptr.carbon index 80dc65d3d864..a6672e4f7d2b 100644 --- a/toolchain/lower/testdata/interop/cpp/nullptr.carbon +++ b/toolchain/lower/testdata/interop/cpp/nullptr.carbon @@ -60,12 +60,12 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc12_18.2.temp = alloca ptr, align 8, !dbg !15 // CHECK:STDOUT: %.loc14_22.1.temp = alloca ptr, align 8, !dbg !16 -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.1af45ef0e8868908.Core.84588f41d61dafba"(ptr poison), !dbg !15 +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.49279a15ecfc119b.Core.84588f41d61dafba"(ptr poison), !dbg !15 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc12_18.2.temp), !dbg !15 // CHECK:STDOUT: store ptr %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call, ptr %.loc12_18.2.temp, align 8, !dbg !15 // CHECK:STDOUT: %.loc12_18.4 = load ptr, ptr %.loc12_18.2.temp, align 8, !dbg !15 // CHECK:STDOUT: call void @_Z7TakePtrPi(ptr %.loc12_18.4), !dbg !17 -// CHECK:STDOUT: call void @"_COp.e4486cf6f59c297b:core.Destroy.Core"(ptr %.loc12_18.2.temp), !dbg !15 +// CHECK:STDOUT: call void @"_COp.982ecde730935004:core.Destroy.Core"(ptr %.loc12_18.2.temp), !dbg !15 // CHECK:STDOUT: %Cpp.nullptr_t.as.Copy.impl.Op.call = call ptr @"_COp.NullptrT.CppCompat.Core:Copy.Core"(ptr poison), !dbg !16 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc14_22.1.temp), !dbg !16 // CHECK:STDOUT: store ptr %Cpp.nullptr_t.as.Copy.impl.Op.call, ptr %.loc14_22.1.temp, align 8, !dbg !16 @@ -89,7 +89,7 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.e4486cf6f59c297b:core.Destroy.Core"(ptr %self) #0 !dbg !31 { +// CHECK:STDOUT: define weak_odr void @"_COp.982ecde730935004:core.Destroy.Core"(ptr %self) #0 !dbg !31 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !34 // CHECK:STDOUT: } @@ -151,7 +151,7 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %a.var), !dbg !61 // CHECK:STDOUT: call void @_Z13ReturnNullptrv.carbon_thunk.(ptr %a.var), !dbg !62 // CHECK:STDOUT: %.loc28_10 = load ptr, ptr %a.var, align 8, !dbg !63 -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.1af45ef0e8868908.Core.84588f41d61dafba"(ptr %.loc28_10), !dbg !64 +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.49279a15ecfc119b.Core.84588f41d61dafba"(ptr %.loc28_10), !dbg !64 // CHECK:STDOUT: call void @"_COp.37a0be3fec6961f4:core.Destroy.Core"(ptr %a.var), !dbg !61 // CHECK:STDOUT: ret ptr %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call, !dbg !64 // CHECK:STDOUT: } @@ -174,7 +174,7 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc32_28.1.temp), !dbg !68 // CHECK:STDOUT: call void @_Z13ReturnNullptrv.carbon_thunk.(ptr %.loc32_28.1.temp), !dbg !68 // CHECK:STDOUT: %.loc32_28.4 = load ptr, ptr %.loc32_28.1.temp, align 8, !dbg !68 -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.1af45ef0e8868908.Core.84588f41d61dafba"(ptr %.loc32_28.4), !dbg !69 +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.49279a15ecfc119b.Core.84588f41d61dafba"(ptr %.loc32_28.4), !dbg !69 // CHECK:STDOUT: call void @"_COp.37a0be3fec6961f4:core.Destroy.Core"(ptr %.loc32_28.1.temp), !dbg !68 // CHECK:STDOUT: ret ptr %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call, !dbg !69 // CHECK:STDOUT: } @@ -182,13 +182,13 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define ptr @_CConvertNullptrConstant.Main() #0 !dbg !70 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.1af45ef0e8868908.Core.84588f41d61dafba"(ptr poison), !dbg !71 +// CHECK:STDOUT: %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.49279a15ecfc119b.Core.84588f41d61dafba"(ptr poison), !dbg !71 // CHECK:STDOUT: ret ptr %Cpp.nullptr_t.as.ImplicitAs.impl.Convert.call, !dbg !71 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.1af45ef0e8868908.Core.84588f41d61dafba"(ptr %self) #0 !dbg !72 { -// CHECK:STDOUT: %1 = call ptr @_CNone.Optional.Core.435c2a9476b90cdb(), !dbg !78 +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.49279a15ecfc119b.Core.84588f41d61dafba"(ptr %self) #0 !dbg !72 { +// CHECK:STDOUT: %1 = call ptr @_CNone.Optional.Core.6e9e957697159b53(), !dbg !78 // CHECK:STDOUT: ret ptr %1, !dbg !79 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -198,7 +198,7 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: declare ptr @_CMake.NullptrT.CppCompat.Core() // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CNone.Optional.Core.435c2a9476b90cdb() #0 !dbg !80 { +// CHECK:STDOUT: define linkonce_odr ptr @_CNone.Optional.Core.6e9e957697159b53() #0 !dbg !80 { // CHECK:STDOUT: ret ptr null, !dbg !82 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -207,7 +207,7 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: declare ptr @_Z13ReturnNullptrv() #1 // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.1af45ef0e8868908.Core.84588f41d61dafba", { 3, 2, 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_CConvert.NullptrT.CppCompat.Core:ImplicitAs.49279a15ecfc119b.Core.84588f41d61dafba", { 3, 2, 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 4, 3, 2, 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -250,7 +250,7 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: !28 = !{!29} // CHECK:STDOUT: !29 = !DILocalVariable(arg: 1, scope: !27, type: !23) // CHECK:STDOUT: !30 = !DILocation(line: 12, column: 15, scope: !27) -// CHECK:STDOUT: !31 = distinct !DISubprogram(name: "Op", linkageName: "_COp.e4486cf6f59c297b:core.Destroy.Core", scope: null, file: !1, line: 12, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !32) +// CHECK:STDOUT: !31 = distinct !DISubprogram(name: "Op", linkageName: "_COp.982ecde730935004:core.Destroy.Core", scope: null, file: !1, line: 12, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !32) // CHECK:STDOUT: !32 = !{!33} // CHECK:STDOUT: !33 = !DILocalVariable(arg: 1, scope: !31, type: !23) // CHECK:STDOUT: !34 = !DILocation(line: 12, column: 15, scope: !31) @@ -291,7 +291,7 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: !69 = !DILocation(line: 32, column: 3, scope: !67) // CHECK:STDOUT: !70 = distinct !DISubprogram(name: "ConvertNullptrConstant", linkageName: "_CConvertNullptrConstant.Main", scope: null, file: !1, line: 35, type: !51, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !71 = !DILocation(line: 36, column: 3, scope: !70) -// CHECK:STDOUT: !72 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.NullptrT.CppCompat.Core:ImplicitAs.1af45ef0e8868908.Core.84588f41d61dafba", scope: null, file: !73, line: 51, type: !74, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !76) +// CHECK:STDOUT: !72 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.NullptrT.CppCompat.Core:ImplicitAs.49279a15ecfc119b.Core.84588f41d61dafba", scope: null, file: !73, line: 51, type: !74, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !76) // CHECK:STDOUT: !73 = !DIFile(filename: "{{.*}}/prelude/types/cpp/nullptr.carbon", directory: "") // CHECK:STDOUT: !74 = !DISubroutineType(types: !75) // CHECK:STDOUT: !75 = !{!23, !23} @@ -299,7 +299,7 @@ fn ConvertNullptrConstant() -> Core.Optional(i32*) { // CHECK:STDOUT: !77 = !DILocalVariable(arg: 1, scope: !72, type: !23) // CHECK:STDOUT: !78 = !DILocation(line: 52, column: 14, scope: !72) // CHECK:STDOUT: !79 = !DILocation(line: 52, column: 7, scope: !72) -// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.435c2a9476b90cdb", scope: null, file: !81, line: 30, type: !51, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.6e9e957697159b53", scope: null, file: !81, line: 30, type: !51, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !81 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !82 = !DILocation(line: 31, column: 5, scope: !80) // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/interop/cpp/pointer.carbon b/toolchain/lower/testdata/interop/cpp/pointer.carbon index f994590f51c0..5350a3116780 100644 --- a/toolchain/lower/testdata/interop/cpp/pointer.carbon +++ b/toolchain/lower/testdata/interop/cpp/pointer.carbon @@ -222,12 +222,12 @@ fn Convert() { // CHECK:STDOUT: define void @_CPassNonnullPtr.Main(ptr %p) #0 !dbg !19 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc22_15.2.temp = alloca ptr, align 8, !dbg !22 -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.584546da881406f4"(ptr %p), !dbg !22 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.331b8c91728880af"(ptr %p), !dbg !22 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc22_15.2.temp), !dbg !22 // CHECK:STDOUT: store ptr %U.as_type.as.ImplicitAs.impl.Convert.call, ptr %.loc22_15.2.temp, align 8, !dbg !22 // CHECK:STDOUT: %.loc22_15.4 = load ptr, ptr %.loc22_15.2.temp, align 8, !dbg !22 // CHECK:STDOUT: call void @_Z7TakePtrP1C(ptr %.loc22_15.4), !dbg !23 -// CHECK:STDOUT: call void @"_COp.45d383ce33019c14:core.Destroy.Core"(ptr %.loc22_15.2.temp), !dbg !22 +// CHECK:STDOUT: call void @"_COp.0e8755a14ff0c1c2:core.Destroy.Core"(ptr %.loc22_15.2.temp), !dbg !22 // CHECK:STDOUT: ret void, !dbg !24 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -246,7 +246,7 @@ fn Convert() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.45d383ce33019c14:core.Destroy.Core"(ptr %self) #0 !dbg !33 { +// CHECK:STDOUT: define weak_odr void @"_COp.0e8755a14ff0c1c2:core.Destroy.Core"(ptr %self) #0 !dbg !33 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !36 // CHECK:STDOUT: } @@ -270,12 +270,12 @@ fn Convert() { // CHECK:STDOUT: define void @_CPassNonnullPtrWithThunk.Main(ptr %p) #0 !dbg !46 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc35_24.2.temp = alloca ptr, align 8, !dbg !49 -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.584546da881406f4"(ptr %p), !dbg !49 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.331b8c91728880af"(ptr %p), !dbg !49 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc35_24.2.temp), !dbg !49 // CHECK:STDOUT: store ptr %U.as_type.as.ImplicitAs.impl.Convert.call, ptr %.loc35_24.2.temp, align 8, !dbg !49 // CHECK:STDOUT: %.loc35_24.4 = load ptr, ptr %.loc35_24.2.temp, align 8, !dbg !49 // CHECK:STDOUT: call void @_Z16TakePtrWithThunkP1Ci.carbon_thunk._(ptr %.loc35_24.4), !dbg !50 -// CHECK:STDOUT: call void @"_COp.45d383ce33019c14:core.Destroy.Core"(ptr %.loc35_24.2.temp), !dbg !49 +// CHECK:STDOUT: call void @"_COp.0e8755a14ff0c1c2:core.Destroy.Core"(ptr %.loc35_24.2.temp), !dbg !49 // CHECK:STDOUT: ret void, !dbg !51 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -304,8 +304,8 @@ fn Convert() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.584546da881406f4"(ptr %self) #0 !dbg !58 { -// CHECK:STDOUT: %1 = call ptr @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.cb68282b79f349c7"(ptr %self), !dbg !64 +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.331b8c91728880af"(ptr %self) #0 !dbg !58 { +// CHECK:STDOUT: %1 = call ptr @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.f65d494664285214"(ptr %self), !dbg !64 // CHECK:STDOUT: ret ptr %1, !dbg !65 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -313,13 +313,13 @@ fn Convert() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #3 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.cb68282b79f349c7"(ptr %self) #0 !dbg !66 { -// CHECK:STDOUT: %1 = call ptr @_CSome.Optional.Core.cb68282b79f349c7(ptr %self), !dbg !69 +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.f65d494664285214"(ptr %self) #0 !dbg !66 { +// CHECK:STDOUT: %1 = call ptr @_CSome.Optional.Core.f65d494664285214(ptr %self), !dbg !69 // CHECK:STDOUT: ret ptr %1, !dbg !70 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CSome.Optional.Core.cb68282b79f349c7(ptr %value) #0 !dbg !71 { +// CHECK:STDOUT: define linkonce_odr ptr @_CSome.Optional.Core.f65d494664285214(ptr %value) #0 !dbg !71 { // CHECK:STDOUT: %1 = call ptr @"_CSome.e8f8f92d3d08d149:OptionalStorage.Core.fc8b3e0dc71c345e"(ptr %value), !dbg !74 // CHECK:STDOUT: ret ptr %1, !dbg !75 // CHECK:STDOUT: } @@ -340,7 +340,7 @@ fn Convert() { // CHECK:STDOUT: declare noundef ptr @_Z18ReturnPtrWithThunki(i32 noundef) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.584546da881406f4", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.331b8c91728880af", { 1, 0 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 2, 1 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -385,7 +385,7 @@ fn Convert() { // CHECK:STDOUT: !30 = !{!31} // CHECK:STDOUT: !31 = !DILocalVariable(arg: 1, scope: !29, type: !15) // CHECK:STDOUT: !32 = !DILocation(line: 22, column: 15, scope: !29) -// CHECK:STDOUT: !33 = distinct !DISubprogram(name: "Op", linkageName: "_COp.45d383ce33019c14:core.Destroy.Core", scope: null, file: !1, line: 22, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !34) +// CHECK:STDOUT: !33 = distinct !DISubprogram(name: "Op", linkageName: "_COp.0e8755a14ff0c1c2:core.Destroy.Core", scope: null, file: !1, line: 22, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !34) // CHECK:STDOUT: !34 = !{!35} // CHECK:STDOUT: !35 = !DILocalVariable(arg: 1, scope: !33, type: !15) // CHECK:STDOUT: !36 = !DILocation(line: 22, column: 15, scope: !33) @@ -410,7 +410,7 @@ fn Convert() { // CHECK:STDOUT: !55 = distinct !DISubprogram(name: "ReturnPtrWithThunk", linkageName: "_CReturnPtrWithThunk.Main", scope: null, file: !1, line: 38, type: !38, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !56 = !DILocation(line: 39, column: 10, scope: !55) // CHECK:STDOUT: !57 = !DILocation(line: 39, column: 3, scope: !55) -// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.584546da881406f4", scope: null, file: !59, line: 105, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !62) +// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.331b8c91728880af", scope: null, file: !59, line: 105, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !62) // CHECK:STDOUT: !59 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !60 = !DISubroutineType(types: !61) // CHECK:STDOUT: !61 = !{!15, !15} @@ -418,12 +418,12 @@ fn Convert() { // CHECK:STDOUT: !63 = !DILocalVariable(arg: 1, scope: !58, type: !15) // CHECK:STDOUT: !64 = !DILocation(line: 106, column: 12, scope: !58) // CHECK:STDOUT: !65 = !DILocation(line: 106, column: 5, scope: !58) -// CHECK:STDOUT: !66 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.cb68282b79f349c7", scope: null, file: !59, line: 80, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !67) +// CHECK:STDOUT: !66 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.f65d494664285214", scope: null, file: !59, line: 80, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !67) // CHECK:STDOUT: !67 = !{!68} // CHECK:STDOUT: !68 = !DILocalVariable(arg: 1, scope: !66, type: !15) // CHECK:STDOUT: !69 = !DILocation(line: 81, column: 12, scope: !66) // CHECK:STDOUT: !70 = !DILocation(line: 81, column: 5, scope: !66) -// CHECK:STDOUT: !71 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.cb68282b79f349c7", scope: null, file: !59, line: 33, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) +// CHECK:STDOUT: !71 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.f65d494664285214", scope: null, file: !59, line: 33, type: !60, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) // CHECK:STDOUT: !72 = !{!73} // CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !71, type: !15) // CHECK:STDOUT: !74 = !DILocation(line: 34, column: 12, scope: !71) @@ -451,13 +451,13 @@ fn Convert() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc9_21.1.temp), !dbg !15 // CHECK:STDOUT: store ptr %make.call, ptr %.loc9_21.1.temp, align 8, !dbg !15 // CHECK:STDOUT: %.loc9_21.3 = load ptr, ptr %.loc9_21.1.temp, align 8, !dbg !15 -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.df45ad00f0c8a8b1"(ptr %.loc9_21.3), !dbg !15 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.7a59268f02b553a8"(ptr %.loc9_21.3), !dbg !15 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc9_21.5.temp), !dbg !15 // CHECK:STDOUT: store ptr %U.as_type.as.ImplicitAs.impl.Convert.call, ptr %.loc9_21.5.temp, align 8, !dbg !15 // CHECK:STDOUT: %.loc9_21.7 = load ptr, ptr %.loc9_21.5.temp, align 8, !dbg !15 // CHECK:STDOUT: call void @_Z4takePK1C(ptr %.loc9_21.7), !dbg !16 -// CHECK:STDOUT: call void @"_COp.4734ec17f811d915:core.Destroy.Core"(ptr %.loc9_21.5.temp), !dbg !15 -// CHECK:STDOUT: call void @"_COp.ea48c2a6b4bbf7d4:core.Destroy.Core"(ptr %.loc9_21.1.temp), !dbg !15 +// CHECK:STDOUT: call void @"_COp.c188d113b8cbf2db:core.Destroy.Core"(ptr %.loc9_21.5.temp), !dbg !15 +// CHECK:STDOUT: call void @"_COp.0e8755a14ff0c1c2:core.Destroy.Core"(ptr %.loc9_21.1.temp), !dbg !15 // CHECK:STDOUT: ret void, !dbg !17 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -478,7 +478,7 @@ fn Convert() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.4734ec17f811d915:core.Destroy.Core"(ptr %self) #0 !dbg !29 { +// CHECK:STDOUT: define weak_odr void @"_COp.c188d113b8cbf2db:core.Destroy.Core"(ptr %self) #0 !dbg !29 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !32 // CHECK:STDOUT: } @@ -496,7 +496,7 @@ fn Convert() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.ea48c2a6b4bbf7d4:core.Destroy.Core"(ptr %self) #0 !dbg !41 { +// CHECK:STDOUT: define weak_odr void @"_COp.0e8755a14ff0c1c2:core.Destroy.Core"(ptr %self) #0 !dbg !41 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !44 // CHECK:STDOUT: } @@ -505,54 +505,54 @@ fn Convert() { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #2 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.df45ad00f0c8a8b1"(ptr %self) #0 !dbg !45 { -// CHECK:STDOUT: %1 = call ptr @"_CConvert.Optional.c661605f12aa337a.Core:OptionalAs.1dac4564233fecd1.Core.5df907dcfc8a3b68"(ptr %self), !dbg !51 +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.7a59268f02b553a8"(ptr %self) #0 !dbg !45 { +// CHECK:STDOUT: %1 = call ptr @"_CConvert.Optional.c661605f12aa337a.Core:OptionalAs.1dac4564233fecd1.Core.703e8dd9cedc135a"(ptr %self), !dbg !51 // CHECK:STDOUT: ret ptr %1, !dbg !52 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.Optional.c661605f12aa337a.Core:OptionalAs.1dac4564233fecd1.Core.5df907dcfc8a3b68"(ptr %self) #0 !dbg !53 { +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.Optional.c661605f12aa337a.Core:OptionalAs.1dac4564233fecd1.Core.703e8dd9cedc135a"(ptr %self) #0 !dbg !53 { // CHECK:STDOUT: %temp = alloca ptr, align 8, !dbg !56 // CHECK:STDOUT: %temp1 = alloca ptr, align 8, !dbg !56 -// CHECK:STDOUT: %1 = call i1 @_CHasValue.Optional.Core.32cfe636e1ecfb20(ptr %self), !dbg !57 +// CHECK:STDOUT: %1 = call i1 @_CHasValue.Optional.Core.f65d494664285214(ptr %self), !dbg !57 // CHECK:STDOUT: br i1 %1, label %2, label %7, !dbg !58 // CHECK:STDOUT: // CHECK:STDOUT: 2: ; preds = %0 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %temp), !dbg !56 -// CHECK:STDOUT: %3 = call ptr @_CGet.Optional.Core.32cfe636e1ecfb20(ptr %self), !dbg !56 +// CHECK:STDOUT: %3 = call ptr @_CGet.Optional.Core.f65d494664285214(ptr %self), !dbg !56 // CHECK:STDOUT: store ptr %3, ptr %temp, align 8, !dbg !56 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %temp1), !dbg !56 // CHECK:STDOUT: %4 = load ptr, ptr %temp, align 8, !dbg !56 // CHECK:STDOUT: store ptr %4, ptr %temp1, align 8, !dbg !56 // CHECK:STDOUT: %5 = load ptr, ptr %temp1, align 8, !dbg !56 -// CHECK:STDOUT: %6 = call ptr @_CSome.Optional.Core.717db3d1619a5b16(ptr %5), !dbg !59 +// CHECK:STDOUT: %6 = call ptr @_CSome.Optional.Core.f04d7238fb50aa85(ptr %5), !dbg !59 // CHECK:STDOUT: ret ptr %6, !dbg !60 // CHECK:STDOUT: // CHECK:STDOUT: 7: ; preds = %0 -// CHECK:STDOUT: %8 = call ptr @_CNone.Optional.Core.717db3d1619a5b16(), !dbg !61 +// CHECK:STDOUT: %8 = call ptr @_CNone.Optional.Core.f04d7238fb50aa85(), !dbg !61 // CHECK:STDOUT: ret ptr %8, !dbg !62 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.32cfe636e1ecfb20(ptr %self) #0 !dbg !63 { +// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.f65d494664285214(ptr %self) #0 !dbg !63 { // CHECK:STDOUT: %1 = call i1 @"_CHas.e8f8f92d3d08d149:OptionalStorage.Core.fc8b3e0dc71c345e"(ptr %self), !dbg !66 // CHECK:STDOUT: ret i1 %1, !dbg !67 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CGet.Optional.Core.32cfe636e1ecfb20(ptr %self) #0 !dbg !68 { +// CHECK:STDOUT: define linkonce_odr ptr @_CGet.Optional.Core.f65d494664285214(ptr %self) #0 !dbg !68 { // CHECK:STDOUT: %1 = call ptr @"_CGet.e8f8f92d3d08d149:OptionalStorage.Core.fc8b3e0dc71c345e"(ptr %self), !dbg !71 // CHECK:STDOUT: ret ptr %1, !dbg !72 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CSome.Optional.Core.717db3d1619a5b16(ptr %value) #0 !dbg !73 { +// CHECK:STDOUT: define linkonce_odr ptr @_CSome.Optional.Core.f04d7238fb50aa85(ptr %value) #0 !dbg !73 { // CHECK:STDOUT: %1 = call ptr @"_CSome.e8f8f92d3d08d149:OptionalStorage.Core.8753681fdb639539"(ptr %value), !dbg !76 // CHECK:STDOUT: ret ptr %1, !dbg !77 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CNone.Optional.Core.717db3d1619a5b16() #0 !dbg !78 { +// CHECK:STDOUT: define linkonce_odr ptr @_CNone.Optional.Core.f04d7238fb50aa85() #0 !dbg !78 { // CHECK:STDOUT: ret ptr null, !dbg !81 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -619,7 +619,7 @@ fn Convert() { // CHECK:STDOUT: !26 = !{!27} // CHECK:STDOUT: !27 = !DILocalVariable(arg: 1, scope: !25, type: !21) // CHECK:STDOUT: !28 = !DILocation(line: 9, column: 12, scope: !25) -// CHECK:STDOUT: !29 = distinct !DISubprogram(name: "Op", linkageName: "_COp.4734ec17f811d915:core.Destroy.Core", scope: null, file: !1, line: 9, type: !19, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !30) +// CHECK:STDOUT: !29 = distinct !DISubprogram(name: "Op", linkageName: "_COp.c188d113b8cbf2db:core.Destroy.Core", scope: null, file: !1, line: 9, type: !19, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !30) // CHECK:STDOUT: !30 = !{!31} // CHECK:STDOUT: !31 = !DILocalVariable(arg: 1, scope: !29, type: !21) // CHECK:STDOUT: !32 = !DILocation(line: 9, column: 12, scope: !29) @@ -631,11 +631,11 @@ fn Convert() { // CHECK:STDOUT: !38 = !{!39} // CHECK:STDOUT: !39 = !DILocalVariable(arg: 1, scope: !37, type: !21) // CHECK:STDOUT: !40 = !DILocation(line: 9, column: 12, scope: !37) -// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "Op", linkageName: "_COp.ea48c2a6b4bbf7d4:core.Destroy.Core", scope: null, file: !1, line: 9, type: !19, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) +// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "Op", linkageName: "_COp.0e8755a14ff0c1c2:core.Destroy.Core", scope: null, file: !1, line: 9, type: !19, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !42) // CHECK:STDOUT: !42 = !{!43} // CHECK:STDOUT: !43 = !DILocalVariable(arg: 1, scope: !41, type: !21) // CHECK:STDOUT: !44 = !DILocation(line: 9, column: 12, scope: !41) -// CHECK:STDOUT: !45 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.df45ad00f0c8a8b1", scope: null, file: !46, line: 105, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) +// CHECK:STDOUT: !45 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.7a59268f02b553a8", scope: null, file: !46, line: 105, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !49) // CHECK:STDOUT: !46 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !47 = !DISubroutineType(types: !48) // CHECK:STDOUT: !48 = !{!21, !21} @@ -643,7 +643,7 @@ fn Convert() { // CHECK:STDOUT: !50 = !DILocalVariable(arg: 1, scope: !45, type: !21) // CHECK:STDOUT: !51 = !DILocation(line: 106, column: 12, scope: !45) // CHECK:STDOUT: !52 = !DILocation(line: 106, column: 5, scope: !45) -// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Optional.c661605f12aa337a.Core:OptionalAs.1dac4564233fecd1.Core.5df907dcfc8a3b68", scope: null, file: !46, line: 95, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !54) +// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Optional.c661605f12aa337a.Core:OptionalAs.1dac4564233fecd1.Core.703e8dd9cedc135a", scope: null, file: !46, line: 95, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !54) // CHECK:STDOUT: !54 = !{!55} // CHECK:STDOUT: !55 = !DILocalVariable(arg: 1, scope: !53, type: !21) // CHECK:STDOUT: !56 = !DILocation(line: 97, column: 31, scope: !53) @@ -653,22 +653,22 @@ fn Convert() { // CHECK:STDOUT: !60 = !DILocation(line: 97, column: 7, scope: !53) // CHECK:STDOUT: !61 = !DILocation(line: 99, column: 12, scope: !53) // CHECK:STDOUT: !62 = !DILocation(line: 99, column: 5, scope: !53) -// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.32cfe636e1ecfb20", scope: null, file: !46, line: 36, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !64) +// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.f65d494664285214", scope: null, file: !46, line: 36, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !64) // CHECK:STDOUT: !64 = !{!65} // CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !63, type: !21) // CHECK:STDOUT: !66 = !DILocation(line: 37, column: 12, scope: !63) // CHECK:STDOUT: !67 = !DILocation(line: 37, column: 5, scope: !63) -// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.32cfe636e1ecfb20", scope: null, file: !46, line: 39, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !69) +// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.f65d494664285214", scope: null, file: !46, line: 39, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !69) // CHECK:STDOUT: !69 = !{!70} // CHECK:STDOUT: !70 = !DILocalVariable(arg: 1, scope: !68, type: !21) // CHECK:STDOUT: !71 = !DILocation(line: 40, column: 12, scope: !68) // CHECK:STDOUT: !72 = !DILocation(line: 40, column: 5, scope: !68) -// CHECK:STDOUT: !73 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.717db3d1619a5b16", scope: null, file: !46, line: 33, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !74) +// CHECK:STDOUT: !73 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.f04d7238fb50aa85", scope: null, file: !46, line: 33, type: !47, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !74) // CHECK:STDOUT: !74 = !{!75} // CHECK:STDOUT: !75 = !DILocalVariable(arg: 1, scope: !73, type: !21) // CHECK:STDOUT: !76 = !DILocation(line: 34, column: 12, scope: !73) // CHECK:STDOUT: !77 = !DILocation(line: 34, column: 5, scope: !73) -// CHECK:STDOUT: !78 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.717db3d1619a5b16", scope: null, file: !46, line: 30, type: !79, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !78 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.f04d7238fb50aa85", scope: null, file: !46, line: 30, type: !79, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !79 = !DISubroutineType(types: !80) // CHECK:STDOUT: !80 = !{!21} // CHECK:STDOUT: !81 = !DILocation(line: 31, column: 5, scope: !78) diff --git a/toolchain/lower/testdata/interop/cpp/void.carbon b/toolchain/lower/testdata/interop/cpp/void.carbon index 2eae59c40971..bac6434963d5 100644 --- a/toolchain/lower/testdata/interop/cpp/void.carbon +++ b/toolchain/lower/testdata/interop/cpp/void.carbon @@ -66,12 +66,12 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: define void @_CPassVoidPtr.Main(ptr %a) #0 !dbg !12 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc7_21.2.temp = alloca ptr, align 8, !dbg !18 -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.2eaa73d71601da9d"(ptr %a), !dbg !18 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.0532bac23645330a"(ptr %a), !dbg !18 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc7_21.2.temp), !dbg !18 // CHECK:STDOUT: store ptr %U.as_type.as.ImplicitAs.impl.Convert.call, ptr %.loc7_21.2.temp, align 8, !dbg !18 // CHECK:STDOUT: %.loc7_21.4 = load ptr, ptr %.loc7_21.2.temp, align 8, !dbg !18 // CHECK:STDOUT: call void @_Z13take_void_ptrPv(ptr %.loc7_21.4), !dbg !19 -// CHECK:STDOUT: call void @"_COp.e89528464ae58584:core.Destroy.Core"(ptr %.loc7_21.2.temp), !dbg !18 +// CHECK:STDOUT: call void @"_COp.ea394d8449861404:core.Destroy.Core"(ptr %.loc7_21.2.temp), !dbg !18 // CHECK:STDOUT: ret void, !dbg !20 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -90,7 +90,7 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.e89528464ae58584:core.Destroy.Core"(ptr %self) #0 !dbg !29 { +// CHECK:STDOUT: define weak_odr void @"_COp.ea394d8449861404:core.Destroy.Core"(ptr %self) #0 !dbg !29 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !32 // CHECK:STDOUT: } @@ -99,12 +99,12 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: define void @_CPassIntPtr.Main(ptr %a) #0 !dbg !33 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc11_21.2.temp = alloca ptr, align 8, !dbg !36 -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.da998f6eb92dc5f2"(ptr %a), !dbg !36 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.9db51af7092ba247"(ptr %a), !dbg !36 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc11_21.2.temp), !dbg !36 // CHECK:STDOUT: store ptr %U.as_type.as.ImplicitAs.impl.Convert.call, ptr %.loc11_21.2.temp, align 8, !dbg !36 // CHECK:STDOUT: %.loc11_21.4 = load ptr, ptr %.loc11_21.2.temp, align 8, !dbg !36 // CHECK:STDOUT: call void @_Z13take_void_ptrPv(ptr %.loc11_21.4), !dbg !37 -// CHECK:STDOUT: call void @"_COp.e89528464ae58584:core.Destroy.Core"(ptr %.loc11_21.2.temp), !dbg !36 +// CHECK:STDOUT: call void @"_COp.ea394d8449861404:core.Destroy.Core"(ptr %.loc11_21.2.temp), !dbg !36 // CHECK:STDOUT: ret void, !dbg !38 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -112,12 +112,12 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: define void @_CPassIntPtrToConstVoidPtr.Main(ptr %a) #0 !dbg !39 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc15_27.2.temp = alloca ptr, align 8, !dbg !42 -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.727afce595587809"(ptr %a), !dbg !42 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.218005b34e691dcb"(ptr %a), !dbg !42 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc15_27.2.temp), !dbg !42 // CHECK:STDOUT: store ptr %U.as_type.as.ImplicitAs.impl.Convert.call, ptr %.loc15_27.2.temp, align 8, !dbg !42 // CHECK:STDOUT: %.loc15_27.4 = load ptr, ptr %.loc15_27.2.temp, align 8, !dbg !42 // CHECK:STDOUT: call void @_Z19take_const_void_ptrPKv(ptr %.loc15_27.4), !dbg !43 -// CHECK:STDOUT: call void @"_COp.1e14fa14d732c592:core.Destroy.Core"(ptr %.loc15_27.2.temp), !dbg !42 +// CHECK:STDOUT: call void @"_COp.259066d6fdc9da02:core.Destroy.Core"(ptr %.loc15_27.2.temp), !dbg !42 // CHECK:STDOUT: ret void, !dbg !44 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -136,7 +136,7 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.1e14fa14d732c592:core.Destroy.Core"(ptr %self) #0 !dbg !53 { +// CHECK:STDOUT: define weak_odr void @"_COp.259066d6fdc9da02:core.Destroy.Core"(ptr %self) #0 !dbg !53 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !56 // CHECK:STDOUT: } @@ -145,18 +145,18 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: define void @_CPassConstIntPtrToConstVoidPtr.Main(ptr %a) #0 !dbg !57 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %.loc19_27.2.temp = alloca ptr, align 8, !dbg !60 -// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.727afce595587809"(ptr %a), !dbg !60 +// CHECK:STDOUT: %U.as_type.as.ImplicitAs.impl.Convert.call = call ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.218005b34e691dcb"(ptr %a), !dbg !60 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc19_27.2.temp), !dbg !60 // CHECK:STDOUT: store ptr %U.as_type.as.ImplicitAs.impl.Convert.call, ptr %.loc19_27.2.temp, align 8, !dbg !60 // CHECK:STDOUT: %.loc19_27.4 = load ptr, ptr %.loc19_27.2.temp, align 8, !dbg !60 // CHECK:STDOUT: call void @_Z19take_const_void_ptrPKv(ptr %.loc19_27.4), !dbg !61 -// CHECK:STDOUT: call void @"_COp.1e14fa14d732c592:core.Destroy.Core"(ptr %.loc19_27.2.temp), !dbg !60 +// CHECK:STDOUT: call void @"_COp.259066d6fdc9da02:core.Destroy.Core"(ptr %.loc19_27.2.temp), !dbg !60 // CHECK:STDOUT: ret void, !dbg !62 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.2eaa73d71601da9d"(ptr %self) #0 !dbg !63 { -// CHECK:STDOUT: %1 = call ptr @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.4590e49549871d50"(ptr %self), !dbg !69 +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.0532bac23645330a"(ptr %self) #0 !dbg !63 { +// CHECK:STDOUT: %1 = call ptr @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.4201ec9a263c5642"(ptr %self), !dbg !69 // CHECK:STDOUT: ret ptr %1, !dbg !70 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -164,57 +164,57 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #2 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.da998f6eb92dc5f2"(ptr %self) #0 !dbg !71 { -// CHECK:STDOUT: %1 = call ptr @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.a73eddb6529b4cd8"(ptr %self), !dbg !74 +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.9db51af7092ba247"(ptr %self) #0 !dbg !71 { +// CHECK:STDOUT: %1 = call ptr @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.a6387af2c84c1f91"(ptr %self), !dbg !74 // CHECK:STDOUT: ret ptr %1, !dbg !75 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.727afce595587809"(ptr %self) #0 !dbg !76 { -// CHECK:STDOUT: %1 = call ptr @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.383a2151b7350205"(ptr %self), !dbg !79 +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.218005b34e691dcb"(ptr %self) #0 !dbg !76 { +// CHECK:STDOUT: %1 = call ptr @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.09ed4effa59a8188"(ptr %self), !dbg !79 // CHECK:STDOUT: ret ptr %1, !dbg !80 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.4590e49549871d50"(ptr %self) #0 !dbg !81 { -// CHECK:STDOUT: %1 = call ptr @_CSome.Optional.Core.4590e49549871d50(ptr %self), !dbg !84 +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.4201ec9a263c5642"(ptr %self) #0 !dbg !81 { +// CHECK:STDOUT: %1 = call ptr @_CSome.Optional.Core.4201ec9a263c5642(ptr %self), !dbg !84 // CHECK:STDOUT: ret ptr %1, !dbg !85 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.a73eddb6529b4cd8"(ptr %self) #0 !dbg !86 { +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.a6387af2c84c1f91"(ptr %self) #0 !dbg !86 { // CHECK:STDOUT: %temp = alloca ptr, align 8, !dbg !89 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %temp), !dbg !89 // CHECK:STDOUT: store ptr %self, ptr %temp, align 8, !dbg !89 // CHECK:STDOUT: %1 = load ptr, ptr %temp, align 8, !dbg !89 -// CHECK:STDOUT: %2 = call ptr @_CSome.Optional.Core.4590e49549871d50(ptr %1), !dbg !90 +// CHECK:STDOUT: %2 = call ptr @_CSome.Optional.Core.4201ec9a263c5642(ptr %1), !dbg !90 // CHECK:STDOUT: ret ptr %2, !dbg !91 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.383a2151b7350205"(ptr %self) #0 !dbg !92 { +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.09ed4effa59a8188"(ptr %self) #0 !dbg !92 { // CHECK:STDOUT: %temp = alloca ptr, align 8, !dbg !95 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %temp), !dbg !95 -// CHECK:STDOUT: %1 = call ptr @"_CConvert:thunk:ImplicitAs.d035546bf1a99743.Core:e8f8f92d3d08d149:ImplicitAs.01c4a560c986e7d1.Core.84588f41d61dafba"(ptr %self), !dbg !95 +// CHECK:STDOUT: %1 = call ptr @"_CConvert:thunk:ImplicitAs.a569d188b7ffe592.Core:e8f8f92d3d08d149:ImplicitAs.01c4a560c986e7d1.Core.84588f41d61dafba"(ptr %self), !dbg !95 // CHECK:STDOUT: store ptr %1, ptr %temp, align 8, !dbg !95 // CHECK:STDOUT: %2 = load ptr, ptr %temp, align 8, !dbg !95 -// CHECK:STDOUT: %3 = call ptr @_CSome.Optional.Core.75889a5a3413d33d(ptr %2), !dbg !96 +// CHECK:STDOUT: %3 = call ptr @_CSome.Optional.Core.e4523e01ac2590ba(ptr %2), !dbg !96 // CHECK:STDOUT: ret ptr %3, !dbg !97 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CSome.Optional.Core.4590e49549871d50(ptr %value) #0 !dbg !98 { +// CHECK:STDOUT: define linkonce_odr ptr @_CSome.Optional.Core.4201ec9a263c5642(ptr %value) #0 !dbg !98 { // CHECK:STDOUT: %1 = call ptr @"_CSome.e8f8f92d3d08d149:OptionalStorage.Core.7a595a06c724a271"(ptr %value), !dbg !101 // CHECK:STDOUT: ret ptr %1, !dbg !102 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert:thunk:ImplicitAs.d035546bf1a99743.Core:e8f8f92d3d08d149:ImplicitAs.01c4a560c986e7d1.Core.84588f41d61dafba"(ptr %self) #3 !dbg !103 { +// CHECK:STDOUT: define linkonce_odr ptr @"_CConvert:thunk:ImplicitAs.a569d188b7ffe592.Core:e8f8f92d3d08d149:ImplicitAs.01c4a560c986e7d1.Core.84588f41d61dafba"(ptr %self) #3 !dbg !103 { // CHECK:STDOUT: ret ptr %self, !dbg !107 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CSome.Optional.Core.75889a5a3413d33d(ptr %value) #0 !dbg !108 { +// CHECK:STDOUT: define linkonce_odr ptr @_CSome.Optional.Core.e4523e01ac2590ba(ptr %value) #0 !dbg !108 { // CHECK:STDOUT: %1 = call ptr @"_CSome.e8f8f92d3d08d149:OptionalStorage.Core.8f1054b47505c137"(ptr %value), !dbg !111 // CHECK:STDOUT: ret ptr %1, !dbg !112 // CHECK:STDOUT: } @@ -243,8 +243,8 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 1, 2, 3, 7, 6, 5, 4 } -// CHECK:STDOUT: uselistorder ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.727afce595587809", { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @_CSome.Optional.Core.4590e49549871d50, { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.218005b34e691dcb", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @_CSome.Optional.Core.4201ec9a263c5642, { 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } @@ -284,7 +284,7 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: !26 = !{!27} // CHECK:STDOUT: !27 = !DILocalVariable(arg: 1, scope: !25, type: !15) // CHECK:STDOUT: !28 = !DILocation(line: 7, column: 21, scope: !25) -// CHECK:STDOUT: !29 = distinct !DISubprogram(name: "Op", linkageName: "_COp.e89528464ae58584:core.Destroy.Core", scope: null, file: !1, line: 7, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !30) +// CHECK:STDOUT: !29 = distinct !DISubprogram(name: "Op", linkageName: "_COp.ea394d8449861404:core.Destroy.Core", scope: null, file: !1, line: 7, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !30) // CHECK:STDOUT: !30 = !{!31} // CHECK:STDOUT: !31 = !DILocalVariable(arg: 1, scope: !29, type: !15) // CHECK:STDOUT: !32 = !DILocation(line: 7, column: 21, scope: !29) @@ -308,7 +308,7 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: !50 = !{!51} // CHECK:STDOUT: !51 = !DILocalVariable(arg: 1, scope: !49, type: !15) // CHECK:STDOUT: !52 = !DILocation(line: 15, column: 27, scope: !49) -// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "Op", linkageName: "_COp.1e14fa14d732c592:core.Destroy.Core", scope: null, file: !1, line: 15, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !54) +// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "Op", linkageName: "_COp.259066d6fdc9da02:core.Destroy.Core", scope: null, file: !1, line: 15, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !54) // CHECK:STDOUT: !54 = !{!55} // CHECK:STDOUT: !55 = !DILocalVariable(arg: 1, scope: !53, type: !15) // CHECK:STDOUT: !56 = !DILocation(line: 15, column: 27, scope: !53) @@ -318,7 +318,7 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: !60 = !DILocation(line: 19, column: 27, scope: !57) // CHECK:STDOUT: !61 = !DILocation(line: 19, column: 3, scope: !57) // CHECK:STDOUT: !62 = !DILocation(line: 18, column: 1, scope: !57) -// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.2eaa73d71601da9d", scope: null, file: !64, line: 105, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !67) +// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.0532bac23645330a", scope: null, file: !64, line: 105, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !67) // CHECK:STDOUT: !64 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !65 = !DISubroutineType(types: !66) // CHECK:STDOUT: !66 = !{!15, !15} @@ -326,44 +326,44 @@ fn ConvertFromConstVoidPtr(p: const Cpp.void*) -> const i32* { // CHECK:STDOUT: !68 = !DILocalVariable(arg: 1, scope: !63, type: !15) // CHECK:STDOUT: !69 = !DILocation(line: 106, column: 12, scope: !63) // CHECK:STDOUT: !70 = !DILocation(line: 106, column: 5, scope: !63) -// CHECK:STDOUT: !71 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.da998f6eb92dc5f2", scope: null, file: !64, line: 105, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) +// CHECK:STDOUT: !71 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.9db51af7092ba247", scope: null, file: !64, line: 105, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !72) // CHECK:STDOUT: !72 = !{!73} // CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !71, type: !15) // CHECK:STDOUT: !74 = !DILocation(line: 106, column: 12, scope: !71) // CHECK:STDOUT: !75 = !DILocation(line: 106, column: 5, scope: !71) -// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.727afce595587809", scope: null, file: !64, line: 105, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !77) +// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.218005b34e691dcb", scope: null, file: !64, line: 105, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !77) // CHECK:STDOUT: !77 = !{!78} // CHECK:STDOUT: !78 = !DILocalVariable(arg: 1, scope: !76, type: !15) // CHECK:STDOUT: !79 = !DILocation(line: 106, column: 12, scope: !76) // CHECK:STDOUT: !80 = !DILocation(line: 106, column: 5, scope: !76) -// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.4590e49549871d50", scope: null, file: !64, line: 80, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !82) +// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.4201ec9a263c5642", scope: null, file: !64, line: 80, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !82) // CHECK:STDOUT: !82 = !{!83} // CHECK:STDOUT: !83 = !DILocalVariable(arg: 1, scope: !81, type: !15) // CHECK:STDOUT: !84 = !DILocation(line: 81, column: 12, scope: !81) // CHECK:STDOUT: !85 = !DILocation(line: 81, column: 5, scope: !81) -// CHECK:STDOUT: !86 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.a73eddb6529b4cd8", scope: null, file: !64, line: 87, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !87) +// CHECK:STDOUT: !86 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.a6387af2c84c1f91", scope: null, file: !64, line: 87, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !87) // CHECK:STDOUT: !87 = !{!88} // CHECK:STDOUT: !88 = !DILocalVariable(arg: 1, scope: !86, type: !15) // CHECK:STDOUT: !89 = !DILocation(line: 88, column: 29, scope: !86) // CHECK:STDOUT: !90 = !DILocation(line: 88, column: 12, scope: !86) // CHECK:STDOUT: !91 = !DILocation(line: 88, column: 5, scope: !86) -// CHECK:STDOUT: !92 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.383a2151b7350205", scope: null, file: !64, line: 87, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !93) +// CHECK:STDOUT: !92 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.09ed4effa59a8188", scope: null, file: !64, line: 87, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !93) // CHECK:STDOUT: !93 = !{!94} // CHECK:STDOUT: !94 = !DILocalVariable(arg: 1, scope: !92, type: !15) // CHECK:STDOUT: !95 = !DILocation(line: 88, column: 29, scope: !92) // CHECK:STDOUT: !96 = !DILocation(line: 88, column: 12, scope: !92) // CHECK:STDOUT: !97 = !DILocation(line: 88, column: 5, scope: !92) -// CHECK:STDOUT: !98 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.4590e49549871d50", scope: null, file: !64, line: 33, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !99) +// CHECK:STDOUT: !98 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.4201ec9a263c5642", scope: null, file: !64, line: 33, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !99) // CHECK:STDOUT: !99 = !{!100} // CHECK:STDOUT: !100 = !DILocalVariable(arg: 1, scope: !98, type: !15) // CHECK:STDOUT: !101 = !DILocation(line: 34, column: 12, scope: !98) // CHECK:STDOUT: !102 = !DILocation(line: 34, column: 5, scope: !98) -// CHECK:STDOUT: !103 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert:thunk:ImplicitAs.d035546bf1a99743.Core:e8f8f92d3d08d149:ImplicitAs.01c4a560c986e7d1.Core.84588f41d61dafba", scope: null, file: !104, line: 40, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !105) +// CHECK:STDOUT: !103 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert:thunk:ImplicitAs.a569d188b7ffe592.Core:e8f8f92d3d08d149:ImplicitAs.01c4a560c986e7d1.Core.84588f41d61dafba", scope: null, file: !104, line: 40, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !105) // CHECK:STDOUT: !104 = !DIFile(filename: "{{.*}}/prelude/types/cpp/void.carbon", directory: "") // CHECK:STDOUT: !105 = !{!106} // CHECK:STDOUT: !106 = !DILocalVariable(arg: 1, scope: !103, type: !15) // CHECK:STDOUT: !107 = !DILocation(line: 40, column: 3, scope: !103) -// CHECK:STDOUT: !108 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.75889a5a3413d33d", scope: null, file: !64, line: 33, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !109) +// CHECK:STDOUT: !108 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.e4523e01ac2590ba", scope: null, file: !64, line: 33, type: !65, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !109) // CHECK:STDOUT: !109 = !{!110} // CHECK:STDOUT: !110 = !DILocalVariable(arg: 1, scope: !108, type: !15) // CHECK:STDOUT: !111 = !DILocation(line: 34, column: 12, scope: !108) diff --git a/toolchain/lower/testdata/operators/increment.carbon b/toolchain/lower/testdata/operators/increment.carbon index 92103ecb4457..82e70aca599f 100644 --- a/toolchain/lower/testdata/operators/increment.carbon +++ b/toolchain/lower/testdata/operators/increment.carbon @@ -45,13 +45,13 @@ fn IncrSigned() { // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define linkonce_odr void @"_COp.Int.9452f4c51951679b.Core:Inc.Core.be1e879c1ad406d8"(ptr %self) #0 !dbg !17 { -// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 1), !dbg !21 +// CHECK:STDOUT: call void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 1), !dbg !21 // CHECK:STDOUT: ret void, !dbg !22 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce"(ptr %self, i32 %other) #2 !dbg !23 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %other), !dbg !29 +// CHECK:STDOUT: define linkonce_odr void @"_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895"(ptr %self, i32 %other) #2 !dbg !23 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %other), !dbg !29 // CHECK:STDOUT: %2 = load i32, ptr %self, align 4, !dbg !30 // CHECK:STDOUT: %3 = add i32 %2, %1, !dbg !30 // CHECK:STDOUT: store i32 %3, ptr %self, align 4, !dbg !30 @@ -59,7 +59,7 @@ fn IncrSigned() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %self) #0 !dbg !31 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %self) #0 !dbg !31 { // CHECK:STDOUT: %1 = call i32 @"_CAsInt.Int.9452f4c51951679b.Core:AnyInt.Core.be1e879c1ad406d8"(i32 %self), !dbg !36 // CHECK:STDOUT: ret i32 %1, !dbg !37 // CHECK:STDOUT: } @@ -99,7 +99,7 @@ fn IncrSigned() { // CHECK:STDOUT: !20 = !DILocalVariable(arg: 1, scope: !17, type: !13) // CHECK:STDOUT: !21 = !DILocation(line: 398, column: 5, scope: !17) // CHECK:STDOUT: !22 = !DILocation(line: 396, column: 3, scope: !17) -// CHECK:STDOUT: !23 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.6f9e8c1abf8bb3ea.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.56c87c8744984bce", scope: null, file: !18, line: 331, type: !24, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !26) +// CHECK:STDOUT: !23 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:AddAssignWith.39e2e78a3c2e036d.Core:Int.9452f4c51951679b.Core:AddAssignWith.bcc2a64c00f3554f.Core.83481f1872d67895", scope: null, file: !18, line: 331, type: !24, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !26) // CHECK:STDOUT: !24 = !DISubroutineType(types: !25) // CHECK:STDOUT: !25 = !{null, !13, !13} // CHECK:STDOUT: !26 = !{!27, !28} @@ -107,7 +107,7 @@ fn IncrSigned() { // CHECK:STDOUT: !28 = !DILocalVariable(arg: 2, scope: !23, type: !13) // CHECK:STDOUT: !29 = !DILocation(line: 0, scope: !23) // CHECK:STDOUT: !30 = !DILocation(line: 331, column: 3, scope: !23) -// CHECK:STDOUT: !31 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056", scope: null, file: !18, line: 64, type: !32, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !34) +// CHECK:STDOUT: !31 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044", scope: null, file: !18, line: 64, type: !32, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !34) // CHECK:STDOUT: !32 = !DISubroutineType(types: !33) // CHECK:STDOUT: !33 = !{!13, !13} // CHECK:STDOUT: !34 = !{!35} diff --git a/toolchain/lower/testdata/primitives/char.carbon b/toolchain/lower/testdata/primitives/char.carbon index a8e6e83a4830..e74f26b99ddf 100644 --- a/toolchain/lower/testdata/primitives/char.carbon +++ b/toolchain/lower/testdata/primitives/char.carbon @@ -118,13 +118,13 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: define void @_CConvert.Main(i8 %c, i8 %u) #0 !dbg !12 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %c), !dbg !18 -// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc23 = call i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.e9c1448dbe7924fd"(i8 %c), !dbg !19 +// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc23 = call i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.d183f33d898732ee"(i8 %c), !dbg !19 // CHECK:STDOUT: call void @_CDiscard.Main.147e0bd019a31663(i16 %char.as.As.impl.Convert.call.loc23), !dbg !20 -// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc24 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.a50a2c9bae81b275"(i8 %c), !dbg !21 +// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc24 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.b3e492be1929cf8f"(i8 %c), !dbg !21 // CHECK:STDOUT: call void @_CDiscard.Main.eadca4a969cf6f21(i32 %char.as.As.impl.Convert.call.loc24), !dbg !22 -// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc26 = call i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.ec068bac8f2d9e00"(i8 %c), !dbg !23 +// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc26 = call i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.05fbd7e2dbdd4666"(i8 %c), !dbg !23 // CHECK:STDOUT: call void @_CDiscard.Main.147e0bd019a31663(i16 %char.as.As.impl.Convert.call.loc26), !dbg !24 -// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc27 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.6091cd0e1782c4bf"(i8 %c), !dbg !25 +// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc27 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %c), !dbg !25 // CHECK:STDOUT: call void @_CDiscard.Main.eadca4a969cf6f21(i32 %char.as.As.impl.Convert.call.loc27), !dbg !26 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %u), !dbg !27 // CHECK:STDOUT: ret void, !dbg !28 @@ -134,13 +134,13 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: define void @_CConvertConstant.Main() #0 !dbg !29 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 120), !dbg !32 -// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc33 = call i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.e9c1448dbe7924fd"(i8 120), !dbg !33 +// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc33 = call i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.d183f33d898732ee"(i8 120), !dbg !33 // CHECK:STDOUT: call void @_CDiscard.Main.147e0bd019a31663(i16 %char.as.As.impl.Convert.call.loc33), !dbg !34 -// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc34 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.a50a2c9bae81b275"(i8 120), !dbg !35 +// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc34 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.b3e492be1929cf8f"(i8 120), !dbg !35 // CHECK:STDOUT: call void @_CDiscard.Main.eadca4a969cf6f21(i32 %char.as.As.impl.Convert.call.loc34), !dbg !36 -// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc35 = call i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.ec068bac8f2d9e00"(i8 120), !dbg !37 +// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc35 = call i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.05fbd7e2dbdd4666"(i8 120), !dbg !37 // CHECK:STDOUT: call void @_CDiscard.Main.147e0bd019a31663(i16 %char.as.As.impl.Convert.call.loc35), !dbg !38 -// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc36 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.6091cd0e1782c4bf"(i8 120), !dbg !39 +// CHECK:STDOUT: %char.as.As.impl.Convert.call.loc36 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 120), !dbg !39 // CHECK:STDOUT: call void @_CDiscard.Main.eadca4a969cf6f21(i32 %char.as.As.impl.Convert.call.loc36), !dbg !40 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 123), !dbg !41 // CHECK:STDOUT: ret void, !dbg !42 @@ -212,10 +212,10 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: %char.as.SubWith.impl.Op.call.loc66 = call i32 @"_COp.Char.Core:SubWith.295cf9b677564c5c.Core"(i8 %c, i8 %c), !dbg !101 // CHECK:STDOUT: call void @_CDiscard.Main.eadca4a969cf6f21(i32 %char.as.SubWith.impl.Op.call.loc66), !dbg !102 // CHECK:STDOUT: %CharLike.as.ImplicitAs.impl.Convert.call.loc67 = call i8 @"_CConvert.CharLike.Main:ImplicitAs.295cf9b677564c5c.Core"(ptr %d), !dbg !103 -// CHECK:STDOUT: %char.as.SubWith.impl.Op.call.loc67 = call i32 @"_COp.Char.Core:SubWith.7c3e388e0087434a.Core.ab8531ca840d1501"(i8 %c, i8 %CharLike.as.ImplicitAs.impl.Convert.call.loc67), !dbg !104 +// CHECK:STDOUT: %char.as.SubWith.impl.Op.call.loc67 = call i32 @"_COp.Char.Core:SubWith.7c3e388e0087434a.Core.9188b823847778f0"(i8 %c, i8 %CharLike.as.ImplicitAs.impl.Convert.call.loc67), !dbg !104 // CHECK:STDOUT: call void @_CDiscard.Main.eadca4a969cf6f21(i32 %char.as.SubWith.impl.Op.call.loc67), !dbg !105 // CHECK:STDOUT: %CharLike.as.ImplicitAs.impl.Convert.call.loc68 = call i8 @"_CConvert.CharLike.Main:ImplicitAs.295cf9b677564c5c.Core"(ptr %d), !dbg !106 -// CHECK:STDOUT: %T.as_type.as.SubWith.impl.Op.call = call i32 @"_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.ab8531ca840d1501"(i8 %CharLike.as.ImplicitAs.impl.Convert.call.loc68, i8 %c), !dbg !106 +// CHECK:STDOUT: %T.as_type.as.SubWith.impl.Op.call = call i32 @"_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.9188b823847778f0"(i8 %CharLike.as.ImplicitAs.impl.Convert.call.loc68, i8 %c), !dbg !106 // CHECK:STDOUT: call void @_CDiscard.Main.eadca4a969cf6f21(i32 %T.as_type.as.SubWith.impl.Op.call), !dbg !107 // CHECK:STDOUT: ret void, !dbg !108 // CHECK:STDOUT: } @@ -225,11 +225,11 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CAddSubInt8.Main(i8 %c, i8 %i) #0 !dbg !109 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.852ed75bdc952b41"(i8 %c, i8 %i), !dbg !116 +// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.be6db155159bf0e6"(i8 %c, i8 %i), !dbg !116 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.AddWith.impl.Op.call), !dbg !117 -// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.852ed75bdc952b41"(i8 %i, i8 %c), !dbg !118 +// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.be6db155159bf0e6"(i8 %i, i8 %c), !dbg !118 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %T.as_type.as.AddWith.impl.Op.call), !dbg !119 -// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.852ed75bdc952b41"(i8 %c, i8 %i), !dbg !120 +// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.be6db155159bf0e6"(i8 %c, i8 %i), !dbg !120 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.SubWith.impl.Op.call), !dbg !121 // CHECK:STDOUT: ret void, !dbg !122 // CHECK:STDOUT: } @@ -237,11 +237,11 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CAddSubInt16.Main(i8 %c, i16 %i) #0 !dbg !123 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.4de33f895b808f69"(i8 %c, i16 %i), !dbg !130 +// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.b2ec6933266ee2f0"(i8 %c, i16 %i), !dbg !130 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.AddWith.impl.Op.call), !dbg !131 -// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.4de33f895b808f69"(i16 %i, i8 %c), !dbg !132 +// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.b2ec6933266ee2f0"(i16 %i, i8 %c), !dbg !132 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %T.as_type.as.AddWith.impl.Op.call), !dbg !133 -// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.4de33f895b808f69"(i8 %c, i16 %i), !dbg !134 +// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.b2ec6933266ee2f0"(i8 %c, i16 %i), !dbg !134 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.SubWith.impl.Op.call), !dbg !135 // CHECK:STDOUT: ret void, !dbg !136 // CHECK:STDOUT: } @@ -249,11 +249,11 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CAddSubInt32.Main(i8 %c, i32 %i) #0 !dbg !137 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.ae42bf297a1ee9b6"(i8 %c, i32 %i), !dbg !144 +// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.3c06bceea9ba44a7"(i8 %c, i32 %i), !dbg !144 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.AddWith.impl.Op.call), !dbg !145 -// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.ae42bf297a1ee9b6"(i32 %i, i8 %c), !dbg !146 +// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.3c06bceea9ba44a7"(i32 %i, i8 %c), !dbg !146 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %T.as_type.as.AddWith.impl.Op.call), !dbg !147 -// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.ae42bf297a1ee9b6"(i8 %c, i32 %i), !dbg !148 +// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.3c06bceea9ba44a7"(i8 %c, i32 %i), !dbg !148 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.SubWith.impl.Op.call), !dbg !149 // CHECK:STDOUT: ret void, !dbg !150 // CHECK:STDOUT: } @@ -261,11 +261,11 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CAddSubUInt8.Main(i8 %c, i8 %i) #0 !dbg !151 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.3ff23939bf07ad5f"(i8 %c, i8 %i), !dbg !155 +// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.c8c7baf2b5955a72"(i8 %c, i8 %i), !dbg !155 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.AddWith.impl.Op.call), !dbg !156 -// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.3ff23939bf07ad5f"(i8 %i, i8 %c), !dbg !157 +// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.c8c7baf2b5955a72"(i8 %i, i8 %c), !dbg !157 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %T.as_type.as.AddWith.impl.Op.call), !dbg !158 -// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.3ff23939bf07ad5f"(i8 %c, i8 %i), !dbg !159 +// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.c8c7baf2b5955a72"(i8 %c, i8 %i), !dbg !159 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.SubWith.impl.Op.call), !dbg !160 // CHECK:STDOUT: ret void, !dbg !161 // CHECK:STDOUT: } @@ -273,11 +273,11 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CAddSubUInt16.Main(i8 %c, i16 %i) #0 !dbg !162 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.a374c478e4368fa7"(i8 %c, i16 %i), !dbg !169 +// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.61bb220507f77095"(i8 %c, i16 %i), !dbg !169 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.AddWith.impl.Op.call), !dbg !170 -// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.a374c478e4368fa7"(i16 %i, i8 %c), !dbg !171 +// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.61bb220507f77095"(i16 %i, i8 %c), !dbg !171 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %T.as_type.as.AddWith.impl.Op.call), !dbg !172 -// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.a374c478e4368fa7"(i8 %c, i16 %i), !dbg !173 +// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.61bb220507f77095"(i8 %c, i16 %i), !dbg !173 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.SubWith.impl.Op.call), !dbg !174 // CHECK:STDOUT: ret void, !dbg !175 // CHECK:STDOUT: } @@ -285,11 +285,11 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CAddSubUInt32.Main(i8 %c, i32 %i) #0 !dbg !176 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.bca5dfe49de51c76"(i8 %c, i32 %i), !dbg !183 +// CHECK:STDOUT: %char.as.AddWith.impl.Op.call = call i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.4494a819d074492e"(i8 %c, i32 %i), !dbg !183 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.AddWith.impl.Op.call), !dbg !184 -// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.bca5dfe49de51c76"(i32 %i, i8 %c), !dbg !185 +// CHECK:STDOUT: %T.as_type.as.AddWith.impl.Op.call = call i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.4494a819d074492e"(i32 %i, i8 %c), !dbg !185 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %T.as_type.as.AddWith.impl.Op.call), !dbg !186 -// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.bca5dfe49de51c76"(i8 %c, i32 %i), !dbg !187 +// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.4494a819d074492e"(i8 %c, i32 %i), !dbg !187 // CHECK:STDOUT: call void @_CDiscard.Main.15688e19507865c6(i8 %char.as.SubWith.impl.Op.call), !dbg !188 // CHECK:STDOUT: ret void, !dbg !189 // CHECK:STDOUT: } @@ -301,8 +301,8 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.e9c1448dbe7924fd"(i8 %self) #0 !dbg !196 { -// CHECK:STDOUT: %1 = call i16 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.fccafd4c72b86e6b"(i8 %self), !dbg !202 +// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.d183f33d898732ee"(i8 %self) #0 !dbg !196 { +// CHECK:STDOUT: %1 = call i16 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.335e322ca15c76a1"(i8 %self), !dbg !202 // CHECK:STDOUT: ret i16 %1, !dbg !202 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -313,8 +313,8 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.a50a2c9bae81b275"(i8 %self) #0 !dbg !209 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.528caab81d685d04"(i8 %self), !dbg !214 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.b3e492be1929cf8f"(i8 %self) #0 !dbg !209 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.9b7e0edf5c8a8a84"(i8 %self), !dbg !214 // CHECK:STDOUT: ret i32 %1, !dbg !214 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -325,14 +325,14 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.ec068bac8f2d9e00"(i8 %self) #0 !dbg !221 { -// CHECK:STDOUT: %1 = call i16 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.8ffb6ef27be93883"(i8 %self), !dbg !226 +// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.05fbd7e2dbdd4666"(i8 %self) #0 !dbg !221 { +// CHECK:STDOUT: %1 = call i16 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.90fccc2ec10748e3"(i8 %self), !dbg !226 // CHECK:STDOUT: ret i16 %1, !dbg !226 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.6091cd0e1782c4bf"(i8 %self) #0 !dbg !227 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878"(i8 %self), !dbg !232 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %self) #0 !dbg !227 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.de54a264bd4d5c6f"(i8 %self), !dbg !232 // CHECK:STDOUT: ret i32 %1, !dbg !232 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -343,214 +343,207 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_COp.Char.Core:SubWith.7c3e388e0087434a.Core.ab8531ca840d1501"(i8 %self, i8 %other) #0 !dbg !239 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %self), !dbg !245 -// CHECK:STDOUT: %2 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %other), !dbg !246 +// CHECK:STDOUT: define linkonce_odr i32 @"_COp.Char.Core:SubWith.7c3e388e0087434a.Core.9188b823847778f0"(i8 %self, i8 %other) #0 !dbg !239 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %self), !dbg !245 +// CHECK:STDOUT: %2 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %other), !dbg !246 // CHECK:STDOUT: %3 = sub i32 %1, %2, !dbg !247 // CHECK:STDOUT: ret i32 %3, !dbg !248 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.ab8531ca840d1501"(i8 %self, i8 %other) #0 !dbg !249 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %self), !dbg !253 -// CHECK:STDOUT: %2 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %other), !dbg !254 +// CHECK:STDOUT: define linkonce_odr i32 @"_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.9188b823847778f0"(i8 %self, i8 %other) #0 !dbg !249 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %self), !dbg !253 +// CHECK:STDOUT: %2 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %other), !dbg !254 // CHECK:STDOUT: %3 = sub i32 %1, %2, !dbg !255 // CHECK:STDOUT: ret i32 %3, !dbg !256 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.852ed75bdc952b41"(i8 %self, i8 %other) #0 !dbg !257 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.be6db155159bf0e6"(i8 %self, i8 %other) #0 !dbg !257 { // CHECK:STDOUT: %1 = add i8 %self, %other, !dbg !263 // CHECK:STDOUT: ret i8 %1, !dbg !264 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.852ed75bdc952b41"(i8 %self, i8 %other) #0 !dbg !265 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.be6db155159bf0e6"(i8 %self, i8 %other) #0 !dbg !265 { // CHECK:STDOUT: %1 = add i8 %self, %other, !dbg !271 // CHECK:STDOUT: ret i8 %1, !dbg !272 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.852ed75bdc952b41"(i8 %self, i8 %other) #0 !dbg !273 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.be6db155159bf0e6"(i8 %self, i8 %other) #0 !dbg !273 { // CHECK:STDOUT: %1 = sub i8 %self, %other, !dbg !277 // CHECK:STDOUT: ret i8 %1, !dbg !278 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.4de33f895b808f69"(i8 %self, i16 %other) #0 !dbg !279 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.b2ec6933266ee2f0"(i8 %self, i16 %other) #0 !dbg !279 { // CHECK:STDOUT: %1 = trunc i16 %other to i8, !dbg !285 // CHECK:STDOUT: %2 = add i8 %self, %1, !dbg !286 // CHECK:STDOUT: ret i8 %2, !dbg !287 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.4de33f895b808f69"(i16 %self, i8 %other) #0 !dbg !288 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.b2ec6933266ee2f0"(i16 %self, i8 %other) #0 !dbg !288 { // CHECK:STDOUT: %1 = trunc i16 %self to i8, !dbg !294 // CHECK:STDOUT: %2 = add i8 %1, %other, !dbg !295 // CHECK:STDOUT: ret i8 %2, !dbg !296 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.4de33f895b808f69"(i8 %self, i16 %other) #0 !dbg !297 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.b2ec6933266ee2f0"(i8 %self, i16 %other) #0 !dbg !297 { // CHECK:STDOUT: %1 = trunc i16 %other to i8, !dbg !301 // CHECK:STDOUT: %2 = sub i8 %self, %1, !dbg !302 // CHECK:STDOUT: ret i8 %2, !dbg !303 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.ae42bf297a1ee9b6"(i8 %self, i32 %other) #0 !dbg !304 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.3c06bceea9ba44a7"(i8 %self, i32 %other) #0 !dbg !304 { // CHECK:STDOUT: %1 = trunc i32 %other to i8, !dbg !310 // CHECK:STDOUT: %2 = add i8 %self, %1, !dbg !311 // CHECK:STDOUT: ret i8 %2, !dbg !312 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.ae42bf297a1ee9b6"(i32 %self, i8 %other) #0 !dbg !313 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.3c06bceea9ba44a7"(i32 %self, i8 %other) #0 !dbg !313 { // CHECK:STDOUT: %1 = trunc i32 %self to i8, !dbg !319 // CHECK:STDOUT: %2 = add i8 %1, %other, !dbg !320 // CHECK:STDOUT: ret i8 %2, !dbg !321 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.ae42bf297a1ee9b6"(i8 %self, i32 %other) #0 !dbg !322 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.3c06bceea9ba44a7"(i8 %self, i32 %other) #0 !dbg !322 { // CHECK:STDOUT: %1 = trunc i32 %other to i8, !dbg !326 // CHECK:STDOUT: %2 = sub i8 %self, %1, !dbg !327 // CHECK:STDOUT: ret i8 %2, !dbg !328 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.3ff23939bf07ad5f"(i8 %self, i8 %other) #0 !dbg !329 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.c8c7baf2b5955a72"(i8 %self, i8 %other) #0 !dbg !329 { // CHECK:STDOUT: %1 = add i8 %self, %other, !dbg !335 // CHECK:STDOUT: ret i8 %1, !dbg !336 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.3ff23939bf07ad5f"(i8 %self, i8 %other) #0 !dbg !337 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.c8c7baf2b5955a72"(i8 %self, i8 %other) #0 !dbg !337 { // CHECK:STDOUT: %1 = add i8 %self, %other, !dbg !341 // CHECK:STDOUT: ret i8 %1, !dbg !342 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.3ff23939bf07ad5f"(i8 %self, i8 %other) #0 !dbg !343 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.c8c7baf2b5955a72"(i8 %self, i8 %other) #0 !dbg !343 { // CHECK:STDOUT: %1 = sub i8 %self, %other, !dbg !347 // CHECK:STDOUT: ret i8 %1, !dbg !348 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.a374c478e4368fa7"(i8 %self, i16 %other) #0 !dbg !349 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.61bb220507f77095"(i8 %self, i16 %other) #0 !dbg !349 { // CHECK:STDOUT: %1 = trunc i16 %other to i8, !dbg !355 // CHECK:STDOUT: %2 = add i8 %self, %1, !dbg !356 // CHECK:STDOUT: ret i8 %2, !dbg !357 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.a374c478e4368fa7"(i16 %self, i8 %other) #0 !dbg !358 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.61bb220507f77095"(i16 %self, i8 %other) #0 !dbg !358 { // CHECK:STDOUT: %1 = trunc i16 %self to i8, !dbg !364 // CHECK:STDOUT: %2 = add i8 %1, %other, !dbg !365 // CHECK:STDOUT: ret i8 %2, !dbg !366 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.a374c478e4368fa7"(i8 %self, i16 %other) #0 !dbg !367 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.61bb220507f77095"(i8 %self, i16 %other) #0 !dbg !367 { // CHECK:STDOUT: %1 = trunc i16 %other to i8, !dbg !371 // CHECK:STDOUT: %2 = sub i8 %self, %1, !dbg !372 // CHECK:STDOUT: ret i8 %2, !dbg !373 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.bca5dfe49de51c76"(i8 %self, i32 %other) #0 !dbg !374 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.4494a819d074492e"(i8 %self, i32 %other) #0 !dbg !374 { // CHECK:STDOUT: %1 = trunc i32 %other to i8, !dbg !380 // CHECK:STDOUT: %2 = add i8 %self, %1, !dbg !381 // CHECK:STDOUT: ret i8 %2, !dbg !382 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.bca5dfe49de51c76"(i32 %self, i8 %other) #0 !dbg !383 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.4494a819d074492e"(i32 %self, i8 %other) #0 !dbg !383 { // CHECK:STDOUT: %1 = trunc i32 %self to i8, !dbg !389 // CHECK:STDOUT: %2 = add i8 %1, %other, !dbg !390 // CHECK:STDOUT: ret i8 %2, !dbg !391 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.bca5dfe49de51c76"(i8 %self, i32 %other) #0 !dbg !392 { +// CHECK:STDOUT: define linkonce_odr i8 @"_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.4494a819d074492e"(i8 %self, i32 %other) #0 !dbg !392 { // CHECK:STDOUT: %1 = trunc i32 %other to i8, !dbg !396 // CHECK:STDOUT: %2 = sub i8 %self, %1, !dbg !397 // CHECK:STDOUT: ret i8 %2, !dbg !398 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.fccafd4c72b86e6b"(i8 %self) #0 !dbg !399 { -// CHECK:STDOUT: %1 = call i16 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.a2a3e097ac3810ad"(i8 %self), !dbg !403 +// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.335e322ca15c76a1"(i8 %self) #0 !dbg !399 { +// CHECK:STDOUT: %1 = call i16 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.e4ef44314f014f83"(i8 %self), !dbg !403 // CHECK:STDOUT: ret i16 %1, !dbg !404 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.528caab81d685d04"(i8 %self) #0 !dbg !405 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.382ddd735ade10eb"(i8 %self), !dbg !408 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.9b7e0edf5c8a8a84"(i8 %self) #0 !dbg !405 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.62c2f9adcd5bc12d"(i8 %self), !dbg !408 // CHECK:STDOUT: ret i32 %1, !dbg !409 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.8ffb6ef27be93883"(i8 %self) #0 !dbg !410 { -// CHECK:STDOUT: %1 = call i16 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.860c0047bcbfd07c"(i8 %self), !dbg !413 +// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.90fccc2ec10748e3"(i8 %self) #0 !dbg !410 { +// CHECK:STDOUT: %1 = call i16 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.4f3746a8c9265ebe"(i8 %self), !dbg !413 // CHECK:STDOUT: ret i16 %1, !dbg !414 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878"(i8 %self) #0 !dbg !415 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.1445989f3533347d"(i8 %self), !dbg !418 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.de54a264bd4d5c6f"(i8 %self) #0 !dbg !415 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.d19fcdc7c1bc8ad3"(i8 %self), !dbg !418 // CHECK:STDOUT: ret i32 %1, !dbg !419 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %self) #0 !dbg !420 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878"(i8 %self), !dbg !423 -// CHECK:STDOUT: ret i32 %1, !dbg !423 +// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.e4ef44314f014f83"(i8 %from) #0 !dbg !420 { +// CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !423 +// CHECK:STDOUT: %2 = zext i8 %1 to i16, !dbg !424 +// CHECK:STDOUT: ret i16 %2, !dbg !425 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.a2a3e097ac3810ad"(i8 %from) #0 !dbg !424 { -// CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !427 -// CHECK:STDOUT: %2 = zext i8 %1 to i16, !dbg !428 -// CHECK:STDOUT: ret i16 %2, !dbg !429 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.62c2f9adcd5bc12d"(i8 %from) #0 !dbg !426 { +// CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !429 +// CHECK:STDOUT: %2 = zext i8 %1 to i32, !dbg !430 +// CHECK:STDOUT: ret i32 %2, !dbg !431 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.382ddd735ade10eb"(i8 %from) #0 !dbg !430 { -// CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !433 -// CHECK:STDOUT: %2 = zext i8 %1 to i32, !dbg !434 -// CHECK:STDOUT: ret i32 %2, !dbg !435 +// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.4f3746a8c9265ebe"(i8 %from) #0 !dbg !432 { +// CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !435 +// CHECK:STDOUT: %2 = zext i8 %1 to i16, !dbg !436 +// CHECK:STDOUT: ret i16 %2, !dbg !437 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i16 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.860c0047bcbfd07c"(i8 %from) #0 !dbg !436 { -// CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !439 -// CHECK:STDOUT: %2 = zext i8 %1 to i16, !dbg !440 -// CHECK:STDOUT: ret i16 %2, !dbg !441 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.d19fcdc7c1bc8ad3"(i8 %from) #0 !dbg !438 { +// CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !441 +// CHECK:STDOUT: %2 = zext i8 %1 to i32, !dbg !442 +// CHECK:STDOUT: ret i32 %2, !dbg !443 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.1445989f3533347d"(i8 %from) #0 !dbg !442 { -// CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !445 -// CHECK:STDOUT: %2 = zext i8 %1 to i32, !dbg !446 -// CHECK:STDOUT: ret i32 %2, !dbg !447 -// CHECK:STDOUT: } -// CHECK:STDOUT: -// CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %self) #0 !dbg !448 { -// CHECK:STDOUT: ret i8 %self, !dbg !453 +// CHECK:STDOUT: define linkonce_odr i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %self) #0 !dbg !444 { +// CHECK:STDOUT: ret i8 %self, !dbg !449 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives // CHECK:STDOUT: uselistorder ptr @_CDiscard.Main.15688e19507865c6, { 21, 0, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 } -// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.e9c1448dbe7924fd", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.d183f33d898732ee", { 1, 0 } // CHECK:STDOUT: uselistorder ptr @_CDiscard.Main.147e0bd019a31663, { 3, 0, 2, 1 } -// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.a50a2c9bae81b275", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.b3e492be1929cf8f", { 1, 0 } // CHECK:STDOUT: uselistorder ptr @_CDiscard.Main.eadca4a969cf6f21, { 6, 0, 5, 1, 2, 3, 4 } -// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.ec068bac8f2d9e00", { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.6091cd0e1782c4bf", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.05fbd7e2dbdd4666", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1", { 0, 1, 2, 3, 5, 4 } // CHECK:STDOUT: uselistorder ptr @_CDiscard.Main.a4c7fafe8a72cac4, { 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 } -// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331", { 3, 2, 1, 0 } // CHECK:STDOUT: uselistorder ptr @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8", { 3, 2, 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -754,7 +747,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !193 = !{!194} // CHECK:STDOUT: !194 = !DILocalVariable(arg: 1, scope: !190, type: !7) // CHECK:STDOUT: !195 = !DILocation(line: 19, column: 1, scope: !190) -// CHECK:STDOUT: !196 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.e9c1448dbe7924fd", scope: null, file: !197, line: 42, type: !198, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !200) +// CHECK:STDOUT: !196 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.d183f33d898732ee", scope: null, file: !197, line: 42, type: !198, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !200) // CHECK:STDOUT: !197 = !DIFile(filename: "{{.*}}/prelude/types/char.carbon", directory: "") // CHECK:STDOUT: !198 = !DISubroutineType(types: !199) // CHECK:STDOUT: !199 = !{!165, !7} @@ -767,7 +760,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !206 = !{!207} // CHECK:STDOUT: !207 = !DILocalVariable(arg: 1, scope: !203, type: !165) // CHECK:STDOUT: !208 = !DILocation(line: 19, column: 1, scope: !203) -// CHECK:STDOUT: !209 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.a50a2c9bae81b275", scope: null, file: !197, line: 42, type: !210, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !212) +// CHECK:STDOUT: !209 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.b3e492be1929cf8f", scope: null, file: !197, line: 42, type: !210, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !212) // CHECK:STDOUT: !210 = !DISubroutineType(types: !211) // CHECK:STDOUT: !211 = !{!179, !7} // CHECK:STDOUT: !212 = !{!213} @@ -779,13 +772,13 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !218 = !{!219} // CHECK:STDOUT: !219 = !DILocalVariable(arg: 1, scope: !215, type: !179) // CHECK:STDOUT: !220 = !DILocation(line: 19, column: 1, scope: !215) -// CHECK:STDOUT: !221 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.ec068bac8f2d9e00", scope: null, file: !197, line: 42, type: !222, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !224) +// CHECK:STDOUT: !221 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.05fbd7e2dbdd4666", scope: null, file: !197, line: 42, type: !222, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !224) // CHECK:STDOUT: !222 = !DISubroutineType(types: !223) // CHECK:STDOUT: !223 = !{!126, !7} // CHECK:STDOUT: !224 = !{!225} // CHECK:STDOUT: !225 = !DILocalVariable(arg: 1, scope: !221, type: !7) // CHECK:STDOUT: !226 = !DILocation(line: 43, column: 5, scope: !221) -// CHECK:STDOUT: !227 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.6091cd0e1782c4bf", scope: null, file: !197, line: 42, type: !228, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !230) +// CHECK:STDOUT: !227 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1", scope: null, file: !197, line: 42, type: !228, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !230) // CHECK:STDOUT: !228 = !DISubroutineType(types: !229) // CHECK:STDOUT: !229 = !{!140, !7} // CHECK:STDOUT: !230 = !{!231} @@ -797,7 +790,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !236 = !{!237} // CHECK:STDOUT: !237 = !DILocalVariable(arg: 1, scope: !233, type: !8) // CHECK:STDOUT: !238 = !DILocation(line: 19, column: 1, scope: !233) -// CHECK:STDOUT: !239 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.7c3e388e0087434a.Core.ab8531ca840d1501", scope: null, file: !197, line: 129, type: !240, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !242) +// CHECK:STDOUT: !239 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.7c3e388e0087434a.Core.9188b823847778f0", scope: null, file: !197, line: 129, type: !240, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !242) // CHECK:STDOUT: !240 = !DISubroutineType(types: !241) // CHECK:STDOUT: !241 = !{!140, !7, !7} // CHECK:STDOUT: !242 = !{!243, !244} @@ -807,7 +800,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !246 = !DILocation(line: 130, column: 29, scope: !239) // CHECK:STDOUT: !247 = !DILocation(line: 130, column: 12, scope: !239) // CHECK:STDOUT: !248 = !DILocation(line: 130, column: 5, scope: !239) -// CHECK:STDOUT: !249 = distinct !DISubprogram(name: "Op", linkageName: "_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.ab8531ca840d1501", scope: null, file: !197, line: 123, type: !240, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !250) +// CHECK:STDOUT: !249 = distinct !DISubprogram(name: "Op", linkageName: "_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.9188b823847778f0", scope: null, file: !197, line: 123, type: !240, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !250) // CHECK:STDOUT: !250 = !{!251, !252} // CHECK:STDOUT: !251 = !DILocalVariable(arg: 1, scope: !249, type: !7) // CHECK:STDOUT: !252 = !DILocalVariable(arg: 2, scope: !249, type: !7) @@ -815,7 +808,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !254 = !DILocation(line: 124, column: 29, scope: !249) // CHECK:STDOUT: !255 = !DILocation(line: 124, column: 12, scope: !249) // CHECK:STDOUT: !256 = !DILocation(line: 124, column: 5, scope: !249) -// CHECK:STDOUT: !257 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.852ed75bdc952b41", scope: null, file: !197, line: 94, type: !258, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !260) +// CHECK:STDOUT: !257 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.be6db155159bf0e6", scope: null, file: !197, line: 94, type: !258, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !260) // CHECK:STDOUT: !258 = !DISubroutineType(types: !259) // CHECK:STDOUT: !259 = !{!7, !7, !112} // CHECK:STDOUT: !260 = !{!261, !262} @@ -823,7 +816,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !262 = !DILocalVariable(arg: 2, scope: !257, type: !112) // CHECK:STDOUT: !263 = !DILocation(line: 96, column: 13, scope: !257) // CHECK:STDOUT: !264 = !DILocation(line: 96, column: 5, scope: !257) -// CHECK:STDOUT: !265 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.852ed75bdc952b41", scope: null, file: !197, line: 102, type: !266, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !268) +// CHECK:STDOUT: !265 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.be6db155159bf0e6", scope: null, file: !197, line: 102, type: !266, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !268) // CHECK:STDOUT: !266 = !DISubroutineType(types: !267) // CHECK:STDOUT: !267 = !{!7, !112, !7} // CHECK:STDOUT: !268 = !{!269, !270} @@ -831,13 +824,13 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !270 = !DILocalVariable(arg: 2, scope: !265, type: !7) // CHECK:STDOUT: !271 = !DILocation(line: 104, column: 13, scope: !265) // CHECK:STDOUT: !272 = !DILocation(line: 104, column: 5, scope: !265) -// CHECK:STDOUT: !273 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.852ed75bdc952b41", scope: null, file: !197, line: 110, type: !258, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !274) +// CHECK:STDOUT: !273 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.be6db155159bf0e6", scope: null, file: !197, line: 110, type: !258, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !274) // CHECK:STDOUT: !274 = !{!275, !276} // CHECK:STDOUT: !275 = !DILocalVariable(arg: 1, scope: !273, type: !7) // CHECK:STDOUT: !276 = !DILocalVariable(arg: 2, scope: !273, type: !112) // CHECK:STDOUT: !277 = !DILocation(line: 112, column: 13, scope: !273) // CHECK:STDOUT: !278 = !DILocation(line: 112, column: 5, scope: !273) -// CHECK:STDOUT: !279 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.4de33f895b808f69", scope: null, file: !197, line: 94, type: !280, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !282) +// CHECK:STDOUT: !279 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.b2ec6933266ee2f0", scope: null, file: !197, line: 94, type: !280, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !282) // CHECK:STDOUT: !280 = !DISubroutineType(types: !281) // CHECK:STDOUT: !281 = !{!7, !7, !126} // CHECK:STDOUT: !282 = !{!283, !284} @@ -846,7 +839,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !285 = !DILocation(line: 96, column: 29, scope: !279) // CHECK:STDOUT: !286 = !DILocation(line: 96, column: 13, scope: !279) // CHECK:STDOUT: !287 = !DILocation(line: 96, column: 5, scope: !279) -// CHECK:STDOUT: !288 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.4de33f895b808f69", scope: null, file: !197, line: 102, type: !289, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !291) +// CHECK:STDOUT: !288 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.b2ec6933266ee2f0", scope: null, file: !197, line: 102, type: !289, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !291) // CHECK:STDOUT: !289 = !DISubroutineType(types: !290) // CHECK:STDOUT: !290 = !{!7, !126, !7} // CHECK:STDOUT: !291 = !{!292, !293} @@ -855,14 +848,14 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !294 = !DILocation(line: 104, column: 14, scope: !288) // CHECK:STDOUT: !295 = !DILocation(line: 104, column: 13, scope: !288) // CHECK:STDOUT: !296 = !DILocation(line: 104, column: 5, scope: !288) -// CHECK:STDOUT: !297 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.4de33f895b808f69", scope: null, file: !197, line: 110, type: !280, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !298) +// CHECK:STDOUT: !297 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.b2ec6933266ee2f0", scope: null, file: !197, line: 110, type: !280, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !298) // CHECK:STDOUT: !298 = !{!299, !300} // CHECK:STDOUT: !299 = !DILocalVariable(arg: 1, scope: !297, type: !7) // CHECK:STDOUT: !300 = !DILocalVariable(arg: 2, scope: !297, type: !126) // CHECK:STDOUT: !301 = !DILocation(line: 112, column: 29, scope: !297) // CHECK:STDOUT: !302 = !DILocation(line: 112, column: 13, scope: !297) // CHECK:STDOUT: !303 = !DILocation(line: 112, column: 5, scope: !297) -// CHECK:STDOUT: !304 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.ae42bf297a1ee9b6", scope: null, file: !197, line: 94, type: !305, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !307) +// CHECK:STDOUT: !304 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.3c06bceea9ba44a7", scope: null, file: !197, line: 94, type: !305, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !307) // CHECK:STDOUT: !305 = !DISubroutineType(types: !306) // CHECK:STDOUT: !306 = !{!7, !7, !140} // CHECK:STDOUT: !307 = !{!308, !309} @@ -871,7 +864,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !310 = !DILocation(line: 96, column: 29, scope: !304) // CHECK:STDOUT: !311 = !DILocation(line: 96, column: 13, scope: !304) // CHECK:STDOUT: !312 = !DILocation(line: 96, column: 5, scope: !304) -// CHECK:STDOUT: !313 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.ae42bf297a1ee9b6", scope: null, file: !197, line: 102, type: !314, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !316) +// CHECK:STDOUT: !313 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.3c06bceea9ba44a7", scope: null, file: !197, line: 102, type: !314, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !316) // CHECK:STDOUT: !314 = !DISubroutineType(types: !315) // CHECK:STDOUT: !315 = !{!7, !140, !7} // CHECK:STDOUT: !316 = !{!317, !318} @@ -880,14 +873,14 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !319 = !DILocation(line: 104, column: 14, scope: !313) // CHECK:STDOUT: !320 = !DILocation(line: 104, column: 13, scope: !313) // CHECK:STDOUT: !321 = !DILocation(line: 104, column: 5, scope: !313) -// CHECK:STDOUT: !322 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.ae42bf297a1ee9b6", scope: null, file: !197, line: 110, type: !305, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !323) +// CHECK:STDOUT: !322 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.3c06bceea9ba44a7", scope: null, file: !197, line: 110, type: !305, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !323) // CHECK:STDOUT: !323 = !{!324, !325} // CHECK:STDOUT: !324 = !DILocalVariable(arg: 1, scope: !322, type: !7) // CHECK:STDOUT: !325 = !DILocalVariable(arg: 2, scope: !322, type: !140) // CHECK:STDOUT: !326 = !DILocation(line: 112, column: 29, scope: !322) // CHECK:STDOUT: !327 = !DILocation(line: 112, column: 13, scope: !322) // CHECK:STDOUT: !328 = !DILocation(line: 112, column: 5, scope: !322) -// CHECK:STDOUT: !329 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.3ff23939bf07ad5f", scope: null, file: !197, line: 94, type: !330, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !332) +// CHECK:STDOUT: !329 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.c8c7baf2b5955a72", scope: null, file: !197, line: 94, type: !330, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !332) // CHECK:STDOUT: !330 = !DISubroutineType(types: !331) // CHECK:STDOUT: !331 = !{!7, !7, !7} // CHECK:STDOUT: !332 = !{!333, !334} @@ -895,19 +888,19 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !334 = !DILocalVariable(arg: 2, scope: !329, type: !7) // CHECK:STDOUT: !335 = !DILocation(line: 96, column: 13, scope: !329) // CHECK:STDOUT: !336 = !DILocation(line: 96, column: 5, scope: !329) -// CHECK:STDOUT: !337 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.3ff23939bf07ad5f", scope: null, file: !197, line: 102, type: !330, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !338) +// CHECK:STDOUT: !337 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.c8c7baf2b5955a72", scope: null, file: !197, line: 102, type: !330, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !338) // CHECK:STDOUT: !338 = !{!339, !340} // CHECK:STDOUT: !339 = !DILocalVariable(arg: 1, scope: !337, type: !7) // CHECK:STDOUT: !340 = !DILocalVariable(arg: 2, scope: !337, type: !7) // CHECK:STDOUT: !341 = !DILocation(line: 104, column: 13, scope: !337) // CHECK:STDOUT: !342 = !DILocation(line: 104, column: 5, scope: !337) -// CHECK:STDOUT: !343 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.3ff23939bf07ad5f", scope: null, file: !197, line: 110, type: !330, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !344) +// CHECK:STDOUT: !343 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.c8c7baf2b5955a72", scope: null, file: !197, line: 110, type: !330, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !344) // CHECK:STDOUT: !344 = !{!345, !346} // CHECK:STDOUT: !345 = !DILocalVariable(arg: 1, scope: !343, type: !7) // CHECK:STDOUT: !346 = !DILocalVariable(arg: 2, scope: !343, type: !7) // CHECK:STDOUT: !347 = !DILocation(line: 112, column: 13, scope: !343) // CHECK:STDOUT: !348 = !DILocation(line: 112, column: 5, scope: !343) -// CHECK:STDOUT: !349 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.a374c478e4368fa7", scope: null, file: !197, line: 94, type: !350, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !352) +// CHECK:STDOUT: !349 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.61bb220507f77095", scope: null, file: !197, line: 94, type: !350, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !352) // CHECK:STDOUT: !350 = !DISubroutineType(types: !351) // CHECK:STDOUT: !351 = !{!7, !7, !165} // CHECK:STDOUT: !352 = !{!353, !354} @@ -916,7 +909,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !355 = !DILocation(line: 96, column: 29, scope: !349) // CHECK:STDOUT: !356 = !DILocation(line: 96, column: 13, scope: !349) // CHECK:STDOUT: !357 = !DILocation(line: 96, column: 5, scope: !349) -// CHECK:STDOUT: !358 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.a374c478e4368fa7", scope: null, file: !197, line: 102, type: !359, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !361) +// CHECK:STDOUT: !358 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.61bb220507f77095", scope: null, file: !197, line: 102, type: !359, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !361) // CHECK:STDOUT: !359 = !DISubroutineType(types: !360) // CHECK:STDOUT: !360 = !{!7, !165, !7} // CHECK:STDOUT: !361 = !{!362, !363} @@ -925,14 +918,14 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !364 = !DILocation(line: 104, column: 14, scope: !358) // CHECK:STDOUT: !365 = !DILocation(line: 104, column: 13, scope: !358) // CHECK:STDOUT: !366 = !DILocation(line: 104, column: 5, scope: !358) -// CHECK:STDOUT: !367 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.a374c478e4368fa7", scope: null, file: !197, line: 110, type: !350, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !368) +// CHECK:STDOUT: !367 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.61bb220507f77095", scope: null, file: !197, line: 110, type: !350, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !368) // CHECK:STDOUT: !368 = !{!369, !370} // CHECK:STDOUT: !369 = !DILocalVariable(arg: 1, scope: !367, type: !7) // CHECK:STDOUT: !370 = !DILocalVariable(arg: 2, scope: !367, type: !165) // CHECK:STDOUT: !371 = !DILocation(line: 112, column: 29, scope: !367) // CHECK:STDOUT: !372 = !DILocation(line: 112, column: 13, scope: !367) // CHECK:STDOUT: !373 = !DILocation(line: 112, column: 5, scope: !367) -// CHECK:STDOUT: !374 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.bca5dfe49de51c76", scope: null, file: !197, line: 94, type: !375, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !377) +// CHECK:STDOUT: !374 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:AddWith.d9344a06b22b3b94.Core.4494a819d074492e", scope: null, file: !197, line: 94, type: !375, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !377) // CHECK:STDOUT: !375 = !DISubroutineType(types: !376) // CHECK:STDOUT: !376 = !{!7, !7, !179} // CHECK:STDOUT: !377 = !{!378, !379} @@ -941,7 +934,7 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !380 = !DILocation(line: 96, column: 29, scope: !374) // CHECK:STDOUT: !381 = !DILocation(line: 96, column: 13, scope: !374) // CHECK:STDOUT: !382 = !DILocation(line: 96, column: 5, scope: !374) -// CHECK:STDOUT: !383 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.bca5dfe49de51c76", scope: null, file: !197, line: 102, type: !384, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !386) +// CHECK:STDOUT: !383 = distinct !DISubprogram(name: "Op", linkageName: "_COp.fdd9948a9ef8c6e5:AddWith.295cf9b677564c5c.Core.4494a819d074492e", scope: null, file: !197, line: 102, type: !384, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !386) // CHECK:STDOUT: !384 = !DISubroutineType(types: !385) // CHECK:STDOUT: !385 = !{!7, !179, !7} // CHECK:STDOUT: !386 = !{!387, !388} @@ -950,66 +943,62 @@ fn AddSubUInt32(c: char, i: u32) { // CHECK:STDOUT: !389 = !DILocation(line: 104, column: 14, scope: !383) // CHECK:STDOUT: !390 = !DILocation(line: 104, column: 13, scope: !383) // CHECK:STDOUT: !391 = !DILocation(line: 104, column: 5, scope: !383) -// CHECK:STDOUT: !392 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.bca5dfe49de51c76", scope: null, file: !197, line: 110, type: !375, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !393) +// CHECK:STDOUT: !392 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.d9344a06b22b3b94.Core.4494a819d074492e", scope: null, file: !197, line: 110, type: !375, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !393) // CHECK:STDOUT: !393 = !{!394, !395} // CHECK:STDOUT: !394 = !DILocalVariable(arg: 1, scope: !392, type: !7) // CHECK:STDOUT: !395 = !DILocalVariable(arg: 2, scope: !392, type: !179) // CHECK:STDOUT: !396 = !DILocation(line: 112, column: 29, scope: !392) // CHECK:STDOUT: !397 = !DILocation(line: 112, column: 13, scope: !392) // CHECK:STDOUT: !398 = !DILocation(line: 112, column: 5, scope: !392) -// CHECK:STDOUT: !399 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.fccafd4c72b86e6b", scope: null, file: !400, line: 88, type: !198, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !401) +// CHECK:STDOUT: !399 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.335e322ca15c76a1", scope: null, file: !400, line: 88, type: !198, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !401) // CHECK:STDOUT: !400 = !DIFile(filename: "{{.*}}/prelude/types/uint.carbon", directory: "") // CHECK:STDOUT: !401 = !{!402} // CHECK:STDOUT: !402 = !DILocalVariable(arg: 1, scope: !399, type: !7) // CHECK:STDOUT: !403 = !DILocation(line: 89, column: 12, scope: !399) // CHECK:STDOUT: !404 = !DILocation(line: 89, column: 5, scope: !399) -// CHECK:STDOUT: !405 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.528caab81d685d04", scope: null, file: !400, line: 88, type: !210, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !406) +// CHECK:STDOUT: !405 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.9b7e0edf5c8a8a84", scope: null, file: !400, line: 88, type: !210, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !406) // CHECK:STDOUT: !406 = !{!407} // CHECK:STDOUT: !407 = !DILocalVariable(arg: 1, scope: !405, type: !7) // CHECK:STDOUT: !408 = !DILocation(line: 89, column: 12, scope: !405) // CHECK:STDOUT: !409 = !DILocation(line: 89, column: 5, scope: !405) -// CHECK:STDOUT: !410 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.8ffb6ef27be93883", scope: null, file: !400, line: 88, type: !222, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !411) +// CHECK:STDOUT: !410 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.90fccc2ec10748e3", scope: null, file: !400, line: 88, type: !222, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !411) // CHECK:STDOUT: !411 = !{!412} // CHECK:STDOUT: !412 = !DILocalVariable(arg: 1, scope: !410, type: !7) // CHECK:STDOUT: !413 = !DILocation(line: 89, column: 12, scope: !410) // CHECK:STDOUT: !414 = !DILocation(line: 89, column: 5, scope: !410) -// CHECK:STDOUT: !415 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878", scope: null, file: !400, line: 88, type: !228, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !416) +// CHECK:STDOUT: !415 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.de54a264bd4d5c6f", scope: null, file: !400, line: 88, type: !228, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !416) // CHECK:STDOUT: !416 = !{!417} // CHECK:STDOUT: !417 = !DILocalVariable(arg: 1, scope: !415, type: !7) // CHECK:STDOUT: !418 = !DILocation(line: 89, column: 12, scope: !415) // CHECK:STDOUT: !419 = !DILocation(line: 89, column: 5, scope: !415) -// CHECK:STDOUT: !420 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331", scope: null, file: !197, line: 42, type: !228, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !421) +// CHECK:STDOUT: !420 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.e4ef44314f014f83", scope: null, file: !400, line: 72, type: !198, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !421) // CHECK:STDOUT: !421 = !{!422} // CHECK:STDOUT: !422 = !DILocalVariable(arg: 1, scope: !420, type: !7) -// CHECK:STDOUT: !423 = !DILocation(line: 43, column: 5, scope: !420) -// CHECK:STDOUT: !424 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.a2a3e097ac3810ad", scope: null, file: !400, line: 72, type: !198, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !425) -// CHECK:STDOUT: !425 = !{!426} -// CHECK:STDOUT: !426 = !DILocalVariable(arg: 1, scope: !424, type: !7) -// CHECK:STDOUT: !427 = !DILocation(line: 74, column: 17, scope: !424) -// CHECK:STDOUT: !428 = !DILocation(line: 74, column: 12, scope: !424) -// CHECK:STDOUT: !429 = !DILocation(line: 74, column: 5, scope: !424) -// CHECK:STDOUT: !430 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.382ddd735ade10eb", scope: null, file: !400, line: 72, type: !210, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !431) -// CHECK:STDOUT: !431 = !{!432} -// CHECK:STDOUT: !432 = !DILocalVariable(arg: 1, scope: !430, type: !7) -// CHECK:STDOUT: !433 = !DILocation(line: 74, column: 17, scope: !430) -// CHECK:STDOUT: !434 = !DILocation(line: 74, column: 12, scope: !430) -// CHECK:STDOUT: !435 = !DILocation(line: 74, column: 5, scope: !430) -// CHECK:STDOUT: !436 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.860c0047bcbfd07c", scope: null, file: !400, line: 80, type: !222, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !437) -// CHECK:STDOUT: !437 = !{!438} -// CHECK:STDOUT: !438 = !DILocalVariable(arg: 1, scope: !436, type: !7) -// CHECK:STDOUT: !439 = !DILocation(line: 82, column: 17, scope: !436) -// CHECK:STDOUT: !440 = !DILocation(line: 82, column: 12, scope: !436) -// CHECK:STDOUT: !441 = !DILocation(line: 82, column: 5, scope: !436) -// CHECK:STDOUT: !442 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.1445989f3533347d", scope: null, file: !400, line: 80, type: !228, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !443) -// CHECK:STDOUT: !443 = !{!444} -// CHECK:STDOUT: !444 = !DILocalVariable(arg: 1, scope: !442, type: !7) -// CHECK:STDOUT: !445 = !DILocation(line: 82, column: 17, scope: !442) -// CHECK:STDOUT: !446 = !DILocation(line: 82, column: 12, scope: !442) -// CHECK:STDOUT: !447 = !DILocation(line: 82, column: 5, scope: !442) -// CHECK:STDOUT: !448 = distinct !DISubprogram(name: "AsUInt", linkageName: "_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8", scope: null, file: !400, line: 60, type: !449, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !451) -// CHECK:STDOUT: !449 = !DISubroutineType(types: !450) -// CHECK:STDOUT: !450 = !{!7, !7} -// CHECK:STDOUT: !451 = !{!452} -// CHECK:STDOUT: !452 = !DILocalVariable(arg: 1, scope: !448, type: !7) -// CHECK:STDOUT: !453 = !DILocation(line: 60, column: 29, scope: !448) +// CHECK:STDOUT: !423 = !DILocation(line: 74, column: 17, scope: !420) +// CHECK:STDOUT: !424 = !DILocation(line: 74, column: 12, scope: !420) +// CHECK:STDOUT: !425 = !DILocation(line: 74, column: 5, scope: !420) +// CHECK:STDOUT: !426 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.62c2f9adcd5bc12d", scope: null, file: !400, line: 72, type: !210, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !427) +// CHECK:STDOUT: !427 = !{!428} +// CHECK:STDOUT: !428 = !DILocalVariable(arg: 1, scope: !426, type: !7) +// CHECK:STDOUT: !429 = !DILocation(line: 74, column: 17, scope: !426) +// CHECK:STDOUT: !430 = !DILocation(line: 74, column: 12, scope: !426) +// CHECK:STDOUT: !431 = !DILocation(line: 74, column: 5, scope: !426) +// CHECK:STDOUT: !432 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.4f3746a8c9265ebe", scope: null, file: !400, line: 80, type: !222, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !433) +// CHECK:STDOUT: !433 = !{!434} +// CHECK:STDOUT: !434 = !DILocalVariable(arg: 1, scope: !432, type: !7) +// CHECK:STDOUT: !435 = !DILocation(line: 82, column: 17, scope: !432) +// CHECK:STDOUT: !436 = !DILocation(line: 82, column: 12, scope: !432) +// CHECK:STDOUT: !437 = !DILocation(line: 82, column: 5, scope: !432) +// CHECK:STDOUT: !438 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.d19fcdc7c1bc8ad3", scope: null, file: !400, line: 80, type: !228, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !439) +// CHECK:STDOUT: !439 = !{!440} +// CHECK:STDOUT: !440 = !DILocalVariable(arg: 1, scope: !438, type: !7) +// CHECK:STDOUT: !441 = !DILocation(line: 82, column: 17, scope: !438) +// CHECK:STDOUT: !442 = !DILocation(line: 82, column: 12, scope: !438) +// CHECK:STDOUT: !443 = !DILocation(line: 82, column: 5, scope: !438) +// CHECK:STDOUT: !444 = distinct !DISubprogram(name: "AsUInt", linkageName: "_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8", scope: null, file: !400, line: 60, type: !445, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !447) +// CHECK:STDOUT: !445 = !DISubroutineType(types: !446) +// CHECK:STDOUT: !446 = !{!7, !7} +// CHECK:STDOUT: !447 = !{!448} +// CHECK:STDOUT: !448 = !DILocalVariable(arg: 1, scope: !444, type: !7) +// CHECK:STDOUT: !449 = !DILocation(line: 60, column: 29, scope: !444) // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/primitives/char_literals.carbon b/toolchain/lower/testdata/primitives/char_literals.carbon index 0c406553b682..7e7ec64b2399 100644 --- a/toolchain/lower/testdata/primitives/char_literals.carbon +++ b/toolchain/lower/testdata/primitives/char_literals.carbon @@ -144,9 +144,9 @@ fn AddSubInt8() { // CHECK:STDOUT: define void @_CSubCharChar.Main(i8 %c) #0 !dbg !59 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @_CDiscard.Main.084a2801e0f5d754({} zeroinitializer), !dbg !62 -// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i32 @"_COp.Char.Core:SubWith.7c3e388e0087434a.Core.f0dfac78fde8177c"(i8 %c, i8 120), !dbg !63 +// CHECK:STDOUT: %char.as.SubWith.impl.Op.call = call i32 @"_COp.Char.Core:SubWith.7c3e388e0087434a.Core.2afba0967235ad27"(i8 %c, i8 120), !dbg !63 // CHECK:STDOUT: call void @_CDiscard.Main.eadca4a969cf6f21(i32 %char.as.SubWith.impl.Op.call), !dbg !64 -// CHECK:STDOUT: %T.as_type.as.SubWith.impl.Op.call = call i32 @"_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.f0dfac78fde8177c"(i8 120, i8 %c), !dbg !65 +// CHECK:STDOUT: %T.as_type.as.SubWith.impl.Op.call = call i32 @"_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.2afba0967235ad27"(i8 120, i8 %c), !dbg !65 // CHECK:STDOUT: call void @_CDiscard.Main.eadca4a969cf6f21(i32 %T.as_type.as.SubWith.impl.Op.call), !dbg !66 // CHECK:STDOUT: ret void, !dbg !67 // CHECK:STDOUT: } @@ -200,17 +200,17 @@ fn AddSubInt8() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_COp.Char.Core:SubWith.7c3e388e0087434a.Core.f0dfac78fde8177c"(i8 %self, i8 %other) #0 !dbg !106 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %self), !dbg !114 -// CHECK:STDOUT: %2 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %other), !dbg !115 +// CHECK:STDOUT: define linkonce_odr i32 @"_COp.Char.Core:SubWith.7c3e388e0087434a.Core.2afba0967235ad27"(i8 %self, i8 %other) #0 !dbg !106 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %self), !dbg !114 +// CHECK:STDOUT: %2 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %other), !dbg !115 // CHECK:STDOUT: %3 = sub i32 %1, %2, !dbg !116 // CHECK:STDOUT: ret i32 %3, !dbg !117 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.f0dfac78fde8177c"(i8 %self, i8 %other) #0 !dbg !118 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %self), !dbg !122 -// CHECK:STDOUT: %2 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %other), !dbg !123 +// CHECK:STDOUT: define linkonce_odr i32 @"_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.2afba0967235ad27"(i8 %self, i8 %other) #0 !dbg !118 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %self), !dbg !122 +// CHECK:STDOUT: %2 = call i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %other), !dbg !123 // CHECK:STDOUT: %3 = sub i32 %1, %2, !dbg !124 // CHECK:STDOUT: ret i32 %3, !dbg !125 // CHECK:STDOUT: } @@ -218,19 +218,19 @@ fn AddSubInt8() { // CHECK:STDOUT: declare i32 @"_COp.Char.Core:SubWith.295cf9b677564c5c.Core"(i8, i8) // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331"(i8 %self) #0 !dbg !126 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878"(i8 %self), !dbg !131 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1"(i8 %self) #0 !dbg !126 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.de54a264bd4d5c6f"(i8 %self), !dbg !131 // CHECK:STDOUT: ret i32 %1, !dbg !131 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878"(i8 %self) #0 !dbg !132 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.1445989f3533347d"(i8 %self), !dbg !136 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.de54a264bd4d5c6f"(i8 %self) #0 !dbg !132 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.d19fcdc7c1bc8ad3"(i8 %self), !dbg !136 // CHECK:STDOUT: ret i32 %1, !dbg !137 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.1445989f3533347d"(i8 %from) #0 !dbg !138 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.d19fcdc7c1bc8ad3"(i8 %from) #0 !dbg !138 { // CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !141 // CHECK:STDOUT: %2 = zext i8 %1 to i32, !dbg !142 // CHECK:STDOUT: ret i32 %2, !dbg !143 @@ -247,7 +247,7 @@ fn AddSubInt8() { // CHECK:STDOUT: uselistorder ptr @_CDiscard.Main.eadca4a969cf6f21, { 5, 0, 4, 1, 2, 3 } // CHECK:STDOUT: uselistorder ptr @_CDiscard.Main.a4c7fafe8a72cac4, { 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 } // CHECK:STDOUT: uselistorder ptr @_CDiscard.Main.084a2801e0f5d754, { 6, 0, 1, 2, 3, 4, 5 } -// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331", { 3, 2, 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1", { 3, 2, 1, 0 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } // CHECK:STDOUT: @@ -360,7 +360,7 @@ fn AddSubInt8() { // CHECK:STDOUT: !103 = !{!104} // CHECK:STDOUT: !104 = !DILocalVariable(arg: 1, scope: !102, type: !8) // CHECK:STDOUT: !105 = !DILocation(line: 19, column: 1, scope: !102) -// CHECK:STDOUT: !106 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.7c3e388e0087434a.Core.f0dfac78fde8177c", scope: null, file: !107, line: 129, type: !108, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !111) +// CHECK:STDOUT: !106 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Char.Core:SubWith.7c3e388e0087434a.Core.2afba0967235ad27", scope: null, file: !107, line: 129, type: !108, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !111) // CHECK:STDOUT: !107 = !DIFile(filename: "{{.*}}/prelude/types/char.carbon", directory: "") // CHECK:STDOUT: !108 = !DISubroutineType(types: !109) // CHECK:STDOUT: !109 = !{!110, !7, !7} @@ -372,7 +372,7 @@ fn AddSubInt8() { // CHECK:STDOUT: !115 = !DILocation(line: 130, column: 29, scope: !106) // CHECK:STDOUT: !116 = !DILocation(line: 130, column: 12, scope: !106) // CHECK:STDOUT: !117 = !DILocation(line: 130, column: 5, scope: !106) -// CHECK:STDOUT: !118 = distinct !DISubprogram(name: "Op", linkageName: "_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.f0dfac78fde8177c", scope: null, file: !107, line: 123, type: !108, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !119) +// CHECK:STDOUT: !118 = distinct !DISubprogram(name: "Op", linkageName: "_COp.b27934686504f96c:SubWith.295cf9b677564c5c.Core.2afba0967235ad27", scope: null, file: !107, line: 123, type: !108, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !119) // CHECK:STDOUT: !119 = !{!120, !121} // CHECK:STDOUT: !120 = !DILocalVariable(arg: 1, scope: !118, type: !7) // CHECK:STDOUT: !121 = !DILocalVariable(arg: 2, scope: !118, type: !7) @@ -380,19 +380,19 @@ fn AddSubInt8() { // CHECK:STDOUT: !123 = !DILocation(line: 124, column: 29, scope: !118) // CHECK:STDOUT: !124 = !DILocation(line: 124, column: 12, scope: !118) // CHECK:STDOUT: !125 = !DILocation(line: 124, column: 5, scope: !118) -// CHECK:STDOUT: !126 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.2a1af5ae9b2dc331", scope: null, file: !107, line: 42, type: !127, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !129) +// CHECK:STDOUT: !126 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Char.Core:As.5d7343568c0b5715.Core.da068cc98c408be1", scope: null, file: !107, line: 42, type: !127, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !129) // CHECK:STDOUT: !127 = !DISubroutineType(types: !128) // CHECK:STDOUT: !128 = !{!110, !7} // CHECK:STDOUT: !129 = !{!130} // CHECK:STDOUT: !130 = !DILocalVariable(arg: 1, scope: !126, type: !7) // CHECK:STDOUT: !131 = !DILocation(line: 43, column: 5, scope: !126) -// CHECK:STDOUT: !132 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878", scope: null, file: !133, line: 88, type: !127, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !134) +// CHECK:STDOUT: !132 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.de54a264bd4d5c6f", scope: null, file: !133, line: 88, type: !127, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !134) // CHECK:STDOUT: !133 = !DIFile(filename: "{{.*}}/prelude/types/uint.carbon", directory: "") // CHECK:STDOUT: !134 = !{!135} // CHECK:STDOUT: !135 = !DILocalVariable(arg: 1, scope: !132, type: !7) // CHECK:STDOUT: !136 = !DILocation(line: 89, column: 12, scope: !132) // CHECK:STDOUT: !137 = !DILocation(line: 89, column: 5, scope: !132) -// CHECK:STDOUT: !138 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.1445989f3533347d", scope: null, file: !133, line: 80, type: !127, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !139) +// CHECK:STDOUT: !138 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.d19fcdc7c1bc8ad3", scope: null, file: !133, line: 80, type: !127, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !139) // CHECK:STDOUT: !139 = !{!140} // CHECK:STDOUT: !140 = !DILocalVariable(arg: 1, scope: !138, type: !7) // CHECK:STDOUT: !141 = !DILocation(line: 82, column: 17, scope: !138) diff --git a/toolchain/lower/testdata/primitives/int_types.carbon b/toolchain/lower/testdata/primitives/int_types.carbon index c2d85b15aea7..6de0f18de3d2 100644 --- a/toolchain/lower/testdata/primitives/int_types.carbon +++ b/toolchain/lower/testdata/primitives/int_types.carbon @@ -171,67 +171,67 @@ fn ImplicitWidenUnsignedCustom(a: Core.UInt(4)) -> Core.UInt(5) { return a; } // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @_CImplicitWidenSigned.Main(i8 %a) #0 !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %From.as_type.as.ImplicitAs.impl.Convert.call = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.538f75cb237ee016"(i8 %a), !dbg !11 +// CHECK:STDOUT: %From.as_type.as.ImplicitAs.impl.Convert.call = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.619f31db71280c12"(i8 %a), !dbg !11 // CHECK:STDOUT: ret i32 %From.as_type.as.ImplicitAs.impl.Convert.call, !dbg !11 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @_CImplicitWidenUnsigned.Main(i8 %a) #0 !dbg !12 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.call = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.528caab81d685d04"(i8 %a), !dbg !19 +// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.call = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.9b7e0edf5c8a8a84"(i8 %a), !dbg !19 // CHECK:STDOUT: ret i32 %UInt.as.ImplicitAs.impl.Convert.call, !dbg !19 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i32 @_CImplicitWidenUnsignedToSigned.Main(i8 %a) #0 !dbg !20 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.call = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878"(i8 %a), !dbg !25 +// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.call = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.de54a264bd4d5c6f"(i8 %a), !dbg !25 // CHECK:STDOUT: ret i32 %UInt.as.ImplicitAs.impl.Convert.call, !dbg !25 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i5 @_CImplicitWidenCustom.Main(i4 %a) #0 !dbg !26 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %From.as_type.as.ImplicitAs.impl.Convert.call = call i5 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.8bd6b529c7d2e033"(i4 %a), !dbg !33 +// CHECK:STDOUT: %From.as_type.as.ImplicitAs.impl.Convert.call = call i5 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.2ea6d7b983af5ccc"(i4 %a), !dbg !33 // CHECK:STDOUT: ret i5 %From.as_type.as.ImplicitAs.impl.Convert.call, !dbg !33 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define i5 @_CImplicitWidenUnsignedCustom.Main(i4 %a) #0 !dbg !34 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.call = call i5 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.aae0693703cf1928"(i4 %a), !dbg !41 +// CHECK:STDOUT: %UInt.as.ImplicitAs.impl.Convert.call = call i5 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.f685d1058ed485bb"(i4 %a), !dbg !41 // CHECK:STDOUT: ret i5 %UInt.as.ImplicitAs.impl.Convert.call, !dbg !41 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.538f75cb237ee016"(i8 %self) #0 !dbg !42 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.619f31db71280c12"(i8 %self) #0 !dbg !42 { // CHECK:STDOUT: %1 = call i8 @"_CAsInt.Int.9452f4c51951679b.Core:AnyInt.Core.ca1ac10d3fc7c1a8"(i8 %self), !dbg !46 // CHECK:STDOUT: %2 = sext i8 %1 to i32, !dbg !47 // CHECK:STDOUT: ret i32 %2, !dbg !48 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.528caab81d685d04"(i8 %self) #0 !dbg !49 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.382ddd735ade10eb"(i8 %self), !dbg !53 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.9b7e0edf5c8a8a84"(i8 %self) #0 !dbg !49 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.62c2f9adcd5bc12d"(i8 %self), !dbg !53 // CHECK:STDOUT: ret i32 %1, !dbg !54 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878"(i8 %self) #0 !dbg !55 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.1445989f3533347d"(i8 %self), !dbg !58 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.de54a264bd4d5c6f"(i8 %self) #0 !dbg !55 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.d19fcdc7c1bc8ad3"(i8 %self), !dbg !58 // CHECK:STDOUT: ret i32 %1, !dbg !59 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i5 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.8bd6b529c7d2e033"(i4 %self) #0 !dbg !60 { +// CHECK:STDOUT: define linkonce_odr i5 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.2ea6d7b983af5ccc"(i4 %self) #0 !dbg !60 { // CHECK:STDOUT: %1 = call i4 @"_CAsInt.Int.9452f4c51951679b.Core:AnyInt.Core.044c7d430ddd4fd6"(i4 %self), !dbg !63 // CHECK:STDOUT: %2 = sext i4 %1 to i5, !dbg !64 // CHECK:STDOUT: ret i5 %2, !dbg !65 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i5 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.aae0693703cf1928"(i4 %self) #0 !dbg !66 { -// CHECK:STDOUT: %1 = call i5 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.2e11ee68a70378cd"(i4 %self), !dbg !69 +// CHECK:STDOUT: define linkonce_odr i5 @"_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.f685d1058ed485bb"(i4 %self) #0 !dbg !66 { +// CHECK:STDOUT: %1 = call i5 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.d2c3b6e62f7c89c4"(i4 %self), !dbg !69 // CHECK:STDOUT: ret i5 %1, !dbg !70 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -241,14 +241,14 @@ fn ImplicitWidenUnsignedCustom(a: Core.UInt(4)) -> Core.UInt(5) { return a; } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.382ddd735ade10eb"(i8 %from) #0 !dbg !77 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.62c2f9adcd5bc12d"(i8 %from) #0 !dbg !77 { // CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !80 // CHECK:STDOUT: %2 = zext i8 %1 to i32, !dbg !81 // CHECK:STDOUT: ret i32 %2, !dbg !82 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.1445989f3533347d"(i8 %from) #0 !dbg !83 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.d19fcdc7c1bc8ad3"(i8 %from) #0 !dbg !83 { // CHECK:STDOUT: %1 = call i8 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.ca1ac10d3fc7c1a8"(i8 %from), !dbg !86 // CHECK:STDOUT: %2 = zext i8 %1 to i32, !dbg !87 // CHECK:STDOUT: ret i32 %2, !dbg !88 @@ -260,7 +260,7 @@ fn ImplicitWidenUnsignedCustom(a: Core.UInt(4)) -> Core.UInt(5) { return a; } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i5 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.2e11ee68a70378cd"(i4 %from) #0 !dbg !95 { +// CHECK:STDOUT: define linkonce_odr i5 @"_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.d2c3b6e62f7c89c4"(i4 %from) #0 !dbg !95 { // CHECK:STDOUT: %1 = call i4 @"_CAsUInt.UInt.9452f4c51951679b.Core:AnyUInt.Core.044c7d430ddd4fd6"(i4 %from), !dbg !98 // CHECK:STDOUT: %2 = zext i4 %1 to i5, !dbg !99 // CHECK:STDOUT: ret i5 %2, !dbg !100 @@ -326,31 +326,31 @@ fn ImplicitWidenUnsignedCustom(a: Core.UInt(4)) -> Core.UInt(5) { return a; } // CHECK:STDOUT: !39 = !{!40} // CHECK:STDOUT: !40 = !DILocalVariable(arg: 1, scope: !34, type: !38) // CHECK:STDOUT: !41 = !DILocation(line: 8, column: 67, scope: !34) -// CHECK:STDOUT: !42 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.538f75cb237ee016", scope: null, file: !43, line: 64, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !44) +// CHECK:STDOUT: !42 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.619f31db71280c12", scope: null, file: !43, line: 64, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !44) // CHECK:STDOUT: !43 = !DIFile(filename: "{{.*}}/prelude/types/int.carbon", directory: "") // CHECK:STDOUT: !44 = !{!45} // CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !42, type: !8) // CHECK:STDOUT: !46 = !DILocation(line: 66, column: 17, scope: !42) // CHECK:STDOUT: !47 = !DILocation(line: 66, column: 12, scope: !42) // CHECK:STDOUT: !48 = !DILocation(line: 66, column: 5, scope: !42) -// CHECK:STDOUT: !49 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.528caab81d685d04", scope: null, file: !50, line: 88, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !51) +// CHECK:STDOUT: !49 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.9b7e0edf5c8a8a84", scope: null, file: !50, line: 88, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !51) // CHECK:STDOUT: !50 = !DIFile(filename: "{{.*}}/prelude/types/uint.carbon", directory: "") // CHECK:STDOUT: !51 = !{!52} // CHECK:STDOUT: !52 = !DILocalVariable(arg: 1, scope: !49, type: !16) // CHECK:STDOUT: !53 = !DILocation(line: 89, column: 12, scope: !49) // CHECK:STDOUT: !54 = !DILocation(line: 89, column: 5, scope: !49) -// CHECK:STDOUT: !55 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.4af4a23d0f7fe878", scope: null, file: !50, line: 88, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !56) +// CHECK:STDOUT: !55 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.de54a264bd4d5c6f", scope: null, file: !50, line: 88, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !56) // CHECK:STDOUT: !56 = !{!57} // CHECK:STDOUT: !57 = !DILocalVariable(arg: 1, scope: !55, type: !16) // CHECK:STDOUT: !58 = !DILocation(line: 89, column: 12, scope: !55) // CHECK:STDOUT: !59 = !DILocation(line: 89, column: 5, scope: !55) -// CHECK:STDOUT: !60 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.8bd6b529c7d2e033", scope: null, file: !43, line: 64, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !61) +// CHECK:STDOUT: !60 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.2ea6d7b983af5ccc", scope: null, file: !43, line: 64, type: !27, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !61) // CHECK:STDOUT: !61 = !{!62} // CHECK:STDOUT: !62 = !DILocalVariable(arg: 1, scope: !60, type: !30) // CHECK:STDOUT: !63 = !DILocation(line: 66, column: 17, scope: !60) // CHECK:STDOUT: !64 = !DILocation(line: 66, column: 12, scope: !60) // CHECK:STDOUT: !65 = !DILocation(line: 66, column: 5, scope: !60) -// CHECK:STDOUT: !66 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.aae0693703cf1928", scope: null, file: !50, line: 88, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !67) +// CHECK:STDOUT: !66 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:ImplicitAs.f48df0d8add56b17.Core.f685d1058ed485bb", scope: null, file: !50, line: 88, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !67) // CHECK:STDOUT: !67 = !{!68} // CHECK:STDOUT: !68 = !DILocalVariable(arg: 1, scope: !66, type: !38) // CHECK:STDOUT: !69 = !DILocation(line: 89, column: 12, scope: !66) @@ -361,13 +361,13 @@ fn ImplicitWidenUnsignedCustom(a: Core.UInt(4)) -> Core.UInt(5) { return a; } // CHECK:STDOUT: !74 = !{!75} // CHECK:STDOUT: !75 = !DILocalVariable(arg: 1, scope: !71, type: !8) // CHECK:STDOUT: !76 = !DILocation(line: 59, column: 28, scope: !71) -// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.382ddd735ade10eb", scope: null, file: !50, line: 72, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !78) +// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.62c2f9adcd5bc12d", scope: null, file: !50, line: 72, type: !13, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !78) // CHECK:STDOUT: !78 = !{!79} // CHECK:STDOUT: !79 = !DILocalVariable(arg: 1, scope: !77, type: !16) // CHECK:STDOUT: !80 = !DILocation(line: 74, column: 17, scope: !77) // CHECK:STDOUT: !81 = !DILocation(line: 74, column: 12, scope: !77) // CHECK:STDOUT: !82 = !DILocation(line: 74, column: 5, scope: !77) -// CHECK:STDOUT: !83 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.1445989f3533347d", scope: null, file: !50, line: 80, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !84) +// CHECK:STDOUT: !83 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.Int.9452f4c51951679b.Core:FromUInt.94db85caea4a44af.Core.d19fcdc7c1bc8ad3", scope: null, file: !50, line: 80, type: !21, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !84) // CHECK:STDOUT: !84 = !{!85} // CHECK:STDOUT: !85 = !DILocalVariable(arg: 1, scope: !83, type: !16) // CHECK:STDOUT: !86 = !DILocation(line: 82, column: 17, scope: !83) @@ -379,7 +379,7 @@ fn ImplicitWidenUnsignedCustom(a: Core.UInt(4)) -> Core.UInt(5) { return a; } // CHECK:STDOUT: !92 = !{!93} // CHECK:STDOUT: !93 = !DILocalVariable(arg: 1, scope: !89, type: !30) // CHECK:STDOUT: !94 = !DILocation(line: 59, column: 28, scope: !89) -// CHECK:STDOUT: !95 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.2e11ee68a70378cd", scope: null, file: !50, line: 72, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !96) +// CHECK:STDOUT: !95 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.UInt.9452f4c51951679b.Core:FromUInt.a1a82301830d1e08.Core.d2c3b6e62f7c89c4", scope: null, file: !50, line: 72, type: !35, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !96) // CHECK:STDOUT: !96 = !{!97} // CHECK:STDOUT: !97 = !DILocalVariable(arg: 1, scope: !95, type: !38) // CHECK:STDOUT: !98 = !DILocation(line: 74, column: 17, scope: !95) diff --git a/toolchain/lower/testdata/primitives/optional.carbon b/toolchain/lower/testdata/primitives/optional.carbon index e377c477ea8c..5d08716c7de9 100644 --- a/toolchain/lower/testdata/primitives/optional.carbon +++ b/toolchain/lower/testdata/primitives/optional.carbon @@ -70,17 +70,17 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CConvert.Main(ptr sret(<{ i32, i1 }>) %return, ptr %o) #0 !dbg !11 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.a178e00adf2b1ac3(ptr %o), !dbg !17 +// CHECK:STDOUT: %Optional.HasValue.call = call i1 @_CHasValue.Optional.Core.6e9e957697159b53(ptr %o), !dbg !17 // CHECK:STDOUT: br i1 %Optional.HasValue.call, label %if.then, label %if.else, !dbg !18 // CHECK:STDOUT: // CHECK:STDOUT: if.then: ; preds = %entry -// CHECK:STDOUT: %Optional.Get.call = call ptr @_CGet.Optional.Core.a178e00adf2b1ac3(ptr %o), !dbg !19 +// CHECK:STDOUT: %Optional.Get.call = call ptr @_CGet.Optional.Core.6e9e957697159b53(ptr %o), !dbg !19 // CHECK:STDOUT: %.loc5_12.2 = load i32, ptr %Optional.Get.call, align 4, !dbg !20 -// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c80de46a2f7d8c8a"(ptr %return, i32 %.loc5_12.2), !dbg !21 +// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c96d3acaa6fb5a6e"(ptr %return, i32 %.loc5_12.2), !dbg !21 // CHECK:STDOUT: ret void, !dbg !21 // CHECK:STDOUT: // CHECK:STDOUT: if.else: ; preds = %entry -// CHECK:STDOUT: call void @_CNone.Optional.Core.3fe596de6d78cc18(ptr %return), !dbg !22 +// CHECK:STDOUT: call void @_CNone.Optional.Core.906a4009849fb1ba(ptr %return), !dbg !22 // CHECK:STDOUT: ret void, !dbg !23 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -96,29 +96,29 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: %_.var.loc17 = alloca <{ i32, i1 }>, align 4, !dbg !36 // CHECK:STDOUT: %_.var.loc18 = alloca <{ i32, i1 }>, align 4, !dbg !37 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc11), !dbg !30 -// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c80de46a2f7d8c8a"(ptr %_.var.loc11, i32 %a), !dbg !30 +// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c96d3acaa6fb5a6e"(ptr %_.var.loc11, i32 %a), !dbg !30 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc12), !dbg !31 -// CHECK:STDOUT: call void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.38e32d43dc7cfd5b"(ptr %_.var.loc12, i32 %a), !dbg !31 +// CHECK:STDOUT: call void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.f2690ea369d3e07d"(ptr %_.var.loc12, i32 %a), !dbg !31 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc13), !dbg !32 -// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.54b48a1b77992252"(ptr %_.var.loc13, i32 %a), !dbg !32 +// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.41ad44ef701deae9"(ptr %_.var.loc13, i32 %a), !dbg !32 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc14), !dbg !33 -// CHECK:STDOUT: call void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.a60bd9aae3592264"(ptr %_.var.loc14, i32 %a), !dbg !33 +// CHECK:STDOUT: call void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.19b31b2c090374a4"(ptr %_.var.loc14, i32 %a), !dbg !33 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc15), !dbg !34 -// CHECK:STDOUT: call void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.38e32d43dc7cfd5b"(ptr %_.var.loc15, i32 %b), !dbg !34 +// CHECK:STDOUT: call void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.f2690ea369d3e07d"(ptr %_.var.loc15, i32 %b), !dbg !34 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc16), !dbg !35 -// CHECK:STDOUT: call void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.7483ac848a4d5a2d"(ptr %_.var.loc16, i32 %b), !dbg !35 +// CHECK:STDOUT: call void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.4dfd69358d1a2477"(ptr %_.var.loc16, i32 %b), !dbg !35 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc17), !dbg !36 -// CHECK:STDOUT: call void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.a60bd9aae3592264"(ptr %_.var.loc17, i32 %b), !dbg !36 +// CHECK:STDOUT: call void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.19b31b2c090374a4"(ptr %_.var.loc17, i32 %b), !dbg !36 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc18), !dbg !37 -// CHECK:STDOUT: call void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.4cee0544fa4962a3"(ptr %_.var.loc18, i32 %b), !dbg !37 -// CHECK:STDOUT: call void @"_COp.5936a34a9de73516:core.Destroy.Core"(ptr %_.var.loc18), !dbg !37 -// CHECK:STDOUT: call void @"_COp.e4f21bad0eaa3975:core.Destroy.Core"(ptr %_.var.loc17), !dbg !36 -// CHECK:STDOUT: call void @"_COp.7701acd9580ce33b:core.Destroy.Core"(ptr %_.var.loc16), !dbg !35 -// CHECK:STDOUT: call void @"_COp.c0a4c74c980b26e9:core.Destroy.Core"(ptr %_.var.loc15), !dbg !34 -// CHECK:STDOUT: call void @"_COp.5936a34a9de73516:core.Destroy.Core"(ptr %_.var.loc14), !dbg !33 -// CHECK:STDOUT: call void @"_COp.e4f21bad0eaa3975:core.Destroy.Core"(ptr %_.var.loc13), !dbg !32 -// CHECK:STDOUT: call void @"_COp.7701acd9580ce33b:core.Destroy.Core"(ptr %_.var.loc12), !dbg !31 -// CHECK:STDOUT: call void @"_COp.c0a4c74c980b26e9:core.Destroy.Core"(ptr %_.var.loc11), !dbg !30 +// CHECK:STDOUT: call void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.f9ede611c58359e6"(ptr %_.var.loc18, i32 %b), !dbg !37 +// CHECK:STDOUT: call void @"_COp.41d662bef4232c09:core.Destroy.Core"(ptr %_.var.loc18), !dbg !37 +// CHECK:STDOUT: call void @"_COp.c889d0befebd8c36:core.Destroy.Core"(ptr %_.var.loc17), !dbg !36 +// CHECK:STDOUT: call void @"_COp.10babb043e8810ee:core.Destroy.Core"(ptr %_.var.loc16), !dbg !35 +// CHECK:STDOUT: call void @"_COp.9b789c86e8f82032:core.Destroy.Core"(ptr %_.var.loc15), !dbg !34 +// CHECK:STDOUT: call void @"_COp.41d662bef4232c09:core.Destroy.Core"(ptr %_.var.loc14), !dbg !33 +// CHECK:STDOUT: call void @"_COp.c889d0befebd8c36:core.Destroy.Core"(ptr %_.var.loc13), !dbg !32 +// CHECK:STDOUT: call void @"_COp.10babb043e8810ee:core.Destroy.Core"(ptr %_.var.loc12), !dbg !31 +// CHECK:STDOUT: call void @"_COp.9b789c86e8f82032:core.Destroy.Core"(ptr %_.var.loc11), !dbg !30 // CHECK:STDOUT: ret void, !dbg !38 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -147,19 +147,19 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.4352d4717a4da3c5:core.Destroy.Core"(ptr %self) #0 !dbg !57 { +// CHECK:STDOUT: define weak_odr void @"_COp.2333d03636706f32:core.Destroy.Core"(ptr %self) #0 !dbg !57 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !60 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.e4f21bad0eaa3975:core.Destroy.Core"(ptr %self) #0 !dbg !61 { +// CHECK:STDOUT: define weak_odr void @"_COp.c889d0befebd8c36:core.Destroy.Core"(ptr %self) #0 !dbg !61 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !64 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.5936a34a9de73516:core.Destroy.Core"(ptr %self) #0 !dbg !65 { +// CHECK:STDOUT: define weak_odr void @"_COp.41d662bef4232c09:core.Destroy.Core"(ptr %self) #0 !dbg !65 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !68 // CHECK:STDOUT: } @@ -183,44 +183,44 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.36bd54c278c044c5:core.Destroy.Core"(ptr %self) #0 !dbg !81 { +// CHECK:STDOUT: define weak_odr void @"_COp.2cdd3a22ec59b112:core.Destroy.Core"(ptr %self) #0 !dbg !81 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !84 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.c0a4c74c980b26e9:core.Destroy.Core"(ptr %self) #0 !dbg !85 { +// CHECK:STDOUT: define weak_odr void @"_COp.9b789c86e8f82032:core.Destroy.Core"(ptr %self) #0 !dbg !85 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !88 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define weak_odr void @"_COp.7701acd9580ce33b:core.Destroy.Core"(ptr %self) #0 !dbg !89 { +// CHECK:STDOUT: define weak_odr void @"_COp.10babb043e8810ee:core.Destroy.Core"(ptr %self) #0 !dbg !89 { // CHECK:STDOUT: entry: // CHECK:STDOUT: ret void, !dbg !92 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.a178e00adf2b1ac3(ptr %self) #0 !dbg !93 { +// CHECK:STDOUT: define linkonce_odr i1 @_CHasValue.Optional.Core.6e9e957697159b53(ptr %self) #0 !dbg !93 { // CHECK:STDOUT: %1 = call i1 @"_CHas.e8f8f92d3d08d149:OptionalStorage.Core.84588f41d61dafba"(ptr %self), !dbg !97 // CHECK:STDOUT: ret i1 %1, !dbg !98 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @_CGet.Optional.Core.a178e00adf2b1ac3(ptr %self) #0 !dbg !99 { +// CHECK:STDOUT: define linkonce_odr ptr @_CGet.Optional.Core.6e9e957697159b53(ptr %self) #0 !dbg !99 { // CHECK:STDOUT: %1 = call ptr @"_CGet.e8f8f92d3d08d149:OptionalStorage.Core.84588f41d61dafba"(ptr %self), !dbg !102 // CHECK:STDOUT: ret ptr %1, !dbg !103 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c80de46a2f7d8c8a"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !104 { -// CHECK:STDOUT: call void @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.3fe596de6d78cc18"(ptr %return, i32 %self), !dbg !109 +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c96d3acaa6fb5a6e"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !104 { +// CHECK:STDOUT: call void @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.906a4009849fb1ba"(ptr %return, i32 %self), !dbg !109 // CHECK:STDOUT: ret void, !dbg !110 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.3fe596de6d78cc18(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !111 { -// CHECK:STDOUT: call void @"_CNone.74becf39533834ee:OptionalStorage.Core.b99f4a084b13a83f"(ptr %return), !dbg !114 +// CHECK:STDOUT: define linkonce_odr void @_CNone.Optional.Core.906a4009849fb1ba(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !111 { +// CHECK:STDOUT: call void @"_CNone.74becf39533834ee:OptionalStorage.Core.694f9f022249e533"(ptr %return), !dbg !114 // CHECK:STDOUT: ret void, !dbg !115 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -228,44 +228,44 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.38e32d43dc7cfd5b"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !116 { -// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c80de46a2f7d8c8a"(ptr %return, i32 %self), !dbg !120 +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.f2690ea369d3e07d"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !116 { +// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c96d3acaa6fb5a6e"(ptr %return, i32 %self), !dbg !120 // CHECK:STDOUT: ret void, !dbg !121 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.54b48a1b77992252"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !122 { -// CHECK:STDOUT: call void @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.f36795428b7f273b"(ptr %return, i32 %self), !dbg !125 +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.41ad44ef701deae9"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !122 { +// CHECK:STDOUT: call void @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.c9c7306e533f1643"(ptr %return, i32 %self), !dbg !125 // CHECK:STDOUT: ret void, !dbg !126 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.a60bd9aae3592264"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !127 { -// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.54b48a1b77992252"(ptr %return, i32 %self), !dbg !130 +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.19b31b2c090374a4"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !127 { +// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.41ad44ef701deae9"(ptr %return, i32 %self), !dbg !130 // CHECK:STDOUT: ret void, !dbg !131 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.38e32d43dc7cfd5b"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !132 { -// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c80de46a2f7d8c8a"(ptr %return, i32 %self), !dbg !135 +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.f2690ea369d3e07d"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !132 { +// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c96d3acaa6fb5a6e"(ptr %return, i32 %self), !dbg !135 // CHECK:STDOUT: ret void, !dbg !136 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.7483ac848a4d5a2d"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !137 { -// CHECK:STDOUT: call void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.38e32d43dc7cfd5b"(ptr %return, i32 %self), !dbg !140 +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.4dfd69358d1a2477"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !137 { +// CHECK:STDOUT: call void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.f2690ea369d3e07d"(ptr %return, i32 %self), !dbg !140 // CHECK:STDOUT: ret void, !dbg !141 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.a60bd9aae3592264"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !142 { -// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.54b48a1b77992252"(ptr %return, i32 %self), !dbg !145 +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.19b31b2c090374a4"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !142 { +// CHECK:STDOUT: call void @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.41ad44ef701deae9"(ptr %return, i32 %self), !dbg !145 // CHECK:STDOUT: ret void, !dbg !146 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.4cee0544fa4962a3"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !147 { -// CHECK:STDOUT: call void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.a60bd9aae3592264"(ptr %return, i32 %self), !dbg !150 +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.f9ede611c58359e6"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !147 { +// CHECK:STDOUT: call void @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.19b31b2c090374a4"(ptr %return, i32 %self), !dbg !150 // CHECK:STDOUT: ret void, !dbg !151 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -282,50 +282,50 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.3fe596de6d78cc18"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !162 { -// CHECK:STDOUT: call void @_CSome.Optional.Core.3fe596de6d78cc18(ptr %return, i32 %self), !dbg !165 +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.906a4009849fb1ba"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !162 { +// CHECK:STDOUT: call void @_CSome.Optional.Core.906a4009849fb1ba(ptr %return, i32 %self), !dbg !165 // CHECK:STDOUT: ret void, !dbg !166 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CNone.74becf39533834ee:OptionalStorage.Core.b99f4a084b13a83f"(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !167 { +// CHECK:STDOUT: define linkonce_odr void @"_CNone.74becf39533834ee:OptionalStorage.Core.694f9f022249e533"(ptr sret(<{ i32, i1 }>) %return) #0 !dbg !167 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 1, !dbg !168 // CHECK:STDOUT: store i8 0, ptr %has_value, align 1, !dbg !168 // CHECK:STDOUT: ret void, !dbg !169 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.f36795428b7f273b"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !170 { +// CHECK:STDOUT: define linkonce_odr void @"_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.c9c7306e533f1643"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !170 { // CHECK:STDOUT: %temp = alloca i32, align 4, !dbg !173 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %temp), !dbg !173 -// CHECK:STDOUT: %1 = call i32 @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.67cb9ef1f8aba6f1"(i32 %self), !dbg !173 +// CHECK:STDOUT: %1 = call i32 @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.ba7abeb9eee545e2"(i32 %self), !dbg !173 // CHECK:STDOUT: store i32 %1, ptr %temp, align 4, !dbg !173 // CHECK:STDOUT: %2 = load i32, ptr %temp, align 4, !dbg !173 -// CHECK:STDOUT: call void @_CSome.Optional.Core.10ba4ab49068ea17(ptr %return, i32 %2), !dbg !174 +// CHECK:STDOUT: call void @_CSome.Optional.Core.7e0c2c3b236f4238(ptr %return, i32 %2), !dbg !174 // CHECK:STDOUT: call void @"_COp.05c48b3d4126597e:core.Destroy.Core"(ptr %temp), !dbg !173 // CHECK:STDOUT: ret void, !dbg !175 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.3fe596de6d78cc18(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !176 { -// CHECK:STDOUT: call void @"_CSome.74becf39533834ee:OptionalStorage.Core.b99f4a084b13a83f"(ptr %return, i32 %value), !dbg !179 +// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.906a4009849fb1ba(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !176 { +// CHECK:STDOUT: call void @"_CSome.74becf39533834ee:OptionalStorage.Core.694f9f022249e533"(ptr %return, i32 %value), !dbg !179 // CHECK:STDOUT: ret void, !dbg !180 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.67cb9ef1f8aba6f1"(i32 %self) #0 !dbg !181 { -// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %self), !dbg !184 +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.ba7abeb9eee545e2"(i32 %self) #0 !dbg !181 { +// CHECK:STDOUT: %1 = call i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %self), !dbg !184 // CHECK:STDOUT: ret i32 %1, !dbg !185 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.10ba4ab49068ea17(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !186 { -// CHECK:STDOUT: call void @"_CSome.74becf39533834ee:OptionalStorage.Core.9e376a14fbf8fb3d"(ptr %return, i32 %value), !dbg !189 +// CHECK:STDOUT: define linkonce_odr void @_CSome.Optional.Core.7e0c2c3b236f4238(ptr sret(<{ i32, i1 }>) %return, i32 %value) #0 !dbg !186 { +// CHECK:STDOUT: call void @"_CSome.74becf39533834ee:OptionalStorage.Core.e5790a708f1bcd86"(ptr %return, i32 %value), !dbg !189 // CHECK:STDOUT: ret void, !dbg !190 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CSome.74becf39533834ee:OptionalStorage.Core.b99f4a084b13a83f"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !191 { +// CHECK:STDOUT: define linkonce_odr void @"_CSome.74becf39533834ee:OptionalStorage.Core.694f9f022249e533"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !191 { // CHECK:STDOUT: %value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 0, !dbg !194 // CHECK:STDOUT: store i32 %self, ptr %value, align 4, !dbg !194 // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 1, !dbg !195 @@ -334,15 +334,15 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056"(i32 %self) #0 !dbg !197 { +// CHECK:STDOUT: define linkonce_odr i32 @"_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044"(i32 %self) #0 !dbg !197 { // CHECK:STDOUT: %1 = call i32 @"_CAsInt.Int.9452f4c51951679b.Core:AnyInt.Core.be1e879c1ad406d8"(i32 %self), !dbg !203 // CHECK:STDOUT: ret i32 %1, !dbg !204 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CSome.74becf39533834ee:OptionalStorage.Core.9e376a14fbf8fb3d"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !205 { +// CHECK:STDOUT: define linkonce_odr void @"_CSome.74becf39533834ee:OptionalStorage.Core.e5790a708f1bcd86"(ptr sret(<{ i32, i1 }>) %return, i32 %self) #0 !dbg !205 { // CHECK:STDOUT: %value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 0, !dbg !208 -// CHECK:STDOUT: %1 = call i32 @"_COp.a7c16f707f533a23:Copy.Core.5bd8d5767580997a"(i32 %self), !dbg !209 +// CHECK:STDOUT: %1 = call i32 @"_COp.a7c16f707f533a23:Copy.Core.4d6ceefeb7f772f4"(i32 %self), !dbg !209 // CHECK:STDOUT: store i32 %1, ptr %value, align 4, !dbg !208 // CHECK:STDOUT: %has_value = getelementptr inbounds nuw <{ i32, i1 }>, ptr %return, i32 0, i32 1, !dbg !210 // CHECK:STDOUT: store i8 1, ptr %has_value, align 1, !dbg !210 @@ -355,16 +355,16 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i32 @"_COp.a7c16f707f533a23:Copy.Core.5bd8d5767580997a"(i32 %self) #0 !dbg !216 { +// CHECK:STDOUT: define linkonce_odr i32 @"_COp.a7c16f707f533a23:Copy.Core.4d6ceefeb7f772f4"(i32 %self) #0 !dbg !216 { // CHECK:STDOUT: ret i32 %self, !dbg !220 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; uselistorder directives -// CHECK:STDOUT: uselistorder ptr @"_COp.e4f21bad0eaa3975:core.Destroy.Core", { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @"_COp.5936a34a9de73516:core.Destroy.Core", { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @"_COp.c0a4c74c980b26e9:core.Destroy.Core", { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @"_COp.7701acd9580ce33b:core.Destroy.Core", { 1, 0 } -// CHECK:STDOUT: uselistorder ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c80de46a2f7d8c8a", { 0, 1, 3, 2 } +// CHECK:STDOUT: uselistorder ptr @"_COp.c889d0befebd8c36:core.Destroy.Core", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_COp.41d662bef4232c09:core.Destroy.Core", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_COp.9b789c86e8f82032:core.Destroy.Core", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_COp.10babb043e8810ee:core.Destroy.Core", { 1, 0 } +// CHECK:STDOUT: uselistorder ptr @"_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c96d3acaa6fb5a6e", { 0, 1, 3, 2 } // CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 8, 7, 6, 5, 4, 3, 2, 1 } // CHECK:STDOUT: // CHECK:STDOUT: attributes #0 = { nounwind } @@ -430,15 +430,15 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: !54 = !{!55} // CHECK:STDOUT: !55 = !DILocalVariable(arg: 1, scope: !53, type: !14) // CHECK:STDOUT: !56 = !DILocation(line: 18, column: 3, scope: !53) -// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "Op", linkageName: "_COp.4352d4717a4da3c5:core.Destroy.Core", scope: null, file: !1, line: 18, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !58) +// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "Op", linkageName: "_COp.2333d03636706f32:core.Destroy.Core", scope: null, file: !1, line: 18, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !58) // CHECK:STDOUT: !58 = !{!59} // CHECK:STDOUT: !59 = !DILocalVariable(arg: 1, scope: !57, type: !14) // CHECK:STDOUT: !60 = !DILocation(line: 18, column: 3, scope: !57) -// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "Op", linkageName: "_COp.e4f21bad0eaa3975:core.Destroy.Core", scope: null, file: !1, line: 18, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !62) +// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "Op", linkageName: "_COp.c889d0befebd8c36:core.Destroy.Core", scope: null, file: !1, line: 18, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !62) // CHECK:STDOUT: !62 = !{!63} // CHECK:STDOUT: !63 = !DILocalVariable(arg: 1, scope: !61, type: !14) // CHECK:STDOUT: !64 = !DILocation(line: 18, column: 3, scope: !61) -// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "Op", linkageName: "_COp.5936a34a9de73516:core.Destroy.Core", scope: null, file: !1, line: 18, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !66) +// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "Op", linkageName: "_COp.41d662bef4232c09:core.Destroy.Core", scope: null, file: !1, line: 18, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !66) // CHECK:STDOUT: !66 = !{!67} // CHECK:STDOUT: !67 = !DILocalVariable(arg: 1, scope: !65, type: !14) // CHECK:STDOUT: !68 = !DILocation(line: 18, column: 3, scope: !65) @@ -454,73 +454,73 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: !78 = !{!79} // CHECK:STDOUT: !79 = !DILocalVariable(arg: 1, scope: !77, type: !14) // CHECK:STDOUT: !80 = !DILocation(line: 16, column: 3, scope: !77) -// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "Op", linkageName: "_COp.36bd54c278c044c5:core.Destroy.Core", scope: null, file: !1, line: 16, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !82) +// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "Op", linkageName: "_COp.2cdd3a22ec59b112:core.Destroy.Core", scope: null, file: !1, line: 16, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !82) // CHECK:STDOUT: !82 = !{!83} // CHECK:STDOUT: !83 = !DILocalVariable(arg: 1, scope: !81, type: !14) // CHECK:STDOUT: !84 = !DILocation(line: 16, column: 3, scope: !81) -// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "Op", linkageName: "_COp.c0a4c74c980b26e9:core.Destroy.Core", scope: null, file: !1, line: 16, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !86) +// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "Op", linkageName: "_COp.9b789c86e8f82032:core.Destroy.Core", scope: null, file: !1, line: 16, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !86) // CHECK:STDOUT: !86 = !{!87} // CHECK:STDOUT: !87 = !DILocalVariable(arg: 1, scope: !85, type: !14) // CHECK:STDOUT: !88 = !DILocation(line: 16, column: 3, scope: !85) -// CHECK:STDOUT: !89 = distinct !DISubprogram(name: "Op", linkageName: "_COp.7701acd9580ce33b:core.Destroy.Core", scope: null, file: !1, line: 16, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !90) +// CHECK:STDOUT: !89 = distinct !DISubprogram(name: "Op", linkageName: "_COp.10babb043e8810ee:core.Destroy.Core", scope: null, file: !1, line: 16, type: !40, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !90) // CHECK:STDOUT: !90 = !{!91} // CHECK:STDOUT: !91 = !DILocalVariable(arg: 1, scope: !89, type: !14) // CHECK:STDOUT: !92 = !DILocation(line: 16, column: 3, scope: !89) -// CHECK:STDOUT: !93 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.a178e00adf2b1ac3", scope: null, file: !94, line: 36, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !95) +// CHECK:STDOUT: !93 = distinct !DISubprogram(name: "HasValue", linkageName: "_CHasValue.Optional.Core.6e9e957697159b53", scope: null, file: !94, line: 36, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !95) // CHECK:STDOUT: !94 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !95 = !{!96} // CHECK:STDOUT: !96 = !DILocalVariable(arg: 1, scope: !93, type: !14) // CHECK:STDOUT: !97 = !DILocation(line: 37, column: 12, scope: !93) // CHECK:STDOUT: !98 = !DILocation(line: 37, column: 5, scope: !93) -// CHECK:STDOUT: !99 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.a178e00adf2b1ac3", scope: null, file: !94, line: 39, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !100) +// CHECK:STDOUT: !99 = distinct !DISubprogram(name: "Get", linkageName: "_CGet.Optional.Core.6e9e957697159b53", scope: null, file: !94, line: 39, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !100) // CHECK:STDOUT: !100 = !{!101} // CHECK:STDOUT: !101 = !DILocalVariable(arg: 1, scope: !99, type: !14) // CHECK:STDOUT: !102 = !DILocation(line: 40, column: 12, scope: !99) // CHECK:STDOUT: !103 = !DILocation(line: 40, column: 5, scope: !99) -// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c80de46a2f7d8c8a", scope: null, file: !94, line: 105, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !107) +// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.c96d3acaa6fb5a6e", scope: null, file: !94, line: 105, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !107) // CHECK:STDOUT: !105 = !DISubroutineType(types: !106) // CHECK:STDOUT: !106 = !{!14, !7} // CHECK:STDOUT: !107 = !{!108} // CHECK:STDOUT: !108 = !DILocalVariable(arg: 1, scope: !104, type: !7) // CHECK:STDOUT: !109 = !DILocation(line: 106, column: 12, scope: !104) // CHECK:STDOUT: !110 = !DILocation(line: 106, column: 5, scope: !104) -// CHECK:STDOUT: !111 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.3fe596de6d78cc18", scope: null, file: !94, line: 30, type: !112, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !111 = distinct !DISubprogram(name: "None", linkageName: "_CNone.Optional.Core.906a4009849fb1ba", scope: null, file: !94, line: 30, type: !112, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !112 = !DISubroutineType(types: !113) // CHECK:STDOUT: !113 = !{!14} // CHECK:STDOUT: !114 = !DILocation(line: 31, column: 12, scope: !111) // CHECK:STDOUT: !115 = !DILocation(line: 31, column: 5, scope: !111) -// CHECK:STDOUT: !116 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.38e32d43dc7cfd5b", scope: null, file: !117, line: 43, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !118) +// CHECK:STDOUT: !116 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.f2690ea369d3e07d", scope: null, file: !117, line: 43, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !118) // CHECK:STDOUT: !117 = !DIFile(filename: "{{.*}}/prelude/operators/as.carbon", directory: "") // CHECK:STDOUT: !118 = !{!119} // CHECK:STDOUT: !119 = !DILocalVariable(arg: 1, scope: !116, type: !7) // CHECK:STDOUT: !120 = !DILocation(line: 43, column: 40, scope: !116) // CHECK:STDOUT: !121 = !DILocation(line: 43, column: 33, scope: !116) -// CHECK:STDOUT: !122 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.54b48a1b77992252", scope: null, file: !94, line: 105, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !123) +// CHECK:STDOUT: !122 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.538322f9fda4254f:ImplicitAs.a276ba298c70ba87.Core.41ad44ef701deae9", scope: null, file: !94, line: 105, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !123) // CHECK:STDOUT: !123 = !{!124} // CHECK:STDOUT: !124 = !DILocalVariable(arg: 1, scope: !122, type: !7) // CHECK:STDOUT: !125 = !DILocation(line: 106, column: 12, scope: !122) // CHECK:STDOUT: !126 = !DILocation(line: 106, column: 5, scope: !122) -// CHECK:STDOUT: !127 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.a60bd9aae3592264", scope: null, file: !117, line: 43, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !128) +// CHECK:STDOUT: !127 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.19b31b2c090374a4", scope: null, file: !117, line: 43, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !128) // CHECK:STDOUT: !128 = !{!129} // CHECK:STDOUT: !129 = !DILocalVariable(arg: 1, scope: !127, type: !7) // CHECK:STDOUT: !130 = !DILocation(line: 43, column: 40, scope: !127) // CHECK:STDOUT: !131 = !DILocation(line: 43, column: 33, scope: !127) -// CHECK:STDOUT: !132 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.38e32d43dc7cfd5b", scope: null, file: !117, line: 47, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !133) +// CHECK:STDOUT: !132 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.f2690ea369d3e07d", scope: null, file: !117, line: 47, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !133) // CHECK:STDOUT: !133 = !{!134} // CHECK:STDOUT: !134 = !DILocalVariable(arg: 1, scope: !132, type: !7) // CHECK:STDOUT: !135 = !DILocation(line: 47, column: 34, scope: !132) // CHECK:STDOUT: !136 = !DILocation(line: 47, column: 27, scope: !132) -// CHECK:STDOUT: !137 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.7483ac848a4d5a2d", scope: null, file: !117, line: 47, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !138) +// CHECK:STDOUT: !137 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.4dfd69358d1a2477", scope: null, file: !117, line: 47, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !138) // CHECK:STDOUT: !138 = !{!139} // CHECK:STDOUT: !139 = !DILocalVariable(arg: 1, scope: !137, type: !7) // CHECK:STDOUT: !140 = !DILocation(line: 47, column: 34, scope: !137) // CHECK:STDOUT: !141 = !DILocation(line: 47, column: 27, scope: !137) -// CHECK:STDOUT: !142 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.a60bd9aae3592264", scope: null, file: !117, line: 47, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !143) +// CHECK:STDOUT: !142 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.19b31b2c090374a4", scope: null, file: !117, line: 47, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !143) // CHECK:STDOUT: !143 = !{!144} // CHECK:STDOUT: !144 = !DILocalVariable(arg: 1, scope: !142, type: !7) // CHECK:STDOUT: !145 = !DILocation(line: 47, column: 34, scope: !142) // CHECK:STDOUT: !146 = !DILocation(line: 47, column: 27, scope: !142) -// CHECK:STDOUT: !147 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.4cee0544fa4962a3", scope: null, file: !117, line: 47, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !148) +// CHECK:STDOUT: !147 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.c18e58a62bf591fb:ImplicitAs.eb057aa32837c84e.Core.f9ede611c58359e6", scope: null, file: !117, line: 47, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !148) // CHECK:STDOUT: !148 = !{!149} // CHECK:STDOUT: !149 = !DILocalVariable(arg: 1, scope: !147, type: !7) // CHECK:STDOUT: !150 = !DILocation(line: 47, column: 34, scope: !147) @@ -535,42 +535,42 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: !159 = !{!160} // CHECK:STDOUT: !160 = !DILocalVariable(arg: 1, scope: !158, type: !14) // CHECK:STDOUT: !161 = !DILocation(line: 176, column: 5, scope: !158) -// CHECK:STDOUT: !162 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.3fe596de6d78cc18", scope: null, file: !94, line: 80, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !163) +// CHECK:STDOUT: !162 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.9fdaf39d07a1dc4e:OptionalAs.24b7347a93330e68.Core.906a4009849fb1ba", scope: null, file: !94, line: 80, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !163) // CHECK:STDOUT: !163 = !{!164} // CHECK:STDOUT: !164 = !DILocalVariable(arg: 1, scope: !162, type: !7) // CHECK:STDOUT: !165 = !DILocation(line: 81, column: 12, scope: !162) // CHECK:STDOUT: !166 = !DILocation(line: 81, column: 5, scope: !162) -// CHECK:STDOUT: !167 = distinct !DISubprogram(name: "None", linkageName: "_CNone.74becf39533834ee:OptionalStorage.Core.b99f4a084b13a83f", scope: null, file: !94, line: 125, type: !112, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !167 = distinct !DISubprogram(name: "None", linkageName: "_CNone.74becf39533834ee:OptionalStorage.Core.694f9f022249e533", scope: null, file: !94, line: 125, type: !112, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !168 = !DILocation(line: 128, column: 5, scope: !167) // CHECK:STDOUT: !169 = !DILocation(line: 129, column: 5, scope: !167) -// CHECK:STDOUT: !170 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.f36795428b7f273b", scope: null, file: !94, line: 87, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !171) +// CHECK:STDOUT: !170 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.d62727437df45535:OptionalAs.1dac4564233fecd1.Core.c9c7306e533f1643", scope: null, file: !94, line: 87, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !171) // CHECK:STDOUT: !171 = !{!172} // CHECK:STDOUT: !172 = !DILocalVariable(arg: 1, scope: !170, type: !7) // CHECK:STDOUT: !173 = !DILocation(line: 88, column: 29, scope: !170) // CHECK:STDOUT: !174 = !DILocation(line: 88, column: 12, scope: !170) // CHECK:STDOUT: !175 = !DILocation(line: 88, column: 5, scope: !170) -// CHECK:STDOUT: !176 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.3fe596de6d78cc18", scope: null, file: !94, line: 33, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !177) +// CHECK:STDOUT: !176 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.906a4009849fb1ba", scope: null, file: !94, line: 33, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !177) // CHECK:STDOUT: !177 = !{!178} // CHECK:STDOUT: !178 = !DILocalVariable(arg: 1, scope: !176, type: !7) // CHECK:STDOUT: !179 = !DILocation(line: 34, column: 12, scope: !176) // CHECK:STDOUT: !180 = !DILocation(line: 34, column: 5, scope: !176) -// CHECK:STDOUT: !181 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.67cb9ef1f8aba6f1", scope: null, file: !117, line: 43, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !182) +// CHECK:STDOUT: !181 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.ef077c075a7e2432:ImplicitAs.ad22d1bbc0605210.Core.ba7abeb9eee545e2", scope: null, file: !117, line: 43, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !182) // CHECK:STDOUT: !182 = !{!183} // CHECK:STDOUT: !183 = !DILocalVariable(arg: 1, scope: !181, type: !7) // CHECK:STDOUT: !184 = !DILocation(line: 43, column: 40, scope: !181) // CHECK:STDOUT: !185 = !DILocation(line: 43, column: 33, scope: !181) -// CHECK:STDOUT: !186 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.10ba4ab49068ea17", scope: null, file: !94, line: 33, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !187) +// CHECK:STDOUT: !186 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.Optional.Core.7e0c2c3b236f4238", scope: null, file: !94, line: 33, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !187) // CHECK:STDOUT: !187 = !{!188} // CHECK:STDOUT: !188 = !DILocalVariable(arg: 1, scope: !186, type: !7) // CHECK:STDOUT: !189 = !DILocation(line: 34, column: 12, scope: !186) // CHECK:STDOUT: !190 = !DILocation(line: 34, column: 5, scope: !186) -// CHECK:STDOUT: !191 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.74becf39533834ee:OptionalStorage.Core.b99f4a084b13a83f", scope: null, file: !94, line: 131, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !192) +// CHECK:STDOUT: !191 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.74becf39533834ee:OptionalStorage.Core.694f9f022249e533", scope: null, file: !94, line: 131, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !192) // CHECK:STDOUT: !192 = !{!193} // CHECK:STDOUT: !193 = !DILocalVariable(arg: 1, scope: !191, type: !7) // CHECK:STDOUT: !194 = !DILocation(line: 137, column: 5, scope: !191) // CHECK:STDOUT: !195 = !DILocation(line: 138, column: 5, scope: !191) // CHECK:STDOUT: !196 = !DILocation(line: 139, column: 5, scope: !191) -// CHECK:STDOUT: !197 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.d58c96589a9da056", scope: null, file: !198, line: 64, type: !199, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !201) +// CHECK:STDOUT: !197 = distinct !DISubprogram(name: "Convert", linkageName: "_CConvert.45e1f8de18643ddf:ImplicitAs.0bc6489996802dd4.Core.bb469f8924cce044", scope: null, file: !198, line: 64, type: !199, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !201) // CHECK:STDOUT: !198 = !DIFile(filename: "{{.*}}/prelude/types/int.carbon", directory: "") // CHECK:STDOUT: !199 = !DISubroutineType(types: !200) // CHECK:STDOUT: !200 = !{!7, !7} @@ -578,7 +578,7 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: !202 = !DILocalVariable(arg: 1, scope: !197, type: !7) // CHECK:STDOUT: !203 = !DILocation(line: 66, column: 17, scope: !197) // CHECK:STDOUT: !204 = !DILocation(line: 66, column: 5, scope: !197) -// CHECK:STDOUT: !205 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.74becf39533834ee:OptionalStorage.Core.9e376a14fbf8fb3d", scope: null, file: !94, line: 131, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !206) +// CHECK:STDOUT: !205 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.74becf39533834ee:OptionalStorage.Core.e5790a708f1bcd86", scope: null, file: !94, line: 131, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !206) // CHECK:STDOUT: !206 = !{!207} // CHECK:STDOUT: !207 = !DILocalVariable(arg: 1, scope: !205, type: !7) // CHECK:STDOUT: !208 = !DILocation(line: 137, column: 5, scope: !205) @@ -589,7 +589,7 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: !213 = !{!214} // CHECK:STDOUT: !214 = !DILocalVariable(arg: 1, scope: !212, type: !7) // CHECK:STDOUT: !215 = !DILocation(line: 59, column: 28, scope: !212) -// CHECK:STDOUT: !216 = distinct !DISubprogram(name: "Op", linkageName: "_COp.a7c16f707f533a23:Copy.Core.5bd8d5767580997a", scope: null, file: !217, line: 23, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !218) +// CHECK:STDOUT: !216 = distinct !DISubprogram(name: "Op", linkageName: "_COp.a7c16f707f533a23:Copy.Core.4d6ceefeb7f772f4", scope: null, file: !217, line: 23, type: !105, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !218) // CHECK:STDOUT: !217 = !DIFile(filename: "{{.*}}/prelude/copy.carbon", directory: "") // CHECK:STDOUT: !218 = !{!219} // CHECK:STDOUT: !219 = !DILocalVariable(arg: 1, scope: !216, type: !7) @@ -610,33 +610,33 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define void @_CF.Main(ptr sret({ {}, i1 }) %return, ptr %c) #0 !dbg !11 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @"_COp.Optional.24b7347a93330e68.Core:Copy.Core.70d8983fe2da0502"(ptr %return, ptr %c), !dbg !16 +// CHECK:STDOUT: call void @"_COp.Optional.24b7347a93330e68.Core:Copy.Core.b16495584c7c5967"(ptr %return, ptr %c), !dbg !16 // CHECK:STDOUT: ret void, !dbg !17 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_COp.Optional.24b7347a93330e68.Core:Copy.Core.70d8983fe2da0502"(ptr sret({ {}, i1 }) %return, ptr %self) #0 !dbg !18 { -// CHECK:STDOUT: call void @"_CCopy.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6"(ptr %return, ptr %self), !dbg !22 +// CHECK:STDOUT: define linkonce_odr void @"_COp.Optional.24b7347a93330e68.Core:Copy.Core.b16495584c7c5967"(ptr sret({ {}, i1 }) %return, ptr %self) #0 !dbg !18 { +// CHECK:STDOUT: call void @"_CCopy.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9"(ptr %return, ptr %self), !dbg !22 // CHECK:STDOUT: ret void, !dbg !23 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CCopy.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6"(ptr sret({ {}, i1 }) %return, ptr %value) #0 !dbg !24 { -// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6"(ptr %value), !dbg !27 +// CHECK:STDOUT: define linkonce_odr void @"_CCopy.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9"(ptr sret({ {}, i1 }) %return, ptr %value) #0 !dbg !24 { +// CHECK:STDOUT: %1 = call i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9"(ptr %value), !dbg !27 // CHECK:STDOUT: br i1 %1, label %2, label %3, !dbg !28 // CHECK:STDOUT: // CHECK:STDOUT: 2: ; preds = %0 // CHECK:STDOUT: %value1 = getelementptr inbounds nuw { {}, i1 }, ptr %value, i32 0, i32 0, !dbg !29 -// CHECK:STDOUT: call void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6"(ptr %return, ptr %value1), !dbg !30 +// CHECK:STDOUT: call void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9"(ptr %return, ptr %value1), !dbg !30 // CHECK:STDOUT: ret void, !dbg !31 // CHECK:STDOUT: // CHECK:STDOUT: 3: ; preds = %0 -// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6"(ptr %return), !dbg !32 +// CHECK:STDOUT: call void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9"(ptr %return), !dbg !32 // CHECK:STDOUT: ret void, !dbg !33 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6"(ptr %value) #0 !dbg !34 { +// CHECK:STDOUT: define linkonce_odr i1 @"_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9"(ptr %value) #0 !dbg !34 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw { {}, i1 }, ptr %value, i32 0, i32 1, !dbg !37 // CHECK:STDOUT: %1 = load i8, ptr %has_value, align 1, !dbg !37 // CHECK:STDOUT: %2 = trunc i8 %1 to i1, !dbg !37 @@ -644,7 +644,7 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6"(ptr sret({ {}, i1 }) %return, ptr %self) #0 !dbg !39 { +// CHECK:STDOUT: define linkonce_odr void @"_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9"(ptr sret({ {}, i1 }) %return, ptr %self) #0 !dbg !39 { // CHECK:STDOUT: %value = getelementptr inbounds nuw { {}, i1 }, ptr %return, i32 0, i32 0, !dbg !42 // CHECK:STDOUT: call void @"_COp.Copyable.Main:Copy.Core"(ptr %value, ptr %self), !dbg !43 // CHECK:STDOUT: %has_value = getelementptr inbounds nuw { {}, i1 }, ptr %return, i32 0, i32 1, !dbg !44 @@ -653,7 +653,7 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6"(ptr sret({ {}, i1 }) %return) #0 !dbg !46 { +// CHECK:STDOUT: define linkonce_odr void @"_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9"(ptr sret({ {}, i1 }) %return) #0 !dbg !46 { // CHECK:STDOUT: %has_value = getelementptr inbounds nuw { {}, i1 }, ptr %return, i32 0, i32 1, !dbg !49 // CHECK:STDOUT: store i8 0, ptr %has_value, align 1, !dbg !49 // CHECK:STDOUT: ret void, !dbg !50 @@ -682,13 +682,13 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: !15 = !DILocalVariable(arg: 1, scope: !11, type: !7) // CHECK:STDOUT: !16 = !DILocation(line: 11, column: 10, scope: !11) // CHECK:STDOUT: !17 = !DILocation(line: 11, column: 3, scope: !11) -// CHECK:STDOUT: !18 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Optional.24b7347a93330e68.Core:Copy.Core.70d8983fe2da0502", scope: null, file: !19, line: 50, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !20) +// CHECK:STDOUT: !18 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Optional.24b7347a93330e68.Core:Copy.Core.b16495584c7c5967", scope: null, file: !19, line: 50, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !20) // CHECK:STDOUT: !19 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !20 = !{!21} // CHECK:STDOUT: !21 = !DILocalVariable(arg: 1, scope: !18, type: !7) // CHECK:STDOUT: !22 = !DILocation(line: 51, column: 12, scope: !18) // CHECK:STDOUT: !23 = !DILocation(line: 51, column: 5, scope: !18) -// CHECK:STDOUT: !24 = distinct !DISubprogram(name: "Copy", linkageName: "_CCopy.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6", scope: null, file: !19, line: 147, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !25) +// CHECK:STDOUT: !24 = distinct !DISubprogram(name: "Copy", linkageName: "_CCopy.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9", scope: null, file: !19, line: 147, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !25) // CHECK:STDOUT: !25 = !{!26} // CHECK:STDOUT: !26 = !DILocalVariable(arg: 1, scope: !24, type: !7) // CHECK:STDOUT: !27 = !DILocation(line: 148, column: 9, scope: !24) @@ -698,19 +698,19 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: !31 = !DILocation(line: 149, column: 7, scope: !24) // CHECK:STDOUT: !32 = !DILocation(line: 151, column: 14, scope: !24) // CHECK:STDOUT: !33 = !DILocation(line: 151, column: 7, scope: !24) -// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6", scope: null, file: !19, line: 141, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !35) +// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "Has", linkageName: "_CHas.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9", scope: null, file: !19, line: 141, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !35) // CHECK:STDOUT: !35 = !{!36} // CHECK:STDOUT: !36 = !DILocalVariable(arg: 1, scope: !34, type: !7) // CHECK:STDOUT: !37 = !DILocation(line: 142, column: 12, scope: !34) // CHECK:STDOUT: !38 = !DILocation(line: 142, column: 5, scope: !34) -// CHECK:STDOUT: !39 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6", scope: null, file: !19, line: 131, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !40) +// CHECK:STDOUT: !39 = distinct !DISubprogram(name: "Some", linkageName: "_CSome.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9", scope: null, file: !19, line: 131, type: !12, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !40) // CHECK:STDOUT: !40 = !{!41} // CHECK:STDOUT: !41 = !DILocalVariable(arg: 1, scope: !39, type: !7) // CHECK:STDOUT: !42 = !DILocation(line: 137, column: 5, scope: !39) // CHECK:STDOUT: !43 = !DILocation(line: 137, column: 28, scope: !39) // CHECK:STDOUT: !44 = !DILocation(line: 138, column: 5, scope: !39) // CHECK:STDOUT: !45 = !DILocation(line: 139, column: 5, scope: !39) -// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.49fa0e4cc21a3ef6", scope: null, file: !19, line: 125, type: !47, spFlags: DISPFlagDefinition, unit: !0) +// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "None", linkageName: "_CNone.5d6f3f3a4b44a8f1:OptionalStorage.Core.383894a66fd982a9", scope: null, file: !19, line: 125, type: !47, spFlags: DISPFlagDefinition, unit: !0) // CHECK:STDOUT: !47 = !DISubroutineType(types: !48) // CHECK:STDOUT: !48 = !{!7} // CHECK:STDOUT: !49 = !DILocation(line: 128, column: 5, scope: !46) @@ -723,12 +723,12 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: ; Function Attrs: nounwind // CHECK:STDOUT: define ptr @_CF.Main(ptr %c) #0 !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %Optional.as.Copy.impl.Op.call = call ptr @"_COp.Optional.24b7347a93330e68.Core:Copy.Core.2631c8a149ddad77"(ptr %c), !dbg !10 +// CHECK:STDOUT: %Optional.as.Copy.impl.Op.call = call ptr @"_COp.Optional.24b7347a93330e68.Core:Copy.Core.3e2e92aa38469608"(ptr %c), !dbg !10 // CHECK:STDOUT: ret ptr %Optional.as.Copy.impl.Op.call, !dbg !11 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: nounwind -// CHECK:STDOUT: define linkonce_odr ptr @"_COp.Optional.24b7347a93330e68.Core:Copy.Core.2631c8a149ddad77"(ptr %self) #0 !dbg !12 { +// CHECK:STDOUT: define linkonce_odr ptr @"_COp.Optional.24b7347a93330e68.Core:Copy.Core.3e2e92aa38469608"(ptr %self) #0 !dbg !12 { // CHECK:STDOUT: ret ptr %self, !dbg !16 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -749,7 +749,7 @@ fn F(c: Core.Optional(C*)) -> Core.Optional(C*) { // CHECK:STDOUT: !9 = !DILocalVariable(arg: 1, scope: !4, type: !7) // CHECK:STDOUT: !10 = !DILocation(line: 6, column: 10, scope: !4) // CHECK:STDOUT: !11 = !DILocation(line: 6, column: 3, scope: !4) -// CHECK:STDOUT: !12 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Optional.24b7347a93330e68.Core:Copy.Core.2631c8a149ddad77", scope: null, file: !13, line: 50, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !14) +// CHECK:STDOUT: !12 = distinct !DISubprogram(name: "Op", linkageName: "_COp.Optional.24b7347a93330e68.Core:Copy.Core.3e2e92aa38469608", scope: null, file: !13, line: 50, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !14) // CHECK:STDOUT: !13 = !DIFile(filename: "{{.*}}/prelude/types/optional.carbon", directory: "") // CHECK:STDOUT: !14 = !{!15} // CHECK:STDOUT: !15 = !DILocalVariable(arg: 1, scope: !12, type: !7) diff --git a/toolchain/lower/testdata/var/destroy_control_flow.carbon b/toolchain/lower/testdata/var/destroy_control_flow.carbon index 6dacf8577eff..c4bd00fdb3e6 100644 --- a/toolchain/lower/testdata/var/destroy_control_flow.carbon +++ b/toolchain/lower/testdata/var/destroy_control_flow.carbon @@ -120,7 +120,7 @@ fn WhileContinue(cond: bool) { // CHECK:STDOUT: declare void @"_COp.Destructible.Main:Destroy.Core"(ptr) // CHECK:STDOUT: // CHECK:STDOUT: ; Function Attrs: alwaysinline nounwind -// CHECK:STDOUT: define weak_odr void @"_COp:thunk:Destroy.25364816f7046881.Core:Destructible.Main:Destroy.Core"(ptr %self) #0 !dbg !4 { +// CHECK:STDOUT: define weak_odr void @"_COp:thunk:Destroy.3fda586d04e243ea.Core:Destructible.Main:Destroy.Core"(ptr %self) #0 !dbg !4 { // CHECK:STDOUT: entry: // CHECK:STDOUT: call void @"_COp.Destructible.Main:Destroy.Core"(ptr %self), !dbg !10 // CHECK:STDOUT: ret void, !dbg !10 @@ -137,7 +137,7 @@ fn WhileContinue(cond: bool) { // CHECK:STDOUT: !1 = !DIFile(filename: "destructible.carbon", directory: "") // CHECK:STDOUT: !2 = !{i32 7, !"Dwarf Version", i32 5} // CHECK:STDOUT: !3 = !{i32 2, !"Debug Info Version", i32 3} -// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:Destroy.25364816f7046881.Core:Destructible.Main:Destroy.Core", scope: null, file: !1, line: 7, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !8) +// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "Op", linkageName: "_COp:thunk:Destroy.3fda586d04e243ea.Core:Destructible.Main:Destroy.Core", scope: null, file: !1, line: 7, type: !5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !8) // CHECK:STDOUT: !5 = !DISubroutineType(types: !6) // CHECK:STDOUT: !6 = !{null, !7} // CHECK:STDOUT: !7 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64) diff --git a/toolchain/sem_ir/inst_fingerprinter.cpp b/toolchain/sem_ir/inst_fingerprinter.cpp index 940e71ceca3a..19f95f79f683 100644 --- a/toolchain/sem_ir/inst_fingerprinter.cpp +++ b/toolchain/sem_ir/inst_fingerprinter.cpp @@ -745,8 +745,14 @@ struct Worklist { Add(inst.type_id()); } - AddWithKind(inst.arg0_and_kind()); - AddWithKind(inst.arg1_and_kind()); + // TODO: change `ImplWitnessTable::elements_id` type with a new type whose + // value is not a part of the identity of the instruction. + if (auto impl_witness_table = inst.TryAs()) { + Add(impl_witness_table->impl_id); + } else { + AddWithKind(inst.arg0_and_kind()); + AddWithKind(inst.arg1_and_kind()); + } // If we didn't add any work, we have a fingerprint for this instruction; // pop it from the todo list. Otherwise, we leave it on the todo list so